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 .
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour