Stream-Output 对象
流输出对象是一个模板化对象,用于将数据流式传输到 几何着色器阶段。 使用以下语法声明流输出对象。
inout StreamOutputObject<DataType>名称; |
---|
参数
-
StreamOutputObject<DataType>名字
-
流输出对象 (SO) 声明。
Stream-Output 对象类型 说明 PointStream 点基元的序列 LineStream 行基元序列 TriangleStream 三角形基元的序列 DataType - 输出数据类型;可以是任何 HLSL 数据类型。 必须用尖括号括起来。
名称 - 变量名称;唯一标识对象的 ASCII 字符串。
示例
这是流输出对象声明的一个示例,该声明流式传输出其数据由 PS_CUBEMAP_IN 结构定义的三角形基元。 几何着色器仅限于生成 18 个顶点。
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] )
{
...
}
这是 CubeMapGS 示例中的代码片段。
Stream-Output 对象方法
使用以下语法调用 stream-output-object 方法。
Object.Method
实现以下方法。
方法 | 说明 |
---|---|
追加 | 将输出数据追加到现有流。 |
RestartStrip | 结束当前基元条带并启动新的基元条带。 |
最小着色器模型
以下着色器模型中支持此对象。
着色器模型 | 支持 |
---|---|
着色器模型 4 和更高着色器模型 | 是 |
相关主题