Objet Stream-Output

Un objet de sortie de flux est un objet basé sur un modèle qui diffuse en continu des données à partir de l' étape Geometry-Shader. Utilisez la syntaxe suivante pour déclarer un objet de sortie de flux.

INOUT StreamOutputObject < nom de type de données > ;

Paramètres

StreamOutputObject < Type de données > Nom

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 ligne
TriangleStream Une séquence de primitives de triangle

Type de données DataType -output ; peut être n’importe quel type de données HLSL. Doit être entouré des crochets pointus.

Nom-nom de la variable ; chaîne ASCII qui identifie l’objet de façon unique.

Exemple

Il s’agit d’un exemple de déclaration d’objet de sortie de flux qui diffuse en continu des primitives de triangle dont les données sont définies par l' _ carte cubique PS _ dans la structure. Le nuanceur Geometry est limité à la génération de 18 vertex.

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 d’objet de sortie de flux.

Object.Method

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

Méthodes Description
Append Ajoute des données de sortie à un flux existant.
RestartStrip Mettez fin à 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 Pris en charge
Nuancier modèle 4 et modèles de nuanceur supérieurs oui

Nuanceur modèle 4