1.光照追踪简介
光线追踪,简单地说,就是从摄影机的位置,通过影像平面上的像素位置(比较正确的说法是取样(sampling)位置),发射一束光线到场景,求光线和几何图形间最近的交点,再求该交点的著色。如果该交点的材质是反射性的,可以在该交点向反射方向继续追踪。光线追踪除了容易支持一些全局光照效果外,亦不局限于三角形作为几何图形的单位。任何几何图形,能与一束光线计算交点(intersection point),就能支持。
2. 实践
在设计光线追踪中,比较能想到一些对象就是:向量类(基础)、射线类(实现检测是否相交)、材质类和光照类,最后就是物体类:
2.1 射线类
射线类就是记录射线的信息,包括原点和方向:
2.2 材质类
就是记录材质的各个参数,包括环境反射系数、漫反射系数、镜面反射系数和镜面反射强度等参数,它最重要的一个方法就是根据光源等信息算出当前像素的颜色值。
这里面就涉及了很多光照的计算,包括环境光的计算、漫反射光的计算和镜面反射光的计算,下面说明各个光照计算公式。