渲染管線
阿新 • • 發佈:2021-10-20
應用階段、幾何階段和光柵階段。
應用階段
主要是CPU與記憶體打交道,例如碰撞檢測,計算好的資料(頂點座標、法向量、紋理座標、紋理)就會通過資料匯流排傳給圖形硬體 。
幾何階段(Geometry Stage)
這個階段也被稱為“變換和光照”階段。為了從3D場景轉換到2D,場景中的所有物體都需要轉換到幾個空間。每個空間都有自己的座標系。這些轉換是通過一個空間的頂點轉換到另一個空間的頂點來實現的。
座標系變換:物體座標系、世界座標系、相機座標系。
轉換剪下空間,並通過圖元裝配,組裝成圖元(primitive,三角形或線)。當物體在視體的外,說明我們不需要渲染這個物體,所以就簡單丟棄它。當一個物體有部分在視體內,我們需要進行剪下,同時生成新的頂點。新頂點具有適當的的紋理座標和顏色座標。
接著我們執行透視分割操作
最後,我們轉換到螢幕空間。執行的操作:根據視窗大小將x和y座標縮放到合適的座標,這樣就得到2D圖片了。(請注意,頂點的z座標會保留,用於以後的深度操作)
光照(lighting),是這個階段的另一個主要部分。是使用物體表面的法向量來計算的。通過攝像機的位置和光源的位置,可以計算出給定頂點的光照屬性。
光柵階段(Rasterization Stage)
渲染的最後一個階段是光柵化,這個階段的工作就是將已經準備好的資料在螢幕上顯示出來。實際過程中,模型經過轉換到視口空間之後,GPU會計算出每個畫素的深度、畫素的顏色、插值得出的紋理座標、畫素位置等資料。這些資料會被用來測試可見性,並且最終繪製到影象緩衝區。
參考
https://www.jianshu.com/p/923f061206ad
https://blog.csdn.net/nikoong/article/details/79776873