phong渲染主要是将环境光(ambient)、漫反射(diffuse)和镜面反射(specular)相结合
其中所有系数均为常数,另外需要用到表面法向量$\mathbf{n}$,光线方向$\mathbf{l}$和计算得到的$\mathbf{h}$
物体颜色$\times$环境光系数即可 $$ AmbiColor=k_a*Color $$
两种漫反射模型:一种为Lambert模型(上),一种为Half-Lambert模型(下) $$ DiffColor=(Color * k_d)*max(0, \mathbf{n}\cdot\mathbf{l}) $$
Phong反射
$$ SpecColor=(Colork_s)max(0, \mathbf{v}\cdot \mathbf{r})^{\gamma}\ \mathbf{r}=\mathbf{l}-2(\mathbf{n} \cdot \mathbf{l})\mathbf{n} $$ 其中$\mathbf{v}$表示观察方向,$\mathbf{r}$表示光线反射方向,$\gamma$取值越大光斑越明显
Blinn-Phong