Share via


輸入組合階段

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)