中EN
概念页

菲涅耳反射

Fresnel Reflectance

菲涅耳方程描述光在两种物质的平坦界面上反射的比例 FF,它取决于入射角和两侧折射率:垂直入射时为材质特有的 F0F_0(特征镜面色),掠射时趋于 1。实时渲染用以 F0F_0 为参数的 Schlick 近似。电介质 F0F_0 低且无色,金属 F0F_0 高且常带色,半导体介于其间;金属度参数化利用了这一点。光从物体内部射向表面时还可能发生全内反射。本页对应 RTR4 9.5 节。

基本性质

  • 菲涅耳方程要求界面在几何光学意义上平坦,即没有 1–100 个波长大小的不规则。
  • 反射方向:ri=2(n⋅l)n−l\mathbf{r}_i=2(\mathbf{n}\cdot\mathbf{l})\mathbf{n}-\mathbf{l},与 l\mathbf{l} 同样和法线成 θi\theta_i 角。
  • 外反射(n1<n2n_1<n_2,通常从空气射入,取 n1=1n_1=1)下 F(θi)F(\theta_i):θi=0°\theta_i=0°(垂直入射)时为 F0F_0;随角度增大趋向 1,在 90° 时所有频率都为 1(白色)。曲线高度非线性,到约 75° 前几乎不变,之后迅速升到 1;大体单调,但铝等材质在变白前有轻微下凹。
  • 掠射光对应掠射视线(镜面反射),所以反射增强主要出现在物体边缘,而且这些部分在相机中被透视压缩、占像素很少;因此书中按 sin⁡θi\sin\theta_i 绘制曲线以反映视觉占比。
  • 渲染文献把掠射角反射增强称为菲涅耳效应。简单实验:低头看手机黑屏中显示器的倒影很弱,把手机抬到眼睛和显示器之间再看,倒影几乎和显示器一样亮。
  • 在 BRDF 中常用其他向量代替 n\mathbf{n},写作 F(n,l)F(\mathbf{n},\mathbf{l});微表面 BRDF 中用半向量 h\mathbf{h}。

Schlick 近似

菲涅耳方程本身复杂,需要可见光谱上采样的(可能是复数的)折射率。Schlick 近似: F(n,l)≈F0+(1−F0)(1−(n⋅l)+)5F(\mathbf{n},\mathbf{l})\approx F_0+(1-F_0)\big(1-(\mathbf{n}\cdot\mathbf{l})^+\big)^5

  • 即白色与 F0F_0 之间的 RGB 插值,简单而相当准确。铬、铁、锌等偏离较大的材质误差也很细微。需要精确表现时可用 Gulbrandsen 的近似(能接近金属的完整菲涅耳方程,但更贵),或允许指数不为 5。Lagarde 总结了菲涅耳方程及多种近似。
  • 更一般的形式(部分应用使用): F(n,l)≈F0+(F90−F0)(1−(n⋅l)+)1/pF(\mathbf{n},\mathbf{l})\approx F_0+(F_{90}-F_0)\big(1-(\mathbf{n}\cdot\mathbf{l})^+\big)^{1/p} 可控制 90° 时的颜色和过渡的"锐度"。动机多为艺术控制,也有助于匹配现实:改变指数可更好拟合某些材质;F90F_{90} 设为非白色可匹配菲涅耳方程描述不好的材质,如覆盖颗粒与波长相当的细尘的表面。
  • F0F_0 范围明确在 [0,1][0,1],可用常规拾色界面设置并用颜色纹理格式存储,且有大量真实材质参考值。也可由折射率计算(n1=1n_1=1): F0=(n−1n+1)2F_0=\left(\frac{n-1}{n+1}\right)^2 对复折射率(金属)取结果的模;折射率随光谱变化明显时,应先在密集波长上计算 F0F_0 再转为 RGB。

典型 F0F_0 值

