本文内容来自
【技术美术百人计划】图形 2.4 传统经验光照模型详解
观后记录
美术岗位代码或者算法一类的问题可能不太懂
本文仅用来记录学习,如果有不对的请指出谢谢
图形部分 第二章 传统经验光照模型详解
光照模型(illumination model)也称为明暗模型,用于计算物体某处的光强(颜色值)。从算法理论基础而言,光照模型分为两类:一种是基于物理理论的,另一种是基于经验模型的。
- 基于物理理论的光照模型:偏重于使用物理的度量和统计方法,效果非常真实但是计算复杂,实现起来也较为困难。例如pbr模型
- 经验光照模型:对光照的一种模拟,通过时间总结出简化的方法,简化了真实的光照计算,并且能够打到很不错的效果。例如兰伯特
为什么需要光照模型
现实世界的光照是极其复杂的,而且会受诸多因素的影响,有限的计算能力无法完全模拟
使用简化的光照模型对现实的情况进行模拟,使得计算处理起来会更容易,并且另效果更加符合需求。这些光照模型就是基于我们对光的屋里特性的理解。
光照模型的发展
一.局部光照模型
1.局部光照模型的定义
局部光照模型只关心直接光照部分,即直接从光源发出并照射到物体表面反射至摄像头的光线。(左局部,右全局)
2.局部光照模型的组成
局部光照模型满足叠加原理,可以基本将光线分为四个部分
- 漫反射
- 高光反射
- 环境光
- 自发光
2.1漫反射
什么是漫反射
在光照模型的定义中当光线从光源照射到模型表面时,光线均匀被反射到各个方向,这种现象就是漫反射
在漫反射的过程中,光线发生了吸收和散射,而因此改变颜色和方向
如何计算?
漫反射光照符合Lanbert定律,反射光强与法线和光源方向之间的夹角的余弦值成正比
Lanbert余弦定律
漫反射只与光源和表面法线有关,与观察者无关
2.2高光反射(镜面反射)
当光线到达物体表面并发生了反射,观察视线在反射光线的附近时,便能够观察到了高光反射。
高光反射面熟了光线与物体表面发生的反射(光强不变,方向改变)
高光反射的反射率是根据一种菲涅尔效应的物理现象决定。
通常使用对应的反射贴图面数物体表面的反射率,并且使用光泽度(粗糙度,反光度)描述高光范围的大小。
Gloss(光泽度)影响了物体表面发生高光反射的面积
2.3环境光
在局部光照模型中,由于没有考虑间接光照的影响,因此为了处理这种间接光照,为光照模型引入环境光。
2.4自发光
顾名思义,物体自身发射的光线,通常作为单独一项加入光照模型,一般使用一张自发光贴图描述物体的自发光。
二.经典光照模型
1.Lambert模型
2.phong模型
3.Blinn-Phone模型
4.Phong模型和Blinn-Phong模型的区别
5.Flat模型
平面着色器模型,计算多变性的单个强度,每个三角形只有一个法线方向。以相同的光强度值显示多变性的所有点。通常适用于lowpoly风格的场景。
6.提到的光照模型的展示
总结
- lambert模型只考虑表面的漫反射部分。
- phong模型能够较好的呈现镜面高光的效果,也是四种模型中最接近真实的效果,需要计算较复杂的反射向量
- blinn—phong模型效果与phong模型相近,更偏向艺术性的效果,使用方便计算的半程向量代替较为复杂的反射向量,计算量小于phong,是效果和效率的最佳选择,也是大部分情况下定位默认光照模型。