光照模型小结

来源:互联网 发布:淘宝几星可以开直通车 编辑:程序博客网 时间:2024/06/05 04:30

1.环境光Ambient Light

I(ambdiff)  = k(d)I(a)I(a)表示环境光强度(光强),k(d)(0<k(d)<1)为材质对环境光的反射系数,I(ambdiff)为漫反射体与环境光交互反射的光强.

2.点光源
Lambert定律(用于粗糙物体)

I(ldiff) = k(d)I(l)cosθ I(l)点光源强度,θ入射光方向与顶点法线的夹角,称为入射角(0<=θ<=90度),I(ldiff) 是漫反射体与方向光交互反射的光强。入射角为零时,说明光线垂直于物体表面,漫反射光强最大;90°时光线与物体表面平行,物体接收不到任何光线

若 N 为顶点单位法向量, L 表示从顶点指向光源的单位向量(注意,是由顶
点指向光源,不要弄反了),则 cosθ 等价于 N 与 L 的点积。

I(ldiff) =  k(d) I(l)(N·L)

综合考虑环境光和方向来,Lambert 光照模型可写为:

Idiff  = I(ambdiff)+I(ldiff) = k(d)I(a)+k(d)I(l)(N·L);

3.镜面反射
Phong模型:
镜面反射的光强与反射光线和视线的夹角相关,其数学表达

I(spec) = k(s)I(l)(V·R)^(ns)k(s)为材质的镜面反射系数I(l)点光源强度ns是高光指数V表示从顶点到视点的观察方向R代表反射光方向

高光指数反映了物体表面的光泽程度。ns越大,反射光越集中,当偏离反射
方向时,光线衰减的越厉害,只有当视线方向与反射光线方向非常接近时才能看
到镜面反射的高光现象,此时,镜面反射光将会在反射方向附近形成亮且小的光
斑;ns 越小,表示物体越粗糙,反射光分散,观察到的光斑区域小,强度弱。

Blinn-phong 光照模型中,用 N • H的值取代了V • R。 Blinn-phong 光照模型公式为:

I(spec) = k(s)I(l)(N • H)^(ns)中 N 是入射点的单位法向量, H 是“光入射方向 L 和视点方向V 的中间向量”,通常也称之为半角向量。注意:半角向量被广泛用于各类光照模型,原因不但在于半角向量蕴含的信息价值,也在于计算半角向量是一件简单、耗时不多的工作

* 透明光照模型与环境贴图*
1.折射率与Snell定律
折射率 n=c/v
Snell 定律
这里写图片描述
这里写图片描述
2. 简单透明光照模型
简单透明光照模型不考虑透明物体对光的第二次折射、次表面散射,以及光
在穿越透明物体时的强度衰减,只是简单的使用颜色调和的方法,即我们最终所
看到的颜色,是物体表面的颜色和背景颜色的叠加。

透明物体位于视点与另一个不透明物体之间,透明物体的不透明度为 t,点 A 为透明物体上的一点,点光源直接照射到 A 点上产生的反射光强为i(a) ,视线穿过透明体与另一个物体相交处的光强为i(b) ,则点 A 处的最终可观察的光强为:

这里写图片描述
这里写图片描述

0 0
原创粉丝点击