最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
大宁县| 玛沁县| 荣成市| 娄烦县| 阿鲁科尔沁旗| 金平| 财经| 抚松县| 齐齐哈尔市| 台中市| 威宁| 东兰县| 高台县| 建始县| 邹平县| 通城县| 桐庐县| 济宁市| 博爱县| 同江市| 泰州市| 台中县| 平邑县| 兴隆县| 卫辉市| 苏尼特左旗| 江津市| 绥滨县| 康平县| 巴青县| 榆社县| 土默特左旗| 苏州市| 遂平县| 竹北市| 中西区| 绍兴市| 陕西省| 盐山县| 新余市| 弥勒县|