Measure “near” by dot product of unit vectors
$$ \mathbf{h} = bisector(\mathbf{v}, \mathbf{l}) = \frac{\mathbf{v}+\mathbf{l}}{\lVert\mathbf{v}+\mathbf{l}\rVert} $$
$$ \begin{aligned}L_{s}&= k_s(I/r^2)\max(0, cos\alpha)^p\\&=k_s(I/r^2)\max(0, \mathbf{n}\cdot\mathbf{h})^p\end{aligned} $$
$L_s$ → specularly reflected light; $k_s$ → specular coefficient
用半程向量是因为好计算,如果用反射向量则为Phone模型,计算量更大
Add constant color to account for disregarded illumination and fill in black shadows
This is approximate / fake! → 不讲究入射角度,不讲究观测角度,也不讲究法线角度 → 常数
$$ L_a = k_aI_a $$
$L_a$ → reflected ambient light; $k_a$ → ambient coefficient