dcl_maxOutputVertexCount (sm4 - asm)
ジオメトリ シェーダーによって出力できる頂点の最大数を宣言します。
dcl_maxOutputVertexCount 数 |
---|
項目 | 説明 |
---|---|
カウント |
[入力]1 から n までの 32 ビット符号なし整数 (両端を含む)。 |
ジオメトリ シェーダーは、最大 1024 の 32 ビット値を出力できます。 この最大値には、入力データのサイズと、シェーダーによって作成されたデータのサイズが含まれます。
いくつかの制限事項を次に示します。
- ジオメトリ シェーダーの実行が完了する前に頂点の数に達すると、シェーダーは終了します。
- ジオメトリ シェーダーは、頂点を出力する前に、プログラムの最後に到達できます。これは完全に合法です。
- ジオメトリ シェーダーをデバッグする場合は、生成された出力命令の数をカウントすることで、生成された頂点の数を確認できます。
この命令は、次のシェーダー ステージに適用されます。
頂点シェーダー | ジオメトリ シェーダー | ピクセル シェーダー |
---|---|---|
x |
この命令は、アセンブリ内のシェーダーのデバッグに役立つよう含まれています。シェーダー モデル 4 を使用してアセンブリ言語でシェーダーを作成することはできません。
例
次に例をいくつか示します。
位置 (.xyzw) と色 (.rgb) で構成される入力データを想定します。 各コンポーネントは 1 バイトを消費します。7 バイトの場合、シェーダーで生成できる頂点の最大数は 1024 / (4 + 3) = 146 になります。
dcl_maxOutputVertexCount 146
ジオメトリ シェーダーが 32 個の 4 コンポーネント ベクトルを作成するとします。 シェーダーで生成できる頂点の最大数は、1024 / (32 * 4) = 8 です。
dcl_maxOutputVertexCount 8
最小シェーダー モデル
この関数は、次のシェーダー モデルでサポートされています。
シェーダー モデル | サポートされています |
---|---|
シェーダー モデル 5 | はい |
シェーダー モデル 4.1 | はい |
シェーダー モデル 4 | はい |
シェーダー モデル 3 (DirectX HLSL) | no |
シェーダー モデル 2 (DirectX HLSL) | no |
シェーダー モデル 1 (DirectX HLSL) | no |