Affichages texture (Direct3D 10)

Dans Direct3D 10, les ressources de texture sont accessibles avec une vue, qui est un mécanisme d’interprétation matérielle d’une ressource en mémoire. Une vue permet à une étape de pipeline particulière d’accéder uniquement aux sous-ressources dont elle a besoin, dans la représentation souhaitée par l’application.

Une vue prend en charge la notion de ressource sans type. Une ressource sans type est une ressource créée avec une taille spécifique, mais pas un type de données spécifique. Les données sont interprétées dynamiquement lorsqu’elles sont liées au pipeline.

L’illustration suivante montre un exemple de liaison d’un tableau de textures 2D avec 6 textures en tant que ressource de nuanceur en créant une vue de ressource de nuanceur pour celui-ci. La ressource est ensuite traitée sous la forme d’un tableau de textures. (Remarque : une sous-ressource ne peut pas être liée simultanément en tant qu’entrée et sortie au pipeline.)

illustration d’un tableau de textures avec six textures

Lorsque vous utilisez un tableau de textures 2D comme cible de rendu, la ressource peut être affichée comme un tableau de textures 2D (6 dans cet exemple) avec des niveaux mipmap (3 dans cet exemple).

Créez un objet d’affichage pour une cible de rendu en appelant CreateRenderTargetView. Appelez ensuite OMSetRenderTargets pour définir la vue cible de rendu sur le pipeline. Effectuez un rendu dans les cibles de rendu en appelant Draw et en utilisant RenderTargetArrayIndex pour l’indexer dans la texture appropriée dans le tableau. Vous pouvez utiliser une sous-ressource (un niveau mipmap, une combinaison d’index de tableau) pour lier à n’importe quel tableau de sous-ressources. Vous pouvez donc lier au deuxième niveau mipmap et mettre à jour ce niveau mipmap particulier uniquement si vous le souhaitez, comme dans l’illustration suivante.

illustration de la liaison uniquement au deuxième niveau mipmap d’un tableau de textures

Différences entre Direct3D 9 et Direct3D 10 :

  • Dans Direct3D 10, vous ne liez plus une ressource directement au pipeline, vous créez une vue d’une ressource, puis définissez la vue sur le pipeline. Cela permet la validation et le mappage dans le runtime et le pilote de se produire lors de la création de l’affichage, ce qui réduit la vérification de type au moment de la liaison.

 

Ressources (Direct3D 10)