目录
标准光照模型
光照模型有许多种,但在早期游戏引擎中,往往只使用一个光照模型,被称为标准光照模型。
标准光照模型只关心直接光照,也就是那些直接从光源发射出来照射到物体表面后,经过物体表面的一次反射直接进入摄像机的光线。
它的基本方法是,把进入到摄像机内的光线分为四个部分,每个部分用一种方法来计算它的贡献度。
自发光(emissive),这个部分用于描述给定一个方向时,一个表面本身会向该方向发射多少辐射量。需要注意的是,如果没有使用全局光照技术,这些自发光的表面并不会真正地照亮周围地物体,而是它本身看起来更亮了而已。
高光反射(specular),这个部分用于描述当光线从光源照射到模型表面时,该部分会在完全镜面反射方向散射多少辐射量。
漫反射(diffuse),这个部分用于描述当光线从光源照射到模型表面时,该表面会向每个方向散射多少辐射量。
环境光(ambient),这个部分用于描述其他所有地简介光照。
自发光
光线可以直接由光源发射进入摄像机而不用经过任何物体反射,标准光照模型使用自发光来计算这个部分的贡献度。
它的计算很简单,就是直接使用了改材质的自发光颜色。
自发光表面往往不会直接照亮周围的表面,它不会被当作是一个光源。
高光反射
(1)Phong模型
这里的高光反射是一种经验模型——不完全符合真实世界中的高光反射现象。用于计算沿着完全镜面反射方向的光线,让物体看起来更有光泽。
计算高光反射我们需要知道:表面法线、视角方向、光源方向、反射方向。我们只要知道前三个矢量(都进行了归一化&#