Share via


Stream-Output 物件

stream-output 物件是樣板化物件,會將資料串流出 geometry-shader 階段。 使用下列語法來宣告資料流程輸出物件。

inout StreamOutputObject<DataType>Name;

 

參數

StreamOutputObject<DataType>名字

資料流程輸出物件 (SO) 宣告。

Stream-Output物件類型 Description
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

實作下列方法。

方法 描述
Append 將輸出資料附加至現有的資料流程。
RestartStrip 結束目前的基本等量區,並啟動新的基本等量區。

 

最小著色器模型

下列著色器模型支援此物件。

著色器模型 支援
著色器模型 4 和更新版本的著色器模型

 

著色器模型 4