Type de mémoire tampon
Utilisez la syntaxe suivante pour déclarer une variable de mémoire tampon.
Nomdu type de> mémoire tampon< ; |
---|
Paramètres
-
Tampon
-
Obligatoire mot clé.
-
Type
-
Un des types scalaires, vectoriels et certains types HLSL de matrice . Vous pouvez déclarer une variable de mémoire tampon avec une matrice à condition qu’elle corresponde à 4 quantités 32 bits. Vous pouvez donc écrire
Buffer<float2x2>
. MaisBuffer<float4x4>
est trop volumineux et le compilateur génère une erreur. -
Nom
-
Chaîne ASCII qui identifie de façon unique le nom de la variable.
Exemple
Voici un exemple de déclaration de mémoire tampon.
Buffer<float4> g_Buffer;
Les données sont lues à partir d’une mémoire tampon à l’aide d’une version surchargée de la fonction intrinsèque LOAD HLSL qui prend un paramètre d’entrée (index entier). Un tampon est accessible comme un tableau d’éléments ; Par conséquent, cet exemple lit le deuxième élément.
float4 bufferData = g_Buffer.Load( 1 );
Utilisez l’étape flux-sortie pour générer des données dans une mémoire tampon.
Notes
Une vue de ressource du nuanceur de mémoire tampon (SRV) typée compatible est nécessaire pour charger correctement à partir de la mémoire tampon. La charge peut éventuellement effectuer une conversion de type, par exemple une mémoire tampon RGBA8_UNORM peut être chargée dans une float4
variable. Pour les structs de configuration de mémoire tampon, utilisez plutôt un objet StructuredBuffer .