Partager via


objet Stream-Output

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

inout StreamOutputObject<Nom>DataType ;

 

Paramètres

StreamOutputObject<DataType>Name

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

types d’objets Stream-Output Description
PointStream Séquence de primitives de point
LineStream Séquence de primitives de trait
TriangleStream Séquence de primitives de 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 façon unique l’objet.

Exemple

Il s’agit d’un exemple de déclaration d’objet de sortie de flux qui diffuse des primitives de 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éthode Description
ajouter Ajoutez des données de sortie à un flux existant.
restartStrip Terminez la bande primitive actuelle et démarrez 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 Supporté
modèle de nuanceur 4 et modèles de nuanceur supérieurs oui

 

modèle nuanceur 4