Puffertyp
Verwenden Sie die folgende Syntax, um eine Puffervariable zu deklarieren.
| Puffer< > Typname; |
|---|
Parameter
-
Puffer
-
Erforderliches Schlüsselwort.
-
Typ
-
Einer der Skalar-, Vektor-und einige Matrix-HLSL-Typen. Sie können eine Puffervariable mit einer Matrix deklarieren, solange sie in 4 32-Bit-Mengen passt. Sie können also
Buffer<float2x2>schreiben. Ist jedochBuffer<float4x4>zu groß, und der Compiler generiert einen Fehler. -
Namen
-
Eine ASCII-Zeichenfolge, die den Variablennamen eindeutig identifiziert.
Beispiel
Hier sehen Sie ein Beispiel für eine Pufferdeklaration aus der Datei PipesGS.fx im PipesGS-Beispiel.
Buffer<float4> g_Buffer;
Daten werden aus einem Puffer mithilfe einer überladenen Version der systeminternen HlSL-Funktion Load gelesen, die einen Eingabeparameter (einen ganzzahligen Index) akzeptiert. Auf einen Puffer wird wie auf ein Array von Elementen zugegriffen. daher liest dieses Beispiel das zweite Element.
float4 bufferData = g_Buffer.Load( 1 );
Verwenden Sie die Streamausgabephase, um Daten in einen Puffer auszugeben.