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>. Mais Buffer<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 .

Voir aussi

Types de données (DirectX HLSL)