最近重温3DMM中的公式,推导反射光线的公式,过程如下:
- 根据反射定律,反射角与入射角相等,设为θ。将入射光线记为I,反射光线记为R,平面法向量为N,如下图所示。
- 引入两个变量A和B
其中,B=−cos(θ)∗N, 由向量关系可得:
IR=A+B=A−B
将B带入I和R的表达式中,可得:
IR=A−cos(θ)∗N=A+cos(θ)∗N
因此,R=I+2cos(θ)∗N
又有cos(θ)=−N⋅I 由此可得反射光线3D表达:
R=I−2(N⋅I)N
证毕。
与原文2(N⋅I)N−I相差一个负号,并不影响后继计算。

参考链接:
https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/reflection-refraction-fresnel