电介质(绝缘体)、金属(导体)、半导体三类。下表中纹理值为 sRGB 编码的 8 位值。

电介质线性 F0F_0纹理值说明
水0.0239
活体组织0.02–0.0439–56含水多的偏低,干燥的偏高
皮肤0.02847
眼睛0.02544干燥角膜(泪液接近水)
头发0.04661
牙齿0.05868
织物0.04–0.05656–67聚酯最高,多数低于 0.05
石头0.035–0.05653–67石头中最常见矿物的值
塑料、玻璃0.04–0.0556–63不含水晶玻璃
水晶玻璃0.05–0.0763–75
宝石0.05–0.0863–80不含钻石及仿钻
类钻石0.13–0.2101–124钻石及立方氧化锆、莫桑石
  • 日常材质大多是电介质(玻璃、皮肤、木、头发、皮革、塑料、石头、混凝土、水;水导电是因为杂质)。F0F_0 通常 ≤0.06,因此菲涅耳效应在电介质上特别明显;光学性质在可见光谱上变化很小,反射无色,用标量即可。未知电介质取 0.04 是合理默认值。宝石的鲜艳颜色来自内部吸收,与菲涅耳反射无关。
  • 金属 F0F_0 几乎总在 0.5 以上,部分带颜色,按亮度递增举例(线性 RGB):钛 (0.542, 0.497, 0.449)、铬 (0.549, 0.556, 0.554)、铁 (0.562, 0.565, 0.578)、铜 (0.955, 0.638, 0.538)、黄铜 C260 (0.910, 0.778, 0.423)、锌 (0.664, 0.824, 0.850)、金 (1.000, 0.782, 0.344)、铝 (0.913, 0.922, 0.924)、银 (0.972, 0.960, 0.915)。金色彩最强,红通道略超出 sRGB/Rec. 709 色域(表中已钳制),蓝通道是表中唯一显著低于 0.5 的值。金属立即吸收透射光,没有次表面散射或透明,可见颜色全部来自 F0F_0。
  • 半导体介于最亮电介质与最暗金属之间(钻石 0.171–0.176、晶体硅 0.345–0.426、钛 0.449–0.542)。除非刻意表现奇异材质,应避免 0.2–0.45 之间的 F0F_0。

水下的 F0F_0

周围不是空气时,用相对折射率: F0=(n1−n2n1+n2)2F_0=\left(\frac{n_1-n_2}{n_1+n_2}\right)^2 水的折射率约为空气的 1.33 倍。折射率接近水的电介质受影响最大,金属几乎不受影响:皮肤 0.028→0.0007,Schott K7 玻璃 0.042→0.004,钻石 0.172→0.084,铁 (0.562, 0.565, 0.578)→(0.470, 0.475, 0.492),银几乎不变。

参数化技巧

  • 金属度:用表面色 csurf\mathbf{c}_{\text{surf}} 和标量 mm 同时决定 F0F_0 与 ρss\rho_{ss}(m=1m=1 时 F0=csurfF_0=\mathbf{c}_{\text{surf}}、无漫反射;m=0m=0 时 F0F_0 为电介质值、ρss=csurf\rho_{ss}=\mathbf{c}_{\text{surf}})。Disney 增加 "specular" 参数控制电介质 F0F_0,Unreal 采用;Frostbite 的电介质 F0F_0 范围更大;《使命召唤:无限战争》把金属度和 specular 打包进一个值以省内存,并让美术直接绘制 F0F_0 和 ρss\rho_{ss},再自动转换为金属度参数化作为压缩手段。缺点:无法表达 F0F_0 带色的涂层电介质,金属与电介质交界处可能出瑕疵。
  • 低 F0F_0 关闭边缘增亮:除特殊增透膜外没有材质的 F0F_0 低于 0.02,于是用低于 0.02 的值关闭凹洞区域的菲涅耳边缘增亮,代替单独的镜面遮蔽纹理(Schüler 提出,Unreal、Frostbite 使用)。

