共用方式為


Input-Assembler 階段

Direct3D 10 和更新版本的 API 會將管線的功能區域分成階段;管線中的第一個階段是輸入組合器 (IA) 階段。

輸入組合器階段的目的是從使用者填滿的緩衝區讀取基本數據(點、線條和/或三角形),並將數據組合成其他管線階段將使用的基本類型。 IA 階段可以將頂點組合成數種不同的 基本類型(例如線條清單、三角形帶狀或相鄰的基本類型)。 已新增新的基本類型(例如具有相鄰的線條清單或相鄰的三角形清單),以支援幾何著色器。

只有幾何著色器中的應用程式可以看到相鄰的資訊。 例如,如果使用三角形來叫用幾何著色器,例如,輸入數據會包含每個三角形的 3 個頂點,而每個三角形的相鄰數據則包含 3 個頂點。

當輸入組合器階段要求輸出相鄰數據時,輸入數據必須包含相鄰數據。 這可能需要提供虛擬頂點(形成變質的三角形),或可能是在頂點是否存在的其中一個頂點屬性中標記。 這也需要由幾何著色器偵測和處理,不過在轉譯器階段中會清除變質幾何。

在組合基本類型時,IA 的次要用途是附加 系統產生的值,以協助著色器更有效率。 系統產生的值是也稱為語意的文字字串。 這三個著色器階段都是從通用著色器核心建構的,而著色器核心會使用系統產生的值(例如基本標識符、實例標識元或頂點標識符),以便著色器階段只能將處理減少到尚未處理的基本類型、實例或頂點。

管線區塊圖所示,一旦 IA 階段從記憶體讀取數據(將數據組合成基本類型並附加系統產生的值),數據就會輸出至 頂點著色器階段

在本節中

主題 描述
開始使用 Input-Assembler 階段
初始化輸入組合器 (IA) 階段需要幾個步驟。 例如,您需要使用管線所需的頂點數據來建立緩衝區資源,告訴 IA 階段緩衝區的所在位置,以及其所包含的數據類型,以及指定要從數據組合的基本類型。
基本拓撲
Direct3D 10 和更新版本支援由 D3D_PRIMITIVE_TOPOLOGY 列舉類型表示的數種基本類型(或拓撲)。 這些類型會定義管線如何解譯和轉譯頂點。
不使用緩衝區的 Input-Assembler 階段
如果您的著色器不需要緩衝區,則不需要建立和系結緩衝區。 本節包含繪製單一三角形的簡單頂點和像素著色器範例。
使用 System-Generated 值
系統產生的值是由 IA 階段產生的(根據使用者提供的輸入 語意),以允許著色器作業的某些效率。

圖形管線

管線階段 (Direct3D 10)