五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity 學(xué)習(xí)第五篇:Lambert (蘭伯特)光照模型

2023-03-10 22:49 作者:依稀愛戀  | 我要投稿

漫反射的定義

漫反射是投射在粗糙表面上的光向各個(gè)方向反射的現(xiàn)象。當(dāng)一束平行的入射光線射到粗糙的表面時(shí),表面會(huì)把光線向著四面八方反射,所以入射線雖然互相平行,由于各點(diǎn)的法線方向不一致,造成反射光線向不同的方向無規(guī)則地反射,這種反射稱之為“漫反射”或“漫射”。這種反射的光稱為漫射光。

Lambert定律

漫反射光的強(qiáng)度近似地服從于Lambert定律,即漫反射光的光強(qiáng)與表面法線和光源方向之間的夾角的余弦成正比。


原理公式:diffuse = I*cosθ;

diffuse:反射光線的的光強(qiáng);

I:入射光線的光強(qiáng),方向如上圖所示;

cosθ:光源方向和該頂點(diǎn)法線的余弦,光源方向 · 法線方向,cosθ = dot(L,N);

在Unity中當(dāng)顏色值小0時(shí)會(huì)按0處理,所以我們最后的數(shù)學(xué)表達(dá)式為:diffuse = I*max(0,dot(L,N));

在Unity Shader

半蘭伯特光照模型

把上面的效果應(yīng)用到Unity中,可以看出不被光照射的背面是比較暗的,此時(shí)我們可以優(yōu)化蘭伯特光照模型,有人提出了半蘭伯特光照模型。
由上面的公式diffuse = I*max(0,dot(N,L)),可知dot(N,L)的范圍為-1~1,如果我們可以把范圍調(diào)整為0 ~1,那么模型看起來會(huì)更亮些,我們優(yōu)化下讓?dot(L,N)*0.5+0.5,這樣范圍就改為了0 ~1。
最后的公式為:
diffuse = I*max(0,dot(N,L)*0.5+0.5)

半蘭伯特Shader程序

從相同的視角來觀察兩個(gè)模型,效果對(duì)比如下:


Unity 學(xué)習(xí)第五篇:Lambert (蘭伯特)光照模型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
福鼎市| 乐山市| 华坪县| 通化市| 婺源县| 溧阳市| 北宁市| 汽车| 和田市| 昌都县| 盐源县| 从化市| 嘉鱼县| 修水县| 汤原县| 沙田区| 泾川县| 株洲市| 永新县| 长阳| 汉寿县| 土默特左旗| 明光市| 图木舒克市| 张掖市| 安义县| 额敏县| 治县。| 承德县| 涟源市| 滦平县| 清苑县| 黔江区| 徐水县| 新平| 南阳市| 镇巴县| 瓦房店市| 独山县| 屯留县| 宜黄县|