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 |