輸入組合語言 (IA) 階段
輸入組合語言 (IA) 階段會將原始和相鄰資料提供給管線 (例如三角形、線條和點),包括語意 ID,有助於減少處理尚未處理的原始物件,從而提高著色器效率。
用途和使用方式
輸入組合語言 (IA) 階段會從使用者填滿的緩衝區讀取原始物件資料 (點、線條和三角形),並將資料組合至其他管線階段將使用的原始物件中,然後附加系統產生的值,好讓著色器能夠有效率。 系統產生的值為文字字串,也稱為「語意」。 可進行程式設計的著色器階段會透過通用著色器核心來建構,而通用著色器核心則會使用系統產生的值 (例如原始物件 ID、執行個體 ID 或頂點 ID),因此,著色器階段可將處理作業減少至僅含尚未進行處理的原始物件、執行個體或頂點。
IA 階段可將頂點組合成不同的原始物件類型 (例如線條清單、三角形寬帶或具有相鄰的原始物件)。 舉凡具有相鄰的三角形及具有相鄰的線條清單等原始物件類型,皆可支援幾何著色器 (GS) 階段。
應用程式只能在幾何著色器中檢視相鄰資訊。 舉例來說,如果具有相鄰的三角形叫用幾何著色器,輸入資料就會包含每個三角形的 3 個頂點,以及每個三角形相鄰資料的三個頂點。
要求 IA 階段輸出相鄰資料時,輸入資料必須包含相鄰資料。 這項作業可能需要提供虛擬頂點 (組成變質三角形),或是在其中一個頂點屬性中標記頂點是否存在。 此外,雖然剔除變質幾何將發生在轉譯器階段中,但這項作業也需由幾何著色器進行偵測和處理。
輸入
IA 階段從記憶體讀取資料:來自使用者填滿之緩衝區的原始物件資料 (點、線條和/或三角形)。
輸出
IA 階段會將資料組合至原始物件並附加系統產生的值,然後將其輸出為原始物件,以提供給頂點著色器 (VS) 階段和後續其他管線階段使用。
本節內容
主題 | 說明 |
---|---|
Direct3D 支援多個原始物件拓撲,該拓撲會定義管線解譯和轉譯頂點的方式,例如點清單、線條清單和三角形寬帶。 |
|
輸入組合語言 (IA) 階段會產生系統產生的值 (根據使用者提供的輸入語意),以便為著色器作業提供某些效率。 只要附加執行個體 ID (可在頂點著色器 (VS) 階段中檢視)、頂點 ID (可供 VS 檢視) 或原始物件 ID (可供幾何著色器 (GS) 階段/和像素著色器 (PS) 階段檢視) 等資料,後續的著色器階段就能檢視這些系統值,以最佳化該階段中的處理作業。 |
相關主題