“反射模型”和“光照模型”
这两个概念好像经常被等价使用。作者为了更好理解其他相关概念,对“反射模型”和“光照模型”做如下区分:(将“光反射”分成三个部分:入射光、入射光和表面的相互作用、反射光)
“光照模型”:模拟的是“入射光”。研究的是入射光的组成。影响入射光的因素有:环境光的属性、光源的属性。
“反射模型”:模拟的是“入射光和表面的相互作用”。研究的是入射光是怎么和表面相互作用变成反射光的。影响反射光的因素有:入射光的属性、表面的物理属性。
咱先学习反射模型。
学习反射模型的思路是这样的:
第一步,概述。对反射光建立感官上的认识。最重要的是明白:反射光是由漫反射光和镜面反射光两部分组成。(注意是“两部分”不是“两类”,意思是任何反射光中都同时包含漫反射光和镜面反射光)。
第二步,反射原理。分析漫反射的原理,模拟漫反射光;分析镜面反射,模拟镜面反射光。
第三步,BRDF。引入辐射学的概念,用BRDF来描述物体表面对光的反射特性。
第四步,C++实现。用C++分别实现表面对光的漫反射BRDF和镜面反射的BRDF,然后根据各自的BRDF和入射光得到各自的反射光。
概述。先看一张图:
该图说明如下几个问题:
1,反射光是由两部分组成:漫反射光、镜面反射光