那些“照騙級”渲染影象背後的基本知識
計算機的渲染包括了很多技術和內容,首先為大家簡單介紹下圖形繪製的基本過程。計算機圖形的繪製就是給定視點、三維物體、光源、照明模式和紋理元素等,然後通過計算的資料繪製二維影象。在繁複的視覺表現形式下,圖形繪製流水線一般分為三個主要階段:應用程式階段、幾何階段、光柵階段。
應用程式階段
應用程式階段,主要使用高階程式語言(C、C++、JAVA等)進行開發,通過CPU、記憶體等硬體裝置,實現場景圖建立、流體動力、視錐裁剪、碰撞檢測等效果。應用程式階段最終要將得到的頂點座標、法向量、紋理座標、紋理等幾何體資料,通過資料匯流排傳送到圖形硬體。
幾何階段
幾何階段簡單來說是將三維的幾何體繪製到二維的螢幕上。主要負責頂點座標變換、光照計算、裁剪、投影以及螢幕對映等。在GPU出現之前,主要由CPU承擔計算任務,CPU更偏重於處理邏輯控制,計算只是其中一部分,圖形繪製效率較低。當適合處理資料密集計算任務的GPU出現之後,極大的提高了運算效率,將圖形繪製能力提高到一個新的層次。幾何階段通過計算幾何體資料,從而得到經過變換和投影之後的頂點座標、顏色、以及紋理座標。
光柵階段
光柵化是決定哪些畫素被集合圖元覆蓋的過程。基於幾何階段的輸出資料,為畫素正確配色,以便繪製完整影象,本階段進行的都是單個畫素的操作,每個畫素的資訊儲存在顏色緩衝器(color buffer或者frame buffer)中。