Partager via


objet Stream-Output

Un objet de sortie de flux est un objet modèle qui diffuse des données de l’étape geometry-shader. Utilisez la syntaxe suivante pour déclarer un objet de sortie de flux.

inout StreamOutputObject<DataType>Name ;

 

Paramètres

StreamOutputObject<Datatype>Nom

Déclaration d’objet de sortie de flux (SO).

types d’objets Stream-Output Description
PointStream Séquence de primitives de points
LineStream Séquence de primitives de ligne
TriangleStream Séquence de primitives triangle

 

DataType : type de données de sortie ; peut être n’importe quel type de données HLSL. Doit être entouré par les crochets d’angle.

Nom - Nom de la variable ; chaîne ASCII qui identifie de manière unique l’objet.

Exemple

Il s’agit d’un exemple de déclaration d’objet de sortie de flux qui diffuse en continu des primitives triangle dont les données sont définies par la structure PS_CUBEMAP_IN. Le nuanceur geometry est limité à la génération de 18 sommets.

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] )
{
    ...
}

Il s’agit d’un extrait de code de l’exemple CubeMapGS.

méthodes d’objet Stream-Output

Utilisez la syntaxe suivante pour appeler des méthodes stream-output-object.

Object.Method

Les méthodes suivantes sont implémentées.

Méthodes Description
Append Ajoutez des données de sortie à un flux existant.
RestartStrip Terminez la bande primitive actuelle et commencez une nouvelle bande primitive.

 

Modèle de nuanceur minimal

Cet objet est pris en charge dans les modèles de nuanceur suivants.

Modèle de nuanceur Pris en charge
Nuanceur modèle 4 et modèles de nuanceur supérieur Oui

 

Modèle de nuanceur 4