内反射与全内反射

  • 内反射(n1>n2n_1>n_2)发生在光从透明物体内部射到表面时。Snell 定律给出 θt>θi\theta_t>\theta_i;当 θi\theta_i 超过临界角 θc\theta_c 时没有透射,全部反射,即全内反射。
  • 菲涅耳方程对入射与透射方向对称,所以内反射曲线像"压缩"的外反射曲线:F0F_0 相同,但在 θc\theta_c 而非 90° 达到 1,平均反射率更高——这就是水下气泡呈现银亮外观的原因。
  • 只有电介质有内反射(金属与半导体迅速吸收内部光)。电介质折射率为实数,临界角为: sin⁡θc=n2n1=1−F01+F0\sin\theta_c=\frac{n_2}{n_1}=\frac{1-\sqrt{F_0}}{1+\sqrt{F_0}}
  • Schlick 近似对外反射正确;用于内反射时以透射角 θt\theta_t 代替 θi\theta_i。若已计算透射方向 t\mathbf{t}(例如渲染折射时)可直接使用,否则用 Snell 定律计算较贵且需要折射率。

GEA 的视角:折射、透射亮度与全内反射(卷 II 12.4.4、12.1.2)

  • 光子遇到两种材质的边界时可以被反射(镜面的路径可预测,漫反射即散射的方向随机)、透射并折射,或被吸收(能量变成热)。吸收随波长不同,就产生了材质的表观颜色:白色物体反射所有波长,红色物体吸收红色以外的波长(卷 II 12.1.2.1)。
  • 两种透光材质之间的边界叫界面 (interface)。界面上反射与折射的组合,GEA 统称为菲涅耳反射(卷 II 12.4.4)。
  • 折射率 n=c/vn=c/v;Snell 定律 sin⁡θisin⁡θt=v1v2=n2n1=n21\dfrac{\sin\theta_i}{\sin\theta_t}=\dfrac{v_1}{v_2}=\dfrac{n_2}{n_1}=n_{21},n21n_{21} 为相对折射率。
  • 假设无吸收,反射亮度与透射亮度为(卷 II 12.4.4):

Lr=ρF(θi) Li,Lt=(1−ρF(θi))sin⁡2θisin⁡2θt LiL_r=\rho_F(\theta_i)\,L_i,\qquad L_t=\big(1-\rho_F(\theta_i)\big)\frac{\sin^2\theta_i}{\sin^2\theta_t}\,L_i

正弦平方之比来自入射与透射光线的投影面积和立体角不同。本页上文的 RTR4 用 FF 与 F0F_0、Schlick 近似描述反射部分,GEA 写作 ρF\rho_F 且没有讨论 Schlick 近似。透射亮度的 sin⁡2\sin^2 比值也就是 (n2/n1)2(n_2/n_1)^2,说明光进入光密介质时亮度会变大。

  • 全内反射:入射角为 0 时不偏折;入射角增大偏折越来越明显;相对折射率够极端时会达到临界角 θc\theta_c,折射光平行于界面,超过它光就反射回源介质(卷 II 12.4.4.1)。与本页「内反射与全内反射」一节一致。

    原书问题(12.4.4.1):GEA 说"相对折射率足够极端"才会出现临界角。全内反射的条件不是折射率差有多大,而是光从折射率较高的一侧射向较低的一侧(n1>n2n_1>n_2):此时只要 n1>n2n_1>n_2 就存在临界角 θc=arcsin⁡(n2/n1)\theta_c=\arcsin(n_2/n_1),入射角超过它即全反射;从光疏射向光密介质(n1<n2n_1<n_2)时无论差多大都不会发生(Wikipedia "Total internal reflection";Hecht《Optics》第 4.7 节)。另外 Snell 定律中正弦之比等于而非"正比于"速度之比。

  • 进入参与介质的光子会被多次散射,偏折够大的会回到源介质,即次表面散射(卷 II 12.4.4.2,见 实时次表面散射)。在光线追踪里,菲涅耳反射通过额外发一条透射光线实现,见 随机光线追踪与路径追踪。

