一、渲染流水線的三大步驟
渲染流水線分為三個(gè)階段:應(yīng)用階段、幾何階段、光柵化階段

二、應(yīng)用階段
1)第一步:將數(shù)據(jù)從硬盤加載到內(nèi)存再加載到顯存

2)第二步:設(shè)置渲染狀態(tài)
通俗地解釋渲染狀態(tài):渲染狀態(tài)定義了場(chǎng)景中的網(wǎng)格是怎么被渲染的,比如用哪個(gè)著色器、光源、材質(zhì)等
3)第三步:Draw Call
Draw Call 是由CPU向GPU發(fā)出的命令,GPU就會(huì)渲染CPU所指定的對(duì)象
三、幾何階段
開發(fā)者沒有幾何階段的絕對(duì)控制權(quán),但開發(fā)者有部分控制器
以下為按順序的步驟:
1)頂點(diǎn)著色器
頂點(diǎn)著色器是可編程的
從cpu輸入的每個(gè)頂點(diǎn)都會(huì)經(jīng)過頂點(diǎn)著色器處理
頂點(diǎn)著色的主要工作:坐標(biāo)變換(把頂點(diǎn)坐標(biāo)轉(zhuǎn)換到齊次裁剪空間)、逐頂點(diǎn)光照
2)曲面細(xì)分著色器(可選)
可編程,用于細(xì)分圖元
3)幾何著色器(可選)
可編程,用于執(zhí)行逐圖元著色、或被用于產(chǎn)生更多圖元
4)裁剪
這是硬件的固定操作,無法控制
攝像機(jī)的視野范圍有可能不會(huì)覆蓋全部的場(chǎng)景
該步驟將應(yīng)該看不見的物體裁剪
5)屏幕映射
這一步的功能是將每個(gè)圖元的x、y左邊轉(zhuǎn)換到屏幕坐標(biāo)系下
四、光柵化階段
1)三角形設(shè)置
將三角形的頂點(diǎn)光柵化為三角形邊的端點(diǎn)
2)三角形遍歷
檢查像素是否被三角形覆蓋、如果是就生成一個(gè)片元
3)片元著色器
通俗地說,它改變每個(gè)像素的顏色
4)逐片元操作
這一階段被稱為輸出合并階段