Compartir a través de


Stream-Output (objeto)

Un objeto de salida de flujo es un objeto con plantilla que transmite datos de la fase del sombreador de geometría . Use la sintaxis siguiente para declarar un objeto de salida de flujo.

inout StreamOutputObject<DataType>Name;

 

Parámetros

StreamOutputObject<DataType>Name

Declaración del objeto de salida de flujo (SO).

tipos de objeto Stream-Output Descripción
pointStream de Secuencia de primitivos de punto
LineStream Secuencia de primitivos de línea
TriangleStream Secuencia de primitivos de triángulo

 

DataType- Tipo de datos de salida; puede ser cualquier tipo de datos HLSL . Debe estar rodeado por los corchetes angulares.

Nombre- Nombre de variable; una cadena ASCII que identifica de forma única el objeto .

Ejemplo

Este es un ejemplo de una declaración de objeto de salida de flujo que transmite primitivos de triángulos cuyos datos se definen mediante la estructura PS_CUBEMAP_IN. El sombreador de geometría se limita a generar 18 vértices.

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

Se trata de un fragmento de código del ejemplo cubeMapGS de .

Métodos de objeto Stream-Output

Use la sintaxis siguiente para llamar a los métodos stream-output-object.

Object.Method

Se implementan los métodos siguientes.

Métodos Descripción
Anexar Anexe los datos de salida a una secuencia existente.
RestartStrip Finalice la franja primitiva actual e inicie una nueva tira primitiva.

 

Modelo mínimo de sombreador

Este objeto se admite en los siguientes modelos de sombreador.

Modelo de sombreador Soportado
modelo de sombreador 4 y modelos de sombreador superiores

 

modelo de sombreador de 4