Share via


Accès aux ressources

Il existe plusieurs façons d’accéder aux ressources. Quoi qu’il en soit, Direct3D garantit le retour de zéro pour toute ressource accessible hors limites.

Accéder par décalage d’octets

Deux nouveaux types de mémoire tampon sont accessibles à l’aide d’un décalage d’octets :

Accès par index

Les types de ressources peuvent utiliser un index pour référencer un emplacement spécifique dans la ressource. Examinez cet exemple :

uint2 pos;
Texture2D<float4> myTexture;
float4 myVar = myTexture[pos];

Cet exemple montre comment affecter les 4 valeurs float stockées au niveau du texel situé à la position pos dans la ressource de texture 2D myTexture à la variable myVar .

Notes

La valeur par défaut pour accéder à une texture de cette façon est le niveau mipmap zéro (le niveau le plus détaillé).

 

Notes

La ligne « float4 myVar = myTexture[pos]; » équivaut à « float4 myVar = myTexture.Load(uint3(pos,0)); ». L’accès par index est une nouvelle amélioration de la syntaxe HLSL.

 

Notes

Le compilateur de la version de juin 2010 du Kit de développement logiciel (SDK) DirectX et ultérieur vous permet d’indexer tous les types de ressources à l’exception des mémoires tampons d’adresses d’octets.

 

Notes

Le compilateur de juin 2010 et les versions ultérieures vous permettent de déclarer des variables de ressources locales. Vous pouvez affecter des ressources définies globalement (comme myTexture) à ces variables et les utiliser de la même façon que leurs équivalents globaux.

 

Access by Mips, méthode

Les objets texture ont une méthode mips (par exemple, Texture2D.mips), que vous pouvez utiliser pour spécifier le niveau mipmap. Cet exemple lit la couleur stockée à (7,16) au niveau mipmap 2 dans une texture 2D :

uint x = 7;
uint y = 16;
float4 myColor = myTexture.mips[2][uint2(x,y)];

Il s’agit d’une amélioration du compilateur de juin 2010 et des versions ultérieures. L’expression « myTexture.mips[2][uint2(x,y)] » équivaut à « myTexture.Load(uint3(x,y,2)) ».

Vue d’ensemble du nuanceur de calcul