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)

著色器模型 4 元件 (DirectX HLSL)