PBRT 的视角:精确菲涅耳方程、导体与电介质(PBRT 4e 9.3–9.5)

上文 RTR4 以 Schlick 近似和 F0F_0 为主;PBRT 是离线光谱渲染器,直接计算完整的菲涅耳方程。

三类材料与折射率(9.3.1–9.3.2)

  • 电介质(玻璃、水、空气)电子被束缚;导体(金属、石墨)电子可自由移动,能量迅速变热,约 0.1 μm 内全部吸收,pbrt 把金属当不透明;半导体(硅、锗)兼具两者,pbrt 不专门处理。
  • 表 9.1 的可见光平均折射率:真空 1.0,海平面空气 1.00029,冰 1.31,20°C 水 1.333,熔融石英 1.46,玻璃 1.5–1.6,蓝宝石 1.77,钻石 2.42。折射率随波长变化(色散),pbrt 通过随机挑选单一波长再构造 DielectricBxDF 实现色散(见 光谱渲染)。

方向:反射与折射的向量形式(9.3.3–9.3.4)

  • 反射:ωr=−ωo+2(n⋅ωo)n\omega_r=-\omega_o+2(n\cdot\omega_o)n(式 9.1);局部坐标系中只需把 x,yx,y 取反。
  • Snell:ηisin⁡θi=ηtsin⁡θt\eta_i\sin\theta_i=\eta_t\sin\theta_t;pbrt 统一使用相对折射率 η=ηt/ηi\eta=\eta_t/\eta_i,Refract() 中的 eta 更具体地是内部相对外部(以法线为准)的比值,光从内部射出时函数自己翻转法线、取倒数,并通过 etap 返回沿光线的实际相对折射率。
  • 折射方向:ωt=−ωi/η+[(ωi⋅n)/η−cos⁡θt]n\omega_t=-\omega_i/\eta+\big[(\omega_i\cdot n)/\eta-\cos\theta_t\big]n(式 9.4),cos⁡θt=1−sin⁡2θi/η2\cos\theta_t=\sqrt{1-\sin^2\theta_i/\eta^2}(式 9.5);根号内为负即全内反射,临界角 θc=arcsin⁡(1/η)\theta_c=\arcsin(1/\eta)。自行计算:空气–玻璃(1.5)为 41.8°,书中"约 42°"正确;水(1.333)为 48.6°,与 9.5.2 节一致。

多少:菲涅耳方程(9.3.5–9.3.6)

r∥=ηcos⁡θi−cos⁡θtηcos⁡θi+cos⁡θt,r⊥=cos⁡θi−ηcos⁡θtcos⁡θi+ηcos⁡θt,Fr=12(r∥2+r⊥2)(式 9.7)r_\parallel=\frac{\eta\cos\theta_i-\cos\theta_t}{\eta\cos\theta_i+\cos\theta_t},\qquad r_\perp=\frac{\cos\theta_i-\eta\cos\theta_t}{\cos\theta_i+\eta\cos\theta_t},\qquad F_r=\tfrac12\big(r_\parallel^2+r_\perp^2\big)\quad(\text{式 9.7})

  • 振幅比平方得功率,再对两种偏振取平均(假设非偏振光)。FrDielectric() 与 Refract() 用同样的"必要时翻转界面"逻辑;全内反射时返回 1。
  • 导体:折射率变成复数 η−ik\eta-ik,k>0k>0 为吸收系数。平面波 E(z)=e−iαηzE(z)=e^{-i\alpha\eta z} 代入复折射率后实部为 e−αkzcos⁡(αηz)e^{-\alpha kz}\cos(\alpha\eta z),随深度指数衰减(与 11.1 节体积吸收系数尺度完全不同,不要混淆)。FrComplex() 只是把 Float 换成 complex<Float>,norm() 取模平方;此时 cos⁡θt\cos\theta_t 有虚部,不再是透射角余弦。不同文献对 kk 的符号、r∥r_\parallel 的符号约定不同,只在模拟偏振时要紧。
  • 和上文 RTR4 的关系:RTR4 用 F0F_0 和 Schlick 近似(导体用 RGB F0F_0);PBRT 用逐波长的 (η,k)(\eta,k) 光谱数据(如金,图 9.12),不使用 Schlick。两者不矛盾,是精度与成本的取舍;上文 GEA 的透射亮度 sin⁡2\sin^2 比值也与下面的式 (9.12) 一致。

