目录
第八章 光照
8.1 光和材质的交互
略
8.2 法向
- 使用顶点法向取代面法向
- 当世界坐标矩阵不是单位阵时,注意法向的变换
8.3 光照中其他重要的向量
- E为眼镜,星号为光源
8.4 Lambert余弦定律
- radiant flux P(辐射通量):单位时间的光能量
- irradiance E(辐照度):单位面积单位时间的光能量(density of radiant flux per area)
- 决定了物体(接受到光)的明暗
- Lambert余弦定律:
E 2 = P A 2 = P A 1 cos θ = E 1 cos θ = E 1 ( n ⋅ L ) E_2 = \frac{P}{A_2} = \frac{P}{A_1} \cos \theta = E_1 \cos \theta = E_1 (\mathbf{n} \cdot \mathbf{L}) E2=A2P=A1Pcosθ=E1cosθ=E1(n⋅L)
8.5 散射光(diffuse lighting)
- 出射散射光的强度和入射光强度B_L、入射光角度L、散射系数m_d相关
c d = max ( L ⋅ n , 0 ) ⋅ B L ⊗ m d \mathbf{c}_d = \max(\mathbf{L} \cdot \mathbf{n}, 0) \cdot \mathbf{B}_L \otimes \mathbf{m}_d cd=max(L⋅n,0)⋅BL⊗md
8.6 环境光(ambient lighting)
- 出射环境光的强度和环境光强度A_L、散射系数m_d相关
c a = A L ⊗ m d \mathbf{c}_a = \mathbf{A}_L \otimes \mathbf{m}_d ca=AL⊗md
8.7 镜面光(specular lighting)
8.7.1 Fresnel效应
- Fresnel效应:当光线到达两种介质的分界面时,一部分被反射,一部分被折射。记R_F为反射光的比例,则1-R_F为折射光的比例。R_F随入射角的变化而变化,当入射角为90°时,光线平行分界面,R_F为1;当入射角为0°时,光线垂直于分界面,R_F为R_F(0°)。中间,根据Schlick估计,有
R F ( θ i ) = R F ( 0 ) + ( 1 − R F ( 0 ) ) ( 1 − cos ( θ i ) ) 5 \mathbf{R}_F(\theta_i) = \mathbf{R}_F(0) + (1 - \mathbf{R}_F(0)) (1 - \cos(\theta_i))^5 RF(θi)=RF(0)+(1−RF(0))(1−cos(θi))5
- 常见的R_F(0):
- 水(0.02,0.02,0.02)
- 玻璃(0.08,0.08,0.08)
- 塑料(0.05,0.05,0.05)
- 金(1.0,0.71,0.29)
- 银(0.95,0.93,0.88)
- 水(0.95,0.64,0.54)
- 对于透明/半透明的物体,则折射光就是折射光;但对于不透明的物体,折射光在物体内部多次反射、吸收,最终成为散射光
8.7.2 粗糙度
- 微平面的法向和宏观物体法向不同,使得镜面反射光呈现光锥
- 反射光分布近似余弦函数幂乘的形状,再乘以一个近似的保持能量的归一化项,有
S ( θ h ) = m + 8 8 cos m ( θ h ) = m + 8 8 ( n ⋅ h ) m S(\theta_h) = \frac{m+8}{8} \cos^m (\theta_h) = \frac{m+8}{8} (\mathbf{n} \cdot \mathbf{h})^m S(θh)=8m+8cosm(θh)=8m+8(n⋅h)m
- 出射镜面光强度与入射光方向L、入射光强度B_L、半途向量h、材质Fresnel效应下反射比例R_F、粗糙度m相关
c s = max ( L ⋅ n , 0 ) ⋅ B L ⊗ R F ( α h ) m + 8 8 ( n ⋅ h ) m \mathbf{c}_s = \max(\mathbf{L} \cdot \mathbf{n}, 0) \cdot \mathbf{B}_L \otimes R_F(\alpha_h) \frac{m+8}{8} (\mathbf{n} \cdot \mathbf{h})^m cs=max(L⋅n,0)⋅BL⊗RF(αh)8m+8(n⋅h)m
8.8 光照模型