Objeto Stream-Output
Um objeto de saída de fluxo é um objeto de modelo que transmite dados para fora do estágio de sombreador de geometria. Use a sintaxe a seguir para declarar um objeto de saída de fluxo.
Inout StreamOutputObject<DataType>Name; |
---|
Parâmetros
-
StreamOutputObject<Datatype>Nome
-
A declaração so (objeto de saída de fluxo).
Tipos de objeto Stream-Output Descrição PointStream Uma sequência de primitivos de ponto LineStream Uma sequência de primitivos de linha TriangleStream Uma sequência de primitivos de triângulo DataType – Tipo de dados de saída; pode ser qualquer tipo de dados HLSL. Deve estar entre colchetes angulares.
Nome – Nome da variável; uma cadeia de caracteres ASCII que identifica exclusivamente o objeto.
Exemplo
Este é um exemplo de uma declaração de objeto de saída de fluxo que transmite primitivos de triângulo cujos dados são definidos pela estrutura PS_CUBEMAP_IN. O sombreador de geometria é limitado à geração de 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] )
{
...
}
Este é um snippet de código do exemplo CubeMapGS.
Métodos de objeto Stream-Output
Use a sintaxe a seguir para chamar métodos stream-output-object.
Object.Method
Os métodos a seguir são implementados.
Métodos | Descrição |
---|---|
Append | Acrescente dados de saída a um fluxo existente. |
RestartStrip | Termine a faixa primitiva atual e inicie uma nova faixa primitiva. |
Modelo de sombreador mínimo
Esse objeto tem suporte nos seguintes modelos de sombreador.
Modelo de Sombreador | Com suporte |
---|---|
Modelo de sombreador 4 e modelos de sombreador superior | sim |
Tópicos relacionados