Sous-ressources (Graphiques Direct3D 11)

Cette rubrique décrit les sous-ressources de texture ou les parties d’une ressource.

Direct3D peut référencer une ressource entière ou référencer des sous-ensembles d’une ressource. Le terme sous-ressource fait référence à un sous-ensemble d’une ressource.

Une mémoire tampon est définie en tant que sous-ressource unique. Les textures sont un peu plus compliquées, car il existe plusieurs types de texture différents (1D, 2D, etc.) dont certains prennent en charge les niveaux de mipmap et/ou les tableaux de textures. À partir du cas le plus simple, une texture 1D est définie comme une sous-ressource unique, comme illustré dans l’illustration suivante.

illustration d’une texture 1d

Cela signifie que le tableau de texels qui composent une texture 1D est contenu dans une seule sous-ressource.

Si vous développez une texture 1D avec trois niveaux mipmap, vous pouvez la visualiser comme dans l’illustration suivante.

illustration d’une texture 1d avec trois niveaux mipmap

Considérez cela comme une texture unique composée de trois sous-ressources. Une sous-ressource peut être indexée à l’aide du niveau de détail (LOD) pour une texture unique. Lors de l’utilisation d’un tableau de textures, l’accès à une sous-ressource particulière nécessite à la fois le LOD et la texture particulière. L’API combine également ces deux informations en un seul index de sous-ressource de base zéro, comme illustré dans l’illustration suivante.

illustration d’un index de sous-ressource de base zéro

Sélection de sous-ressources

Certaines API accèdent à une ressource entière (par exemple, la méthode ID3D11DeviceContext::CopyResource ), d’autres accèdent à une partie d’une ressource (par exemple, la méthode ID3D11DeviceContext::UpdateSubresource ou la méthode ID3D11DeviceContext::CopySubresourceRegion ). Les méthodes qui accèdent à une partie d’une ressource utilisent généralement une description d’affichage (telle que la structure D3D11_TEX2D_ARRAY_DSV ) pour spécifier les sous-ressources auxquelles accéder.

Les illustrations des sections suivantes montrent les termes utilisés par une description de vue lors de l’accès à un tableau de textures.

Segment de tableau

Étant donné un tableau de textures, chaque texture avec des mipmaps, une tranche de tableau (représentée par le rectangle blanc) comprend une texture et toutes ses sous-ressources, comme illustré dans l’illustration suivante.

illustration d’une tranche de tableau

Tranche Mip

Une tranche mip (représentée par le rectangle blanc) comprend un niveau mipmap pour chaque texture d’un tableau, comme illustré dans l’illustration suivante.

illustration d’une tranche mip

Sélection d’une sous-ressource unique

Vous pouvez utiliser ces deux types de tranches pour choisir une sous-ressource unique, comme illustré dans l’illustration suivante.

illustration du choix d’une sous-ressource à l’aide d’une tranche de tableau et d’une tranche mip

Sélection de plusieurs sous-ressources

Vous pouvez également utiliser ces deux types de tranches avec le nombre de niveaux de mipmap et/ou le nombre de textures, pour choisir plusieurs sous-ressources, comme illustré dans l’illustration suivante.

illustration du choix de plusieurs sous-ressources

Notes

Une vue cible de rendu ne peut utiliser qu’une seule sous-ressource ou une seule tranche mip et ne peut pas inclure de sous-ressources de plusieurs tranches mip. Autrement dit, chaque texture d’une vue cible de rendu doit avoir la même taille. Une vue nuanceur-ressource peut sélectionner n’importe quelle région rectangulaire de sous-ressources, comme illustré dans la figure.

 

Ressources