頂點著色器階段
頂點著色器 (VS) 階段會處理輸入組合器的頂點、執行每個頂點作業,例如轉換、外觀、變形和每個頂點光源。 頂點著色器一律會在單一輸入頂點上運作,併產生單一輸出頂點。 頂點著色器階段必須一律為作用中,管線才能執行。 如果不需要任何頂點修改或轉換,則必須建立傳遞頂點著色器並設定為管線。
頂點著色器
每個頂點著色器輸入頂點最多可由 16 個 32 位向量組成(每個元件最多 4 個元件),而且每個輸出頂點可包含多達 16 個 32 位 4 元件向量。 所有頂點著色器必須至少有一個輸入與一個輸出,這可以和一個純量值一樣少。
頂點著色器階段可以從輸入組合器取用兩個系統產生的值:VertexID 和 InstanceID(請參閱 系統值語意)。 由於 VertexID 和 InstanceID 在頂點層級都有意義,而硬體所產生的標識碼只能饋送至了解它們的第一個階段,因此這些標識碼值只能饋送至頂點著色器階段。
頂點著色器一律在所有頂點上執行,包括具有相鄰的輸入基本拓撲中的相鄰頂點。 您可以使用 VSInvocations 管線統計數據,從 CPU 查詢頂點著色器執行的次數。
頂點著色器可以執行載入和紋理取樣作業,其中不需要螢幕空間衍生專案(使用 HLSL 內建函數:範例(DirectX HLSL 紋理物件)、SampleCmpLevelZero (DirectX HLSL Texture Object),以及 SampleGrad (DirectX HLSL Texture Object))。