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 以降のシェーダー モデル | はい |
関連トピック