追加 (DirectX HLSL Stream-Output 对象)

将 geometry-shader-output 数据追加到现有流。

追加 ( StreamDataType) ;

参数

说明
StreamDataType
数据输入说明。 此说明必须与名为 DataType 的流对象模板参数匹配。

返回值

示例

此代码片段 (来自 CubeMapGS 示例) 显示了将三角形带基元追加到流输出对象的部分示例。

[maxvertexcount(18)]
void GS_CubeMap( triangle GS_CUBEMAP_IN input[3], 
                 inout TriangleStream<PS_CUBEMAP_IN> CubeMapStream )
{
    for( int f = 0; f < 6; ++f )
    {
        // Compute screen coordinates
        PS_CUBEMAP_IN output;
        output.RTIndex = f;
        for( int v = 0; v < 3; v++ )
        {
            output.Pos = mul( input[v].Pos, g_mViewCM[f] );
            output.Pos = mul( output.Pos, mProj );
            output.Tex = input[v].Tex;
            CubeMapStream.Append( output );
        }
        CubeMapStream.RestartStrip();
    }
}

最小着色器模型

以下着色器模型中支持此函数。

着色器模型 支持
着色器模型 4
着色器模型 3 (DirectX HLSL)
着色器模型 2 (DirectX HLSL)
着色器模型 1 (DirectX HLSL)

Stream-Output 对象