ジオメトリ シェーダー オブジェクト (DirectX HLSL)
[maxvertexcount(NumVerts)] void ShaderName ( PrimitiveType DataType Name [ NumElements ], inout StreamOutputObject ); |
---|
パラメーター
[maxvertexcount(NumVerts)]
[in] 作成する頂点の最大数の宣言です。- [maxvertexcount()] - 必須のキーワードです。正しい構文とするために、山かっこと丸かっこを必ず記述します。
- NumVerts - 頂点の数を表す整数です。
ShaderName
[in] ジオメトリ シェーダー関数の一意の名前を含む ASCII 文字列。PrimitiveType DataType Name [ NumElements ]
PrimitiveType - プリミティブ型。プリミティブ データの順序を決定します。プリミティブの種類 説明 point ポイント リスト line ライン リストまたはライン ストリップ triangle トライアングル リストまたはトライアングル ストリップ lineadj 隣接性のあるライン リストまたは隣接性のあるライン ストリップ triangleadj 隣接性のあるトライアングル リストまたは隣接性のあるトライアングル ストリップ DataType - [in] 入力データ型。任意の HLSL データ型を指定できます。
Name - ASCII 文字列の引数名。引数が配列の場合は、NumElements で配列サイズを任意に指定できます。
StreamOutputObject
ストリーム出力オブジェクトの宣言。
戻り値
なし
例
次の例は、「Direct3D 10 シェーダー モデル 4.0 ワークショップ」の演習 1 から抜粋したものです。
[maxvertexcount(3)] void GSScene( triangleadj GSSceneIn input[6], inout TriangleStream<PSSceneIn> OutputStream ) { PSSceneIn output = (PSSceneIn)0; for( uint i=0; i<6; i+=2 ) { output.Pos = input[i].Pos; output.Norm = input[i].Norm; output.Tex = input[i].Tex; OutputStream.Append( output ); } OutputStream.RestartStrip(); }
最低限必要なシェーダー モデル
このオブジェクトは、次のシェーダー モデルでサポートされています。
シェーダー モデル | サポート |
---|---|
シェーダー モデル 4 以降のシェーダー モデル | ○ |