頂點著色器階段

頂點著色器 (VS) 階段會處理輸入組合器的頂點,執行每個頂點作業,例如轉換、面板調整、變形和每個頂點光源。 頂點著色器一律在單一輸入頂點上操作,並產生單一輸出頂點。 頂點著色器階段必須一律為作用中,管線才能執行。 不需要頂點修改或轉換時,必須建立穿通頂點著色器並將其設定至管線。

頂點著色器

每個頂點著色器輸入頂點最多可以包含 16 個 32 位向量 (最多 4 個元件,每個) 每個輸出頂點可以包含最多 16 個 32 位 4 元件向量。 所有頂點著色器都必須至少有一個輸入和輸出,這可以和一個純量值一樣少。

頂點著色器階段可以從輸入組合器取用兩個系統產生的值:VertexID 和 InstanceID (請參閱 系統值語意) 。 因為 VertexID 和 InstanceID 在頂點層級有意義,而且由硬體產生的識別碼只可以饋送到了解它們的第一階段,所以這些識別碼只可以饋送到頂點著色器階段。

頂點著色器永遠會在所有頂點上執行,包括在輸入基本類型拓撲中有相鄰關係的相鄰頂點。 您可以使用 VSInvocations 管線統計資料,從 CPU 查詢頂點著色器執行的次數。

頂點著色器可以執行載入和紋理取樣作業,其中使用 HLSL 內建函式不需要螢幕空間衍生專案 (: 範例 (DirectX HLSL 紋理物件) SampleCmpLevelZero (DirectX HLSL 紋理物件) ,以及 SampleGrad (DirectX HLSL 紋理物件) ) 。