3D渲染-著色-著色頻率

一、定義

1、現(xiàn)象

擁有完全相同的幾何形狀,幾何表示在空間中是一樣的,從球的邊界可以看出,模型用的是一樣的。
為什么著色了之后結(jié)果各不相同?


1624195492359-e9977124-f0e9-4e04-b2a6-3128becf6dac.png

2、定義

著色頻率:就是著色應(yīng)用到哪里。
1、著色應(yīng)用到面上:平面有法線,求出shading的結(jié)果,認(rèn)為整個(gè)平面都是這個(gè)顏色。一個(gè)平面只做一次shading。
2、著色應(yīng)用到頂點(diǎn)上:每個(gè)平面有四個(gè)頂點(diǎn),計(jì)算出每個(gè)頂點(diǎn)對(duì)應(yīng)的法線。每個(gè)頂點(diǎn)做一次著色。三個(gè)頂點(diǎn)構(gòu)成一個(gè)三角形,三角形內(nèi)部采用插值方法。
3、著色應(yīng)用到每一個(gè)像素上。

二、著色頻率類型

1、Flat shading(三角形法線)

三角形內(nèi)部著色無(wú)變化。


1624195786283-a52d66fd-0010-443a-a368-afc9898412c3.png

2、Gouraud shading(頂點(diǎn)法線)

頂點(diǎn)著色,中間使用插值方法著色。
可以計(jì)算出三角形三個(gè)頂點(diǎn)的著色結(jié)果,在三角形需要進(jìn)行插值。


1624195853023-36da1241-8ca6-4426-847b-4a5e0fcce94f.png

3、Phong shading(像素著色)

可以計(jì)算出三角形三個(gè)頂點(diǎn)的法線方向,
然后對(duì)三角形內(nèi)部的像素做插值,得出對(duì)應(yīng)像素的法線,
然后再做shading。


1624195879694-90715d3d-7158-4fa1-aaee-78547a355348.png

4、區(qū)別

每一行用的模型一致。
越往下,用更多的三角形,幾何形體本身更加密集。
當(dāng)幾何相對(duì)復(fù)雜的情況下,可以用簡(jiǎn)單的著色模型,得到結(jié)果挺好。


1624196180989-14d010fb-cf1e-4cdb-96ac-feefac883ed4.png

得出:著色頻率取決于幾何形體本身的頻率。當(dāng)幾何形體本身很密集的情況下,就直接用簡(jiǎn)單的著色模型。

三、頂點(diǎn)著色器

1、頂點(diǎn)的法線

任何一個(gè)頂點(diǎn)和很多不同的三角形關(guān)聯(lián),頂點(diǎn)的法線可以使用相鄰的面的法線加權(quán)平均。


1624196622809-0bea7e33-79fc-4111-968b-b388d60ada6d.png

2、已知頂點(diǎn)法線,計(jì)算中間逐像素法線

已知頂點(diǎn)法線,如何得到內(nèi)部平滑過(guò)渡的法線?


1624196898220-562f0dd5-0b0d-4341-8778-8ec6331d9902.png

需要使用重心坐標(biāo)。

最后編輯于
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

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