Version: Unity 6.0 (6000.0)
语言 : 中文
光照贴图数据格式
使用光照贴图对表面光照进行预计算

光照探针数据格式

光照探针中的光照信息被编码为球谐 (SH) 基函数。我们使用三阶多项式,也称为 L2 球谐函数。它们采用 27 个浮点值进行存储,每个颜色通道使用 9 个浮点值。

Unity 中 Realtime Global Illumination 实现,采用了一种与该功能的原开发者 Geomerics 不同的球谐函数方法,即 Peter-Pike Sloan 的论文球谐函数 (SH) 的实用小技巧 (Stupid Spherical Harmonics (SH) Tricks) 中的表示法和重建方法。Geomerics 最初的方法是基于 Ramamoorthi/Hanrahan 的论文辐照度环境贴图的高效表示方法 (An Efficient Representation for Irradiance Environment Maps) 中的表示法和重建方法。

用于重建的着色器代码可在 UnityCG.cginc 中找到,并使用 Peter-Pikes 论文的“附录 A10 辐射环境贴图的着色器/CPU 代码 (Appendix A10 Shader/CPU code for Irradiance Environment Maps)”中的方法。

数据在内部的排列顺序如下:

                        [L00:  DC]

            [L1-1:  y] [L10:   z] [L11:   x]

  [L2-2: xy] [L2-1: yz] [L20:  zz] [L21:  xz]  [L22:  xx - yy]

R、G 和 B 的 9 个系数的排列顺序如下:

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22, // red channel

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22, // blue channel

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22  // green channel

有关 Unity 光照探针系统的更多“背景”信息,可阅读 Robert Cupisz 在 2012 年游戏开发者大会 (GDC 2012) 上的演讲报告使用四面体曲面细分的光照探针插值 (Light Probe Interpolation Using Tetrahedral Tessellations)”- GDC 2012


  • 2017–06–08

  • 在 5.6 版更新了光照探针

光照贴图数据格式
使用光照贴图对表面光照进行预计算