漫反射光照
当光照射到表面的某个点上时,会在物体内部四处反弹。其中一部分会被吸收,余下的会向各个方向散射并返回表面,这就是所谓的 漫反射(diffuse reflection)。不同的材质对光的吸收和散射的光量是不同的。
散射的计算十分复杂,在初学阶段先假设光从入射点均匀的散射。
对于漫反射光照的计算可以分为两部分:
- 光照颜色
- 漫反射反照率
假设一束强度为 80% 的白光射入一个 反射 50% 红光,100% 绿光,75% 蓝光 的表面。我们用分量式颜色乘法来表示(
不过上式中并没有考虑光的入射角度问题。为了修复该BUG,我们可以把朗伯余弦定律考虑进去:
环境光照
之前我们计算光照的时候都没有考虑环境光的影响。而事实上我们在真实世界中所看到最多的是间接光。例如:从屋子里的光源能够将走廊照亮。物体的阴影处虽然比较暗但不是完全的黑色等等。
为了处理间接光,我们给光照方程引入一个环境光(ambient light)项(
镜面光照
当光线到达两种不同折射率介质之间的界面时,一部分光被反射,剩下的光会发生折射(refract)。折射率是一种介质的物理性质,即光在真空中传播的速度与光在给定介质内的传播速度比。我们将这种光的反射过程称为 镜面反射(specular reflection),并把反射的光称做镜面(反射)光(specular light)。
具有法线 n 的完全光滑平整的镜面中,入射光 I 抵达表面后一部分按反射方向 r 发生反色,剩余部分则以折射方向 t 折射入介质。而折射向量 t 与 -n 之间的夹角
现实中大多数物体并不是完全平滑的理想平面,而是在微观上具有一定粗糙度。反射光和入射光都会有一定程度的扩散。
镜面反射相比漫反射来讲具有更强的方向性,所以镜面反射有可能不会将光线反射到我们的眼中,这就意味着镜面反射是和观察点相关的。
菲涅尔效应
菲涅尔方程以数学描述了入射光线被反射的百分比,即
反射的光量取决于介质材质和法向量与光向量的夹角。由于光照过程的复杂性,我们一般会采用石里克近似法来代替(