Stream-Output オブジェクト

ストリーム出力オブジェクトは、 geometry-shader ステージからデータをストリーム出力するテンプレート オブジェクトです。 ストリーム出力オブジェクトを宣言するには、次の構文を使用します。

inout StreamOutputObject<DataType>Name;

 

パラメーター

StreamOutputObject<Datatype>名前

ストリーム出力オブジェクト (SO) 宣言。

Stream-Output オブジェクト型 説明
PointStream ポイント プリミティブのシーケンス
LineStream 行プリミティブのシーケンス
TriangleStream 三角形プリミティブのシーケンス

 

DataType - 出力データ型。には、任意 の HLSL データ型を指定できます。 山かっこで囲む必要があります。

名前 - 変数名。オブジェクトを一意に識別する ASCII 文字列。

これは、データがPS_CUBEMAP_IN構造体によって定義されている三角形のプリミティブをストリーム出力オブジェクト宣言の例です。 geometry-shader は、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