华科图形学笔记-照明模型

Phong模型

环境光
光线在场景中经过复杂的传播后,形成了弥漫于整个空间的光线,称为环境光。

  • 特点
    照射在物体上的光来自周围各个方向,又均匀地向各个 方向反射。

  • 近似表示
    I e = I a ∗ K a I_e=I_a*K_a Ie=IaKa
    I a 为 环 境 光 强 度 , K a 为 物 体 对 环 境 光 的 反 射 系 数 I_a为环境光强度,K_a为物体对环境光的反射系数 IaKa

理想漫反射(Diffuse Reflection )
当光线辐射到一个粗糙的、无光泽的表面上时,光线沿各个方向都作相同的反射,从任何角度看这种表面都有相同的亮度。
用lambert余弦定理可以算出强度值,就是入射光强度 漫反射系数 点光源方向与平面法向夹角三者乘积
华科图形学笔记-照明模型_第1张图片
可以看到漫反射的特点,只与入射角有关,与视点无关。
如果把L和N规格化为单位矢量,则 c o s θ = L ⋅ N cos\theta=L\cdot N cosθ=LN就得到 I d = I p K d ∗ ( L ⋅ N ) I_d=I_pK_d*(L\cdot N) Id=IpKd(LN)

可能又多个点光源,由于漫反射光强只跟入射光有关,将这几个点光源的漫反射光强计算出来直接相加就好了。

镜面反射(Specular Reflection)
镜面反射遵循反射定律。反射光位于表面法矢两侧。

  • 对于理想的高光泽度反射面,反射角等于入射角时,光线才会被反射。
  • 非理想的反射面,只要其表面是光滑的,在点光源的照射下,也会产生一块特别亮的区域,称为高光点

总之可以看到,不同于漫反射,镜面反射的效果和观察者所在位置非常相关了。

华科图形学笔记-照明模型_第2张图片
综合
Phong模型就是将环境光、理想漫反射光强、镜面反射光强相加。
华科图形学笔记-照明模型_第3张图片

Phong模型的实现

近似计算
华科图形学笔记-照明模型_第4张图片
华科图形学笔记-照明模型_第5张图片
近似之后高光区域会变大,通过修改n的值来修正。

多个光源:
华科图形学笔记-照明模型_第6张图片

光的衰减
在同一光源的照射下,距光源较近的景色看起来会亮一些,而距光源较远的景物看起来会暗一些。衰减因子如果用1/d^2效果不好,因为变化太快。用下面这个函数
华科图形学笔记-照明模型_第7张图片
在漫反射和镜面反射公式中分别加入这个衰减函数。
华科图形学笔记-照明模型_第8张图片

选择颜色模型
如果选择rgb模型,可以将环境光,漫反射光和镜面反射光都分解为r g b三个分量。光强和反射系数都可以分解为这三个分量
华科图形学笔记-照明模型_第9张图片
按三个分量就可以分别计算三次
华科图形学笔记-照明模型_第10张图片

基于Phong模型模拟平行光,点光源和聚光灯效果:
平行光:不加衰减因子
点光源:保留衰减因子
聚光灯:光锥的内圆锥和外圆锥
华科图形学笔记-照明模型_第11张图片
华科图形学笔记-照明模型_第12张图片

华科图形学笔记-照明模型_第13张图片

全局光照

又称GI(Global Illumination)或Indirect Illumination间接光照。考虑场景中来自光源以及经过其他物体反射后的光照。因此 全局光照=直接光照+间接光照
间接光照有透射光和反射光两种,涉及到透射光就要用whitted光投射模型了。

要加上投射光和反射光两个部分,
华科图形学笔记-照明模型_第14张图片
华科图形学笔记-照明模型_第15张图片
光照模型的发展阶段如下
华科图形学笔记-照明模型_第16张图片
全局光照不同的实现流派
华科图形学笔记-照明模型_第17张图片

光线追踪算法

华科图形学笔记-照明模型_第18张图片
定义:追踪光线路径,然后模拟光线与虚拟对象相互作用的方式。

主要思想:从视点向成像平面上的像素发射光线,找到与该光线相交的最近物体的交点。
如果该点处的表面是漫反射表面,则计算光源直接照射该点产生的颜色。
如果该点处表面是镜面或折射面,则继续向反射或折射方向跟踪另一条光线。

如此递归下去,直到达到结束条件(光线与光源相交、逃逸或者达到设定的最大递归深度)

存在的问题
1)表面属性单一:完全看不见折射光?完全没有镜面反射?
2)漫反射作为了结束条件
改进
通过模型的修正来缓解这两个问题
改进后的算法变为:从视点发出一条光线,光线与物体表面相交时根据表面的材质属性继续采样一个方向。(由于表面的多样性可能有多个采样方向)
新的问题:计算量很大
可能的解决方法:蒙特卡洛方法 得到的就是路径追踪算法

你可能感兴趣的:(计算机图形学)