頂點著色程式

2022-10-10 16:57:08 字數 469 閱讀 3478

頂點著色程式從gpu前端模組(暫存器)中提取圖元資訊(頂點位置. 法向量 . 紋理座標等),並完成頂點座標空間轉換,法向量空間轉換,光照計算等操作。最後將計算好的資料傳送到指定暫存器中。

然後片段著色器從種獲取需要的資料,通常為「紋理座標,光照資訊等」,並根據這些資訊以及從應用程式傳遞的紋理資訊進行每個片段的顏色計算,最後將處理後的資料送到光柵操作模組。

如果只有頂點著色器程式,那麼只對輸入的頂點進行操作,而頂點內部的點則按照硬體預設的方式自動插值。

例如:輸入乙個三角麵片,頂點程式對其進行phong光照計算,只計算三個頂點的光照顏色,而三角麵片內部點的顏色按照硬體預設的演算法(gourand明暗處理或者快速phone明暗處理),則效果也會較好,如果圖形硬體使用gourand明暗處理演算法,則會出現馬赫帶效應(條帶化)。

由於gpu對資料進行並行處理,所以每個資料都會執行一次shader程式。即,每個頂點資料都會執行一次頂點程式,每個片段都會執行一次片段程式。

頂點著色問題應用

1.n個學生對m個宣講會中的若干個感興趣,如何安排宣講會的時間 每個宣講會持續的時間相同 使得每個學生對自己感興趣的宣講會時間不衝突,且宣講會的總時間最短?此問題可以轉化成頂點著色問題。把每個宣講會看作是一些散布的點,對於每個學生,把他感興趣的宣講會之間兩兩相連,如 學生a希望參加宣講會1 2 3 ...

Vertex Shader 頂點著色入門

vertex shader是什麼?頂點著色是一段執行在gpu上的程式 一般用hlsl來編寫 用來取代fixed pipeline中的transformation和lighting,vertex shader主要操作頂點。當然前提是硬體要支援,軟體模擬的不算 有圖則一目了然 vertex shader...

HLSL頂點著色器

1.在文字檔案裡編寫頂點著色器 hlsl語言 2.編譯著色器 d3dxcompileshaderfromfile 3.建立頂點著色器 createvertexshader 4.獲取hlsl語言中變數控制代碼 getconstantbyname 5.根據控制代碼給hlsl語言中的變數傳值 id3dxc...