dcl_maxOutputVertexCount (sm4 - asm)
宣告可由幾何著色器輸出的最大頂點數目。
dcl_maxOutputVertexCount 計數 |
---|
項目 | 描述 |
---|---|
計數 |
[in]介於 1 到 n 之間的 32 位不帶正負號的整數,包含。 |
幾何著色器最多可以輸出 1024 32 位值。 此最大值包括輸入資料的大小,以及著色器所建立的資料大小。
以下是一些限制:
- 如果在幾何著色器完成執行之前到達頂點數目,著色器就會終止。
- 幾何著色器可以在輸出任何頂點之前到達其程式的結尾;這完全合法。
- 如果您要偵錯幾何著色器,您可以計算產生的發出指令數目,來告知產生的頂點數目。
本指示適用于下列著色器階段:
頂點著色器 | 幾何著色器 | 像素著色器 |
---|---|---|
x |
此指示包含在元件中協助偵錯著色器;您無法使用著色器模型 4 以元件語言撰寫著色器。
範例
以下是一些範例。
假設輸入資料是由位置 (.xyzw) 和色彩 (.rgb) 所組成。 每個元件都會取用一個位元組;指定的 7 個位元組,著色器可以產生的頂點數目上限為 1024 / (4 + 3) = 146。
dcl_maxOutputVertexCount 146
假設幾何著色器會建立 32 個 4 個元件向量。 著色器可產生的頂點數目上限為 1024 / (32 * 4) = 8。
dcl_maxOutputVertexCount 8
最小著色器模型
下列著色器模型支援此函式。
著色器模型 | 支援 |
---|---|
著色器模型 5 | 是 |
著色器模型 4.1 | 是 |
著色器模型 4 | 是 |
著色器模型 3 (DirectX HLSL) | 否 |
著色器模型 2 (DirectX HLSL) | 否 |
著色器模型 1 (DirectX HLSL) | 否 |