Compartir a través de


Stream-Output (objeto)

Un objeto stream-output es un objeto con plantilla que transmite datos fuera de la fase del sombreador de geometría. Use la sintaxis siguiente para declarar un objeto stream-output.

inout StreamOutputObject<DataType>Name;

 

Parámetros

StreamOutputObject<Datatype>Nombre

Declaración del objeto stream-output (SO).

tipos de objetos Stream-Output Descripción
PointStream 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ángulo cuyos datos se definen mediante la estructura de 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.

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
Append Anexar datos de salida a una secuencia existente.
RestartStrip Finalice la franja primitiva actual e inicie una nueva tira primitiva.

 

Modelo de sombreador mínimo

Este objeto se admite en los siguientes modelos de sombreador.

Modelo de sombreador Compatible
Modelo de sombreador 4 y modelos de sombreador superiores

 

Modelo de sombreador 4