Oggetto Stream-Output
Un oggetto stream-output è un oggetto basato su modelli che trasmette i dati dalla fase geometry-shader. Usare la sintassi seguente per dichiarare un oggetto stream-output.
inout StreamOutputObject<DataType>Name; |
---|
Parametri
-
StreamOutputObject<Datatype>Nome
-
Dichiarazione so (Stream-Output Object).
Tipi di oggetto Stream-Output Descrizione PointStream Sequenza di primitive di punti LineStream Sequenza di primitive di linea TriangleStream Sequenza di primitive di triangoli DataType - Tipo di dati di output; può essere qualsiasi tipo di dati HLSL. Deve essere racchiuso tra parentesi angolari.
Name - Nome variabile; stringa ASCII che identifica in modo univoco l'oggetto.
Esempio
Questo è un esempio di dichiarazione dell'oggetto di output di flusso che trasmette le primitive di triangolo i cui dati sono definiti dalla struttura PS_CUBEMAP_IN. Il geometry-shader è limitato alla generazione di 18 vertici.
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] )
{
...
}
Si tratta di un frammento di codice dell'esempio CubeMapGS.
Metodi dell'oggetto Stream-Output
Usare la sintassi seguente per chiamare metodi stream-output-object.
Object.Method
Vengono implementati i metodi seguenti.
Metodi | Descrizione |
---|---|
Accoda | Aggiungere dati di output a un flusso esistente. |
RestartStrip | Terminare la striscia primitiva corrente e avviare una nuova striscia primitiva. |
Modello minimo shader
Questo oggetto è supportato nei modelli di shader seguenti.
Modello di shader | Supportato |
---|---|
Modello shader 4 e versioni successive dello shader | sì |
Argomenti correlati