光滑导体与电介质 BxDF(9.4–9.5)

  • 完美镜面 BRDF 必须除以 ∣cos⁡θr∣|\cos\theta_r|:fr=Fr(ωr) δ(ωi−ωr)/∣cos⁡θr∣f_r=F_r(\omega_r)\,\delta(\omega_i-\omega_r)/|\cos\theta_r|(式 9.9),否则代入散射方程会多出一个余弦。
  • DielectricBxDF 以概率 R/(R+T)R/(R+T) 选反射、T/(R+T)T/(R+T) 选透射;此时 f/pf/p 中的 RR 或 TT 相消,所有样本贡献相同,菲涅耳项体现在反射与透射路径的比例上(图 9.15 与等概率选择相比误差明显降低)。η=1\eta=1(折射率匹配)时只有透射。浮点误差可能让采样了透射却遇到全内反射,此时返回无效样本。
  • 薄电介质 ThinDielectricBxDF(窗玻璃、保鲜膜):两层互逆的平行界面,忽略侧向位移,把无穷次内反射求和: R′=R+T2R1−R2,T′=1−R′(式 9.10)R'=R+\frac{T^2R}{1-R^2},\qquad T'=1-R'\quad(\text{式 9.10}) 透射方向就是 −ωo-\omega_o。自行化简:T=1−RT=1-R 时 R′=2R1+RR'=\frac{2R}{1+R};η=1.5\eta=1.5 正入射时 R=0.04R=0.04、R′=0.0769R'=0.0769,接近两倍。

非对称散射与伴随 BSDF(9.5.2)

光进入光密介质时能量被压缩到更小的立体角(水下的 Snell 窗口),辐亮度必须增大: Lo=Li ηo2ηi2(式 9.12)L_o=L_i\,\frac{\eta_o^2}{\eta_i^2}\quad(\text{式 9.12}) 因此 BTDF 不对称。光源出发的路径传输重要性 (importance),此时要用伴随 BSDF f∗(p,ωo,ωi)=f(p,ωi,ωo)f^*(p,\omega_o,\omega_i)=f(p,\omega_i,\omega_o);TransportMode 告诉 BxDF 当前传输的是辐亮度还是重要性:传辐亮度时乘上式的缩放(代码中 ft /= Sqr(etap)),传重要性时不乘。双向算法若忽略这一点会得到错误结果。

原书问题(9.3–9.5,已解码网页 SVG)

  • 图 9.6 图注写 ω⊥=(sin⁡θ)n\omega_\perp=(\sin\theta)\mathbf n(SVG 字形确认为粗体 n\mathbf n)。垂直分量与 n\mathbf n 正交,只是长度为 sin⁡θ\sin\theta;应为 ω⊥=ω−(n⋅ω)n\omega_\perp=\omega-(\mathbf n\cdot\omega)\mathbf n,∥ω⊥∥=sin⁡θ\|\omega_\perp\|=\sin\theta(正文的公式正确)。
  • 9.3.2 说空气–钻石界面"折射率差 2.42"、空气–玻璃"差约 1.5"。2.42 和 1.5 是比值(相对折射率),差分别是 1.42 和 0.5;反射强弱由比值决定(式 9.7 只含 η\eta)。
  • 式 (9.13) 写作 ηo2ft(p,ωo,ωi)=ηi2ft(p,ωi,ωo)\eta_o^2f_t(p,\omega_o,\omega_i)=\eta_i^2f_t(p,\omega_i,\omega_o),紧接着的伴随 BTDF 写作 ft(p,ωi,ωo)=ηi2ηo2ft(p,ωo,ωi)f_t(p,\omega_i,\omega_o)=\frac{\eta_i^2}{\eta_o^2}f_t(p,\omega_o,\omega_i)。由式 (9.13) 解出的是 ft(p,ωi,ωo)=ηo2ηi2ft(p,ωo,ωi)f_t(p,\omega_i,\omega_o)=\frac{\eta_o^2}{\eta_i^2}f_t(p,\omega_o,\omega_i),两式互相矛盾。与 Veach(1997 博士论文第 5 章)的结论 ft(ωi→ωo)/ηo2=ft(ωo→ωi)/ηi2f_t(\omega_i\to\omega_o)/\eta_o^2=f_t(\omega_o\to\omega_i)/\eta_i^2 对照(pbrt 的 f(p,ωo,ωi)f(p,\omega_o,\omega_i) 即 f(ωi→ωo)f(\omega_i\to\omega_o)),正确的是伴随式;式 (9.13) 应为 ηi2ft(p,ωo,ωi)=ηo2ft(p,ωi,ωo)\eta_i^2f_t(p,\omega_o,\omega_i)=\eta_o^2f_t(p,\omega_i,\omega_o),这样也与式 (9.12) 的 ηo2/ηi2\eta_o^2/\eta_i^2 缩放方向一致。pbr-book-website 与 pbrt-v4 的 issue 中未见此条。
  • 9.3.5 写偏振方向垂直或平行于"place of incidence containing the incident direction and surface normal",应为 plane of incidence(入射面);属笔误。

LearnOpenGL 的视角:Schlick 与金属度 F0F_0(PBR / Theory)

来源:PBR Theory Fresnel 节。

F = F0 + (1-F0)*(1-cosθ)^5。电介质 F0≈0.04F_0≈0.04;金属用 albedo 作 F0F_0:F0 = mix(vec3(0.04), albedo, metalness)。掠射角反射增强;与 Naty Hoffman 表中常见材质 F0F_0 一致。完整导体/电介质方程见上文 PBRT 视角。

  1. realtime_rendering_4ed.pdf 第 9 章 Physically Based Shading
  2. Game_Engine_Architecture_4th_Edtion_Volume_2_-_Jason_Gregory.pdf
  3. Jason Gregory《Game Engine Architecture》第 4 版(2026)卷 II 第 12 章 12.1.2、12.4.4 节
  4. PBRT 4e source excerpt: chapter 09 (Reflection Models)
  5. Pharr, Jakob, Humphreys《Physically Based Rendering: From Theory to Implementation》第 4 版(MIT Press, 2023)第 9 章 9.1–9.9 节,pbr-book.org/4ed/Reflection_Models
  6. PBR — Theory
  7. learnopengl.com/PBR/Theory

相关页面

图形学基于物理的着色Physically Based Shading基于物理的着色从光与物质交互的物理出发,用 BRDF 和反射方程计算表面沿视线方向射出的辐射亮度:镜面项来自微表面理论与菲涅耳反射,漫反射项来自局部次表面散射,布料、波动光学与分层材质再作扩展。本页是 RTR4 第 9 章的总览,并收录该章第 9.13 节的材质混合与材质过滤(镜面抗锯齿)。图形学光与物质的交互Light-Matter Interaction光是电磁横波;它与物质交互的核心是散射(振荡的电场带动电荷振荡、再辐射出新波)和吸收。粒子的大小决定散射特性,均匀介质用复折射率描述,表面是折射率的突变界面,把光分为反射和折射;折射进物体的光经次表面散射后部分射出。散射距离与着色尺度的比较决定能否把次表面散射当作局部的漫反射项。本页对应 RTR4 9.1–9.2 节。图形学微表面理论Microfacet Theory微表面理论把小于像素的微几何建模为大量平坦微面元,用法线分布函数 (NDF) D(\mathbf{m}) 描述其朝向统计,用遮蔽函数 G1 和遮蔽-阴影函数 G2 描述可见性,并据此推导宏观 BRDF。镜面反射时每个微面元是完美菲涅耳镜,积分退化为在半向量处求值,得到 FG2D/(4|\mathbf{n}\cdot\mathbf{l}||\mathbf{n}\cdot\mathbf{v}|)。GGX 分布配合高度相关的 Smith G2 是当今影视和游戏最常用的组合;该框架忽略微面元间的多次反射,可用补偿项弥补。本页对应 RTR4 9.6–9.8 节。图形学双向反射分布函数BRDFBRDF f(\mathbf{l},\mathbf{v}) 量化局部反射:只依赖入射方向 \mathbf{l} 和出射(观察)方向 \mathbf{v},涵盖表面反射与局部次表面散射。它通过反射方程把入射辐射亮度转换为出射辐射亮度,物理上需满足 Helmholtz 互易性与能量守恒,用方向反照率检验。方向光和精确光源可从小面光源的极限推导,使积分变为对光源的求和。本页对应 RTR4 9.3–9.4 节。图形学漫反射与次表面 BRDFDiffuse & Subsurface BRDF Models漫反射项模拟不透明电介质中的局部次表面散射(金属没有)。其颜色是次表面反照率 \rho{ss};选用光滑表面还是粗糙表面模型,取决于表面不规则与次表面散射距离的相对大小,而不只是表面有多粗糙。光滑表面模型从 Lambert 出发,通过与镜面项的能量权衡改进;粗糙表面模型有 Disney 漫反射、Oren-Nayar、Gotanda、Hammon 等。本页对应 RTR4 9.9 节。图形学显示编码与 sRGBDisplay Encoding & sRGB光照、纹理等计算假设数值是线性的,但显示缓冲和纹理使用非线性编码。简短的回答是:着色器输出 [0,1] 的颜色要取 1/2.2 次幂(gamma 校正),读入的纹理和颜色做相反的变换,多数情况下可以让 GPU 自动完成。忽略它会导致画面偏暗、色相偏移、光照叠加错误和抗锯齿边缘"绳索化"。图形学半透明表面与折射Translucent Surfaces & Refraction玻璃、水、红酒等高吸收、低散射材质:覆盖率 \alpha 与透射率 Tr 是两回事——前者遮挡背景,后者按波长过滤背景。厚度变化时按 Beer-Lambert 定律计算彩色透射;折射可用环境贴图或屏幕空间扰动近似,粗糙表面按粗糙度模糊背景;焦散则用动画贴图、光线光栅化或图像空间光子溅射近似(RTR4 14.5 节)。图形学布料着色Cloth Shading布料的微几何与其他材质不同:可能有高度重复的编织结构、垂直伸出表面的纤维,或两者兼有,因此常需要专门的着色模型来表现各向异性高光、粗糙散射(半透明纤维造成的边缘亮光)以及随视角的颜色变化。布料 BRDF 分为经验模型、基于微表面理论的模型和微圆柱模型三类。本页对应 RTR4 9.10 节。图形学着色模型与光源Shading Models & Light Sources着色模型描述物体颜色如何随表面朝向、观察方向和光照变化。光源通过两个参数与着色模型交互:指向光源的方向 \mathbf{l} 和光的颜色 \mathbf{c}{\text{light}}。方向光、点光源、聚光灯的区别就在于这两个量如何随场景变化;距离衰减和方向衰减函数的选择同时影响画面与性能。图形学薄膜干涉与分层材质Thin-Film & Layered Materials几何光学假设表面不规则要么小于一个波长、要么大于约 100 个波长;真实表面在 1–100 个波长范围(纳米几何)也有不规则,会产生衍射,厚度接近光波长的表面薄膜会产生薄膜干涉,这些都需要波动光学。现实材质还常常层层叠加,最简单也最重要的是清漆层。本页对应 RTR4 9.11–9.12 节。图形学环境贴图Environment Mapping把球面函数记录在一张或多张图像里、用纹理查找来解码,就是环境贴图。它比其他球面表示占内存多,但解码简单快速,能表达任意高频和任意动态范围。最基本的用法是反射贴图:假设镜面 BRDF,用反射视线向量查表。本页比较经纬度、球面、立方体、双抛物面和八面体等投影。图形学基于图像的光照Image-Based Lighting用纹理数据(通常是相机拍摄的 360° HDR 全景)照明场景称为基于图像的光照。实时引擎常用预滤波的高光立方体贴图(配合 split-sum 近似)处理高光,用辐照度环境贴图或球谐系数处理漫反射。它们只依赖少量光照图元而不需要知道场景其他表面,因此仍属局部光照。图形学实时次表面散射Real-Time Subsurface Scattering蜡、皮肤、牛奶等高散射固体中,光在离入射点不远处重新射出;当偏移大于一个像素时就不能再用 BRDF 表示。实时方法从便宜的包裹光照、法线模糊、预积分皮肤,到纹理空间/屏幕空间扩散,再到针对大尺度散射的深度图技术(RTR4 14.6 节)。图形学随机光线追踪与路径追踪Stochastic Ray Tracing & Path Tracing光线追踪用投射光线同时解决可见性问题和光照问题。GEA 从最简单的"眼睛光线 + 着色方程"讲起,逐步加入阴影光线、透射光线、用蒙特卡洛估计渲染方程的随机光线追踪、递归间接光照,再到每次只走一条路径的路径追踪、双向路径追踪和 Metropolis 光传输,最后讨论降噪与光线投射效率(GEA4 卷 II 12.6.3–12.6.5)。图形学光谱渲染Spectral Rendering光谱渲染 (Spectral Rendering) 在光传输中直接处理波长,而不是 RGB 三元组。pbrt 第 4 版在每条相机光线上随机采样少数几个波长(默认 4 个),把光谱积分并入渲染本来就在做的蒙特卡洛积分;最后用颜色匹配函数估计像素的 XYZ/RGB。输入端的 RGB 颜色则通过"sigmoid 二次多项式"转换成平滑光谱。本页按 PBRT 4e 4.5、4.6.4–4.6.6 节整理。图形学毛发渲染Hair & Fur Rendering毛发由角质层、皮质、髓质三层构成,可看作用曲线离散化的体积。几何上用沿引导曲线挤出的四边形条带并配合 alpha/顺序无关透明;着色用 BSDF(R、TT、TRT 分量),再加体积自阴影与多次散射近似;动物短毛可用壳与鳍或几何着色器挤出(RTR4 14.7 节)。游戏美术PBR 材质校验与参考值PBR Validation & Reference Values校验 PBR 贴图先问「是不是金属」,再对照反照率亮度、金属 F0、电介质 F0 的实测区间。本页汇总《The PBR Guide》附录与 Filament Reflectance 表中的生产向数字,并列出常见错误模式。游戏美术Base Color 与反照率制作Base Color & Albedo AuthoringBase Color(MR)/ Diffuse·Albedo(SG)承载物质固有色:电介质为漫反射反照率,金属为镜面反射色(F0)。制作要点是保持正确亮度区间、不要画进光照/阴影/AO(微遮蔽例外),并注意 sRGB 贴图与线性着色的分工。

被这些页面引用3 篇

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原