【Unity Shader入门精要学习】Unity中的基础光照(二)

标准光照模型

1、1975年Phong提出了标准光照模型的基本概念。

标准光照模型只关心直接光照(direct light),也就是直接从光源发射出来照射到物体表面之后,经过物体表面的一次反射直接进入摄像机的光线。标准光照模型被分为4部分:
(1)自发光(emissive),描述的是当给定一个方向时一个表面本身会向该方向发射多少辐射量。需要注意的是,如果没有使用全局光照(global illumination),技术,这些自发光的表面并不会真的照亮周围的物体,而是他本身看起来更亮了而已。
(2)高光发射(specular),用于描述当光线从光源照射到模型表面时,该表面会在完全镜面反射方向散射多少辐射量。
(3)漫反射(diffuse),用于描述当光线从光源照射到模型表面时,该表面会向每个方向散射多少辐射量
(4)环境光(ambient),用来描述其他所有间接光照。

2、漫反射(diffuse)

漫反射光照是用于对那些被物体表面随机散射到各个方向的辐射度进行建模的。在漫反射中,视角的位置不是最重要的,因为反射完全随机,可以认为它在任意方向上的反射分布都是一样的,但是入射光线的角度很重要。
兰伯特定律(lambert law)
漫反射光照符合兰伯特定律:反射光线的强度与表面法线和光源方向之间夹角的余弦值成正比。

兰伯特

半兰伯特光照模型(Half Lambert)
Valve公司在开发游戏《半条命》时提出的一种对兰伯特光照模型修改的技术——半兰伯特光照模型
广义上的半兰伯特

大多数情况下

可以发现它不再是用max()函数来限定法线与入射光线反向的点积,而是先用α对点积进行缩放,然后再用β对缩放后的结果进行位移,当α和β都等于0.5时,结果会被限定到[0,1]之间,这样即便是物体后面的光照也会有明暗区分,而不是统一都变成0。
半兰伯特是没有任何物理依据的,仅仅是一个视觉加强技术

3、高光反射

Phong光照模型

Phong光照模型

其中r代表入射光经反射之后出射方向,gloss代表材质的光泽度(gloss),也叫反光度(shininess),它用于控制高光区域的“亮点”有多宽,gloss越大亮点越小。v是视角方向。
其中反射方向的计算方式如下:
反射方向

Blinn-Phong光照模型

Blinn-Phong光照模型

Blinn-Phong对Phong光照模型做了一点修改,通过引入一个新的矢量h,避免了计算反射方向r
image.png

当摄像机和光源足够远时,Blinn-Phong是会快于Phong的,因为此时可以把视角v和光源I看成是定值,h则变成了常量。当vi不是定值时,Phong可能还会快一些。这两个模型都是经验模型。Blinn在一些情况下更符合实验结果。但是Blinn-Phong有很多重要的物理现象无法表现出来,如菲涅尔反射(Fresnel reflection),而且Blinn-Phong是各项同性(isotropic)的,也就是当我们固定视角和光源时旋转这个表面时,反射不会发生任何改变,但是有些表面具有各向异性(anisotropic)反射性质的,如拉丝金属,毛发等。

4、逐像素还是逐顶点

逐像素光照(per-pixel lighting)
逐像素光照在片元着色器中计算光照,以每个像素为基础,得到它的法线(法线来自顶点法线的插值或是法线纹理采样),然后进行光照计算。这种在面片之间对顶点法线进行插值的技术被称为Phong着色(Phong Shading),也被称为Phong插值法线插值着色技术。(不同于Phong光照模型)
逐顶点光照(per-vertex lighting)
逐顶点光照也被称为高洛德着色(Gourand shading),在每个顶点上计算光照,然后在渲染图元的时候会进行插值,最后输出像素颜色。由于顶点数目往往小于像素数目,所以逐顶点计算量一般会小于逐像素,但是逐顶点的光照依赖于线性插值计算得到像素颜色,所以逐顶点在计算非线性光照时会有问题,如高光反射。而且有于插值的原因会导致有顶点的像素颜色比没顶点的像素颜色要深。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容