Stream-Output-Objekt
Ein Streamausgabeobjekt ist ein vorlagenbasiertes Objekt, das Daten aus der Geometrie-Shaderstufestreamt. Verwenden Sie die folgende Syntax, um ein Streamausgabeobjekt zu deklarieren.
inout StreamOutputObject<DataType>Name; |
---|
Parameter
-
StreamOutputObject<DataType>Name
-
Die Deklaration des Streamausgabeobjekts (STREAM-Output Object, SO).
Stream-Output-Objekttypen Beschreibung PointStream- Eine Abfolge von Punktgrundtypen LineStream- Eine Abfolge von Liniengrundtypen TriangleStream- Eine Abfolge von Dreiecksgrundtypen Datentyp - Ausgabedatentyp; kann HLSL-Datentypsein. Muss von den winkeln Klammern umgeben sein.
Name - Variablenname; eine ASCII-Zeichenfolge, die das Objekt eindeutig identifiziert.
Beispiel
Dies ist ein Beispiel für eine Streamausgabeobjektdeklaration, die Dreiecksgrundtypen streamt, deren Daten durch die PS_CUBEMAP_IN-Struktur definiert werden. Der Geometrie-Shader ist auf das Generieren von 18 Scheitelpunkten beschränkt.
struct PS_CUBEMAP_IN
{
float4 Pos : SV_POSITION; // Projection coord
float2 Tex : TEXCOORD0; // Texture coord
uint RTIndex : SV_RenderTargetArrayIndex;
};
[maxvertexcount(18)]
void main( inout TriangleStream<PS_CUBEMAP_IN> CubeMapStream, triangle PS_CUBEMAP_INT[3] )
{
...
}
Dies ist ein Codeausschnitt aus dem CubeMapGS-Beispiel-.
Stream-Output-Objektmethoden
Verwenden Sie die folgende Syntax, um stream-output-object-Methoden aufzurufen.
Object.Method
Die folgenden Methoden werden implementiert.
Methodik | Beschreibung |
---|---|
anfügen | Fügen Sie Ausgabedaten an einen vorhandenen Datenstrom an. |
RestartStrip- | Beenden Sie den aktuellen Grundtypstreifen, und beginnen Sie einen neuen Grundtypstreifen. |
Minimales Shadermodell
Dieses Objekt wird in den folgenden Shadermodellen unterstützt.
Shadermodell | Abgestützt |
---|---|
Shadermodell 4 und höherer Shadermodelle | ja |
Verwandte Themen