Shader - 圖形硬件流水線

頂點變換(Vertex Transformation):是圖形硬件流水線中第一個處理階段。頂點變換在每個頂點上執行一系列數學操作。這些操作包括把頂點位置變換到屏幕位置以供光柵器使用爲貼圖產生紋理座標、以及決定頂點顏色的光照運算。

圖元裝配和光柵化( Primitive Assembly and Rasterization)經過變換的頂點數據流按照順序被送到下一個被稱爲圖元裝配和光柵化的階段。首先,在圖元裝配階段根據伴隨頂點序列的幾何圖元分類信息把頂點轉配成幾何圖元。這將產生一系列的三角形,線段和點。這些圖元需要經過剪裁到可視平截體( view frustum)(一個三維空間的可見矩形區域)和任何應用程序指定的有效剪裁平面。光柵器還可以根據空間多邊形的朝向丟棄一些多邊形。這個過程被稱爲挑選( culling)。
經過剪裁和挑選的多邊形必須被光柵化。光柵化是一個決定哪些像素被幾何圖元覆蓋的過程。多邊形、線段和點根據每種圖元指定的規則分別被光柵化。光柵化的結果是像素位置的集合和片段的集合。當光柵化後,一個圖元擁有的頂點數目和產生的片段之間沒有任何關係。例如,如果一個由一個頂點組成的三角形可以佔據整個屏幕,則需要生成上百萬的片段!

術語“片段”是用來描述因光柵化而把每個幾何圖元(例如三角形)所覆蓋的像素分
解成像素大小的片段。一個片段有一個與之關聯的像素位置、深度值和經過插值的參數,例如顏色、間色(反射)和一個或多個紋理座標集。這些不同的插值是得自變換過的頂點,這些頂點組成了某個用來生成片段的幾何圖元。你可以把片段看成是潛在的像素,如果一個片段通過光柵化測試(光柵化測試將在光柵操作階段被簡單介紹),這個片段將被用於更新幀緩存中得像素。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章