(1)《Unity Shader入門精要》筆記 渲染流水線

一、渲染流水線的三大步驟

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

二、應(yīng)用階段

1)第一步:將數(shù)據(jù)從硬盤加載到內(nèi)存再加載到顯存

將數(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)逐片元操作

這一階段被稱為輸出合并階段

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容