A pedagogical survey · 2023.08 — 2026.05
3D Gaussian Splatting · Relighting
原版 3DGS 把几何 + 材质 + 光照 + 阴影全部烤进了一锅颜色——
像烤好的面包,你没法再单独换调料。Relighting 这条主线要做的是
把这锅东西拆开:哪些是几何,哪些是材质,哪些是光。
本文从 2023 年 8 月 Kerbl 等人的原始 3DGS 一路讲到 2026 年最新前沿,
把每篇论文 一句话的关键想法 和
它跟前一代的区别 讲清楚。
预设读者:会基本 NeRF、SDF、机器学习、微积分、线性代数;
图形学的 BRDF / envmap / SH 这些听过但不一定真懂。
§1—§6 从头补齐这些。
约 60 篇论文 · 4 个交互演示 · 多段可读伪代码 · 最后更新 2026-05-19
§1光是什么——radiance 与渲染方程
照相机的每个像素感应的是从某个方向射进来的光。
用图形学的话说,像素颜色 $\approx$ 沿"出射方向 $\omega_o$"的 radiance(辐射亮度),
记作 $L_o(\mathbf{x}, \omega_o)$——意思是"从空间点 $\mathbf{x}$ 沿方向 $\omega_o$ 出去的光的亮度"。
直觉
把空间想成被无数条光线充满。每条光线有起点、方向、亮度。
Radiance $L$ 就是这条光线的"亮度"。
渲染问题 = 已知场景(几何 + 材质 + 灯),求每条看向相机的光线的亮度。
1986 年 Kajiya 写下的渲染方程(rendering equation),是整个 PBR 的圣经:
$$
L_o(\mathbf{x}, \omega_o) \;=\; L_e(\mathbf{x}, \omega_o) \;+\; \int_{\Omega} f_r(\mathbf{x}, \omega_i, \omega_o)\, L_i(\mathbf{x}, \omega_i)\, (\omega_i \cdot \mathbf{n})\, \mathrm{d}\omega_i
$$
逐项翻译:
- $L_o(\mathbf{x}, \omega_o)$:从表面点 $\mathbf{x}$ 沿出射方向 $\omega_o$ 出去的总光亮度。
- $L_e$:表面自己发的光(灯泡、屏幕),一般为 0。
- $\int_{\Omega}$:对上半球方向所有入射方向积分。
- $L_i(\mathbf{x}, \omega_i)$:从 $\omega_i$ 射进来的光——这正是后面要建模的"光照"。
- $f_r$:BRDF,描述这个表面把"从 $\omega_i$ 进来的光"反射到"$\omega_o$ 方向"的比例。
- $(\omega_i \cdot \mathbf{n})$:余弦项,光斜着射进来要打折扣。
一句话渲染方程
某点向相机发出的颜色 = "四面八方进来的光"
$\times$ "表面把它们反射出去的方式" $\times$ "余弦投影"。
Relighting 论文的目标就是:能在不同的 $L_i$ 下,正确算出 $L_o$。
为此你必须知道 (1) 几何 $\mathbf{x}$ 和法线 $\mathbf{n}$,(2) BRDF $f_r$,(3) 入射光 $L_i$。
原始 3DGS 把这三者揉在一起烤进了颜色——所以 relighting 工作都在做"把这个积分拆开来"的工作。
§2BRDF 与 PBR
BRDF(Bidirectional Reflectance Distribution Function)是个 4 元函数:给定入射 + 出射方向,
返回反射比例。最常见三种:
Lambert(纯漫反射)
$f_r = \rho/\pi$,与方向无关,只依赖反射率 $\rho$(也叫 albedo)。墙、纸、未上釉陶瓷接近纯漫反射。
Phong / Blinn-Phong(古老的高光)
把光分成漫反射分量 + 镜面反射分量。不严格能量守恒、不是 PBR,但许多早期 3DGS 工作(如 GaussianShader 的简化版)还在用。
Cook-Torrance 微面元(microfacet)BRDF
现代 "PBR" 几乎默认就是这个:
$$ f_r = \frac{\rho_{\rm diff}}{\pi}(1-F) + \frac{D\,F\,G}{4(\omega_i\!\cdot\!\mathbf{n})(\omega_o\!\cdot\!\mathbf{n})} $$
- $D$:法线分布函数 (NDF),常用 GGX,由 roughness 控制;
- $F$:Fresnel 项,由 metallic / F0 控制,掠射角时反射变强;
- $G$:几何遮蔽项,微面元自遮挡。
现代 3DGS relighting 大多用这个模型,参数是:
albedo $\rho$、roughness $\alpha$、metallic $m$(决定 $F_0$)。
"每个 Gaussian 带 (albedo, roughness, metallic)"就是这三个。
合法 BRDF 的两个性质
- 互易性:交换 $\omega_i$ 和 $\omega_o$,$f_r$ 不变;
- 能量守恒:$\int f_r \cos\theta\,\mathrm{d}\omega \le 1$。
Phong 不满足后者,所以是经验模型;Cook-Torrance 满足——这就是 PBR 名字的由来。
3DGS 的法线从哪来
BRDF 里所有方向都相对表面法线 $\mathbf{n}$ 测量。
一个 3D Gaussian 是个椭球,没有"唯一"的法线。常见做法:
- 取协方差矩阵最短轴(GaussianShader、R3DG);
- 退化为 2D disc,让法线天然唯一(2DGS);
- 从 depth map 用差分估计(GS-IR);
- 显式预测 per-Gaussian 法线 + 一致性 loss(多数 2024+ 工作)。
§3环境光怎么表达——envmap、SH、SG
Environment map(HDR 球面图)
最直接的 $L_i$ 表达:一张 HDR 球形图,每个方向对应一个颜色。
"EnvMap relighting"基本就是:训练用一张 envmap,测试换另一张。它假设"光源远到不会因为我移动而改变方向",
适合户外、影棚拍人。
球谐 Spherical Harmonics (SH)
球面上的函数可以像傅里叶级数一样展开——基函数叫球谐 $Y_\ell^m$。
阶数(degree)越高,能表达的频率越高:
- 0 阶(1 系数):全方向同一颜色(环境光的均值);
- 1 阶(3 系数):大体方向感(亮的一面 vs 暗的一面);
- 2 阶(5 系数):Lambert 环境光照下 99% 的能量;
- 3 阶(7 系数)—— 3DGS 默认 = $3 \text{ 阶} \times 3 \text{ 通道} = 48$ 个浮点。
SH 的好处:解析积分(Lambert reflectance 在 SH 域是简单乘法)。缺点:表达不了高频(细镜面反射、硬阴影线)。
球面 Gaussian (SG)
另一种球面基:球面上的"圆锥状"光斑
$$ G(\omega; \mu, \lambda, c) = c \cdot e^{\lambda(\omega \cdot \mu - 1)} $$
$\mu$ 是中心方向,$\lambda$ 是锐度,$c$ 是强度。多个 SG 叠加可以逼近 envmap。SG 的好处:
表达高光更高效(少量 SG 就能近似一个"主光源")。R3DG、GS-IR、RGCA 等用 SG 表达 incident light 或 specular lobe。
Demo 2 · SH vs SG · 拟合同一个 envmap
Ground truth envmap
SH (ℓ ≤ 3)
SG (N = 4)
SH 阶数 0:全球面平均(一片色);阶 2:能表达"亮一面 vs 暗一面";阶 4 仍然糊。
SG N=1:一个圆斑;N=4:能逼出多个亮斑;N=16:几乎贴近 GT。
SG 对"亮斑"更高效,SH 对"低频环境"更高效——这就是为什么 R3DG/GS-IR
用 SG 表 incident light,用 SH 表 diffuse irradiance。
§4NeRF volume rendering 复习
NeRF 把场景表示成连续场 $F_\Theta(\mathbf{x}, \mathbf{d}) \to (\sigma, \mathbf{c})$。
沿光线采样 $N$ 个点,颜色由 volume rendering 公式累积:
$$ C = \sum_{i=1}^{N} T_i\,(1 - e^{-\sigma_i \delta_i})\,\mathbf{c}_i,\quad T_i = e^{-\sum_{j \lt i} \sigma_j \delta_j} $$
这本质就是从前到后的 $\alpha$-blending。
关键认知
3DGS 也是 $\alpha$-blending!只是 (a) 采样点不是 ray marching 取的,而是 Gaussian 投影下来 + 按深度排序;
(b) 每个采样点的贡献权重不是 $\sigma\delta$,而是 2D Gaussian 的高度值 $\times$ opacity。
所以"NeRF relighting 的 trick 能否搬到 3DGS"——答案大多是能搬,但要对 splat 的不规则采样做适配。
§5Vanilla 3DGS 的前向流程
3D Gaussian Splatting
— for Real-Time Radiance Field Rendering
一个 3D Gaussian primitive 总共带 59 个浮点:
- 位置 $\boldsymbol{\mu} \in \mathbb{R}^3$;
- 四元数 $\mathbf{q}$ + 缩放 $\mathbf{s}$(共同定义协方差 $\Sigma = R S S^\top R^\top$);
- 不透明度 $o \in [0,1]$;
- SH 系数(degree 3:$16 \times \text{RGB} = 48$ 浮点)。
渲染流程:
- 投影:把 3D 椭球投到 image plane,得 2D 椭圆——
$\Sigma' = J W \Sigma W^\top J^\top$(EWA splatting);
- tile-sort:屏幕分 $16 \times 16$ tile,每个 tile 收集投到自己头上的 Gaussian、按深度排序;
- $\alpha$-blending:
$$ C = \sum_i T_i\, \alpha_i\, c_i,\ \ T_i = \prod_{j \lt i}(1 - \alpha_j) $$
$$ \alpha_i = o_i \cdot \exp\!\left(-\tfrac{1}{2}(\mathbf{p}-\boldsymbol{\mu}_i')^\top \Sigma_i'^{-1}(\mathbf{p}-\boldsymbol{\mu}_i')\right) $$
$$ c_i = \text{SH}(\omega_o;\,\{c_\ell^m\}_i) $$
问题:$c_i = \text{SH}(\omega_o)$ 这个表达式里,什么光照下捕的就烤进什么。
没有法线、没有 BRDF、没有 incident light——所有这些在那 48 个 SH 系数里揉成一锅。
后续所有 relighting 工作的目标都是:把 $c_i$ 换成"物理 shading 表达式",
让 $c_i = f(\mathbf{n}_i, \rho_i, \alpha_i, m_i, \omega_o, L_i, V_i)$。
Demo 3 · 2D Splat $\alpha$-Blending Toy
拖动 = 移动 · 滚轮 = 改 z · Shift+滚轮 = 改 opacity · 右键 = 随机配色
每个椭圆 = 一个 Gaussian splat,按深度排序、从前往后 $\alpha$-blend。把红 splat 拉到最前,画面被红色染;
把前景 opacity 拉低,后面的颜色"漏"上来。这就是真 3DGS 渲染做的事——只不过它有几百万个、
协方差是 3D 投影、颜色是 SH 求值。
所有改 relighting 的工作都改了这两行
# vanilla 3DGS:
c_i = eval_sh(visible[i].sh, omega_o)
# GaussianShader (§8):
c_i = diffuse_i + spec_i * envmap(reflect(omega_o, n_i))
# GS-IR (§10) / R3DG (§9) — full PBR + split-sum:
c_i = brdf_split_sum(n_i, albedo_i, rough_i, metallic_i, omega_o, envmap, visibility_i)
# 3DGS-DR (§13) — deferred:
base_buf, normal_buf, strength_buf = splat_gbuffer(gaussians, camera)
c_pixel = base_buf + strength_buf * envmap(reflect(view_dir, normal_buf))
# IRGS (§25) — ray-traced:
L_i = trace_secondary_ray(visible[i].pos, omega_i, scene) # 真发 ray!
c_i = integrate(brdf_i * L_i * cos_theta, over hemisphere)
§6为什么 inverse rendering 极其难
用相机拍到的图像 $I$ 是几何 $\times$ 材质 $\times$ 光照的函数。
给你 100 张图反推这三者——是个高度欠定的问题。常见歧义:
- 材质-光照 ambiguity:白纸 + 红光 vs 红纸 + 白光,看起来一样;
- 法线-光照 ambiguity:法线扰动一点 + 光位置调整一点,效果难以区分;
- 金属度-粗糙度 ambiguity:高 $m$ + 高 $\alpha$ 与 低 $m$ + 低 $\alpha$ 某些视角下接近;
- 阴影 vs 暗 albedo:暗的地方究竟 albedo 低、还是被遮挡?
所有 relighting 工作都靠先验缓解:smoothness、稀疏光照、normal-depth 一致性、symmetry、
diffusion model、OLAT 数据……读论文记住一句话:"它用什么先验把这个欠定问题压住?"
Demo 4 · Shading Playground · 自己换 envmap = relighting
把 envmap 从演播室换成黄昏——球的颜色完全变了,材质参数没动。
这就是 relighting。3DGS relighting 工作要做的事情本质一样——只不过对象是几百万颗 Gaussian,
且材质 / 法线 / 可见性都要从图像反推。
§7六大门派一览
Vanilla 3DGS 的核心是 $c_i = \text{SH}_i(\omega_o)$——直接查表。
所有 relighting 工作都在替换这个表达式。
下面六条路线是这个表达式怎么写的六种回答。
| 方法 | 路线 | 法线 | BRDF | 入射光 | 阴影 / 可见性 |
| GaussianShader | ① PBR | 最短轴 + 一致性 | 简化 diffuse+spec | learnable envmap | 无 |
| R3DG | ① + RT | 学 + depth 伪 | full GGX | envmap + per-Gaussian SH | BVH 烤可见性 |
| GS-IR | ① PBR | depth-gradient | full microfacet | split-sum + cubemap | SH 体素探针 |
| 3DGS-DR | ② deferred | 最短轴 + 像素梯度 | base color + refl 强度 | envmap | 无 |
| Ref-Gaussian | ② + 1-bounce | 2DGS | per-pixel BRDF | envmap + 1 反弹 | 1 次 RT |
| 2DGS | ④ surfel | disc 唯一 | — | — | — |
| IRGS | ③ RT | 2DGS | full GGX | 解渲染方程 | 2DGS RT |
| 3DGRT | ③ RT | 由 RT 决定 | —(基础设施) | — | RTX BVH |
| RelitLRM | ⑤ 生成 | 由网络预测 | diffusion 出颜色 | envmap conditioning | — |
| RGCA | ⑥ 人脸 | 表情 latent 解码 | radiance transfer | SH diff + SG spec | OLAT 数据隐式 |
| GaRe | ⑥ 户外 | 2DGS | sun+sky+indirect | 方向光 + SH 天空 | RT sun shadow |
选择哪条路线?
想要训练简单 + 物体级 NVS:① PBR 内嵌(GS-IR / GaussianShader)。
想要正确的反射 / 阴影:② deferred 或 ③ RT——前者快但只能直接反射,后者慢但物理正确。
有 SDF / mesh 工具链:④ 混合——2DGS 已是 2025 IR 的事实标准基元。
视角稀疏 / 单图:⑤ 生成先验。
人脸 / 户外 / 透明:直接 ⑥ 专用领域。
§8GaussianShader · 第一支 BRDF
GaussianShader
— 3DGS with Shading Functions for Reflective Surfaces
Vanilla 3DGS 的 SH 颜色对反光物体(车漆、瓷器、金属球)束手无策——SH 是低频的,
映不出锐高光;同时也没有 BRDF / envmap 概念,无法 relight。
关键想法:每个 Gaussian 多带 (法线 $\mathbf{n}_i$, diffuse $\rho_i$, specular tint $\rho^s_i$, roughness $r_i$)。
颜色变成:
$$ c_i = \rho_i + \rho^s_i \odot \mathcal{E}\bigl(\text{reflect}(\omega_o, \mathbf{n}_i),\ r_i\bigr) $$
$\mathcal{E}$ 是一个可学的 envmap,在反射方向上按 roughness 做 mip filtering。
没有 Fresnel / metallic / 阴影 / 间接光——故意简化。
最重要的第二个想法:3D Gaussian 的最短主轴 $\mathbf{v}_3$ 应该近似垂直于表面。
引入一条 "normal consistency loss"
$\mathcal{L}_{\rm normal} = \sum_i (1 - \mathbf{n}_i \cdot \mathbf{n}^g_i)^2$,
把shading normal 和geometric normal 拉齐。
这个 trick 后来被 GS-IR、GIR、3DGS-DR 大量复用——是 3DGS 法线问题的奠基答案。
第一个真正在 3DGS 上做 BRDF 分解的工作。比 Ref-NeRF 快 $\sim\!40\times$(30 min vs 23 h),
在 Shiny-Blender 上 +1.57 dB PSNR over vanilla。但没有阴影、没有金属/绝缘体区分、没有间接光。
§9R3DG · 第一次硬阴影
R3DG / Relightable 3D Gaussian
— Realistic Point Cloud Relighting with BRDF Decomposition and Ray Tracing
GaussianShader 没阴影。R3DG 想要正经的 cast shadows——这需要"对每个表面点、
往光源发射 shadow ray、看是否被场景里其他点遮挡"。
关键想法:每个 Gaussian 多带 9-元组
$\{\boldsymbol{\mu}, \mathbf{q}, \mathbf{s}, o, c, \mathbf{n}, \mathbf{b}, r, \mathbf{l}\}$——
标准属性 + 法线 + albedo + roughness + per-Gaussian 间接光 SH。直接光由全局 $16 \times 32$ envmap 提供。
shading 时数值积分渲染方程(64 个 Fibonacci 采样方向),每个方向上:
$$ L_i(\omega_k) = V_i(\omega_k)\bigl(\mathcal{E}_{\rm env}(\omega_k) + \text{SH}_{\rm sh}(\omega_k;\mathbf{l}_i)\bigr) $$
最关键的 $V_i(\omega_k)$ 是可见性——靠在 Gaussian 点云上建 BVH、tracing shadow ray 烤出来。
两阶段训练:先 30k 步 fit 几何 + 法线,然后冻结几何 + 烤一次 visibility,
再 10k 步优化材质和光。"烤一次"是 R3DG 的核心 trick——shadow ray 太贵跑不起每一步,
但几何稳定后烤一次可以用很久。
第一个在 3DGS 上得到硬阴影的工作。两阶段训练 + per-Gaussian indirect SH 模板,
被后面 GS-IR、GIR、IRGS 沿用。代价:BVH 烤可见性是静态几何假设,动态场景失效。
§10GS-IR · 游戏引擎 IBL 套路移植
GS-IR
— 3D Gaussian Splatting for Inverse Rendering
R3DG 烤 visibility 用 BVH,每次几何变化要重烤。能不能用更轻的方式估遮挡?
关键想法:用 Unreal Engine 2014 的 split-sum 把 BRDF $\times$ envmap 积分拆成两个独立查表:
$$ \int f_r L_i (\mathbf{n}\!\cdot\!\omega_i)\,\mathrm{d}\omega_i \approx \underbrace{\int L_i D_\alpha\,\mathrm{d}\omega_i}_{\text{预过滤 envmap}} \cdot \underbrace{\int f_r (\mathbf{n}\!\cdot\!\omega_i)\,\mathrm{d}\omega_i}_{\text{2D BRDF LUT}} $$
并用稀疏 SH 体素探针替代 BVH 烤可见性:场景里撒 $64^3$ 探针,
每个探针处渲 6 张 depth cubemap → 阈值化 → 投到 SH (degree 2, 9 系数) → 存到稀疏体素。
shading 时查最近探针、当前方向求 SH → $V_i$。
法线来自 depth-gradient 伪法线监督。
与 R3DG 同月发表、同样目标,visibility 解决方案不同:BVH 精确 vs SH 探针快、低频。
GS-IR 的 split-sum 模板成为大多数 PBR-内嵌后续工作(GIR、SVG-IR、RTR-GS、Ref-Gaussian)的标准做法。
§11GIR · 修复最短轴法线的正负歧义
GIR
— 3D Gaussian Inverse Rendering for Relightable Scene Factorization
GaussianShader 用"最短轴 = 法线"——但椭球有两个方向($+$ 和 $-$),符号歧义没人解决。
关键想法:引入 directional masking 正则——
所有可见 Gaussian 的最短轴必须与视方向形成钝角(朝向相机)。
免费的几何监督,不需要外部法线数据。
+ 一个体素缓存的间接光、低分辨率 envmap + FCN 上采样。
把"GaussianShader 的 trick"修正到位。比 R3DG 的 BVH RT 快,比 GS-IR 的 SH 探针精细一档。
§12Spec-Gaussian · ASG 基(NVS only)
Spec-Gaussian
— Anisotropic View-Dependent Appearance for 3DGS
先声明:Spec-Gaussian 只能在训练光照下做 NVS,不能换 envmap。
但它出现在 relighting 综述里,是因为它定义的 Anisotropic Spherical Gaussian (ASG) 基
后来被大量 relighting 工作(RGCA、Ref-GS)借用。
$$ \text{ASG}(\omega; \mathbf{x}, \mathbf{y}, \mathbf{z}, \lambda, \mu, \xi) = \xi \cdot \max(\omega \cdot \mathbf{z}, 0)\cdot \exp\!\bigl(-\lambda (\omega\cdot \mathbf{x})^2 - \mu (\omega\cdot \mathbf{y})^2\bigr) $$
两个主轴方向上 $\lambda \ne \mu$ 是关键——能表达椭圆形高光(拉丝金属、油漆)。
SH 永远是各向同性的圆斑——表达不了这个。
SH → ASG 是 3DGS 外观表达的一次小革命,奠定了"用更精巧的基替代 SH"这条思路。
§133DGS-DR · Deferred shading 的奇迹
3DGS-DR
— 3D Gaussian Splatting with Deferred Reflection
反射难做的根源:想要正确法线得先看到正确反射、想要正确反射得先有正确法线。
GaussianShader 这种 forward shading(每个 Gaussian 单独算颜色再 $\alpha$-blend)
陷在这个死循环里——尤其镜面物体上失败。
关键想法:把 shading 从 splat-time 推迟到 pixel-time(deferred)。
- splat 阶段:每个 Gaussian 只贡献 base color、normal、reflection strength 三张属性 buffer;
- shading 阶段:在每个像素上,算反射方向 $\omega_r = \text{reflect}(\omega_o, N(p))$,
查 envmap $\mathcal{E}(\omega_r)$,合成 $C(p) = C_b(p) + \beta(p)\cdot \mathcal{E}(\omega_r)$。
为什么这个奏效
loss 对 $C(p)$ 求导后,通过 $N(p) = \sum_i T_i\alpha_i \mathbf{n}_i$ 的链式法则
同时反传到该像素接收的所有 Gaussian——
相邻 Gaussian 的法线被一起拉到一致方向,死循环被打开。
第一个 3DGS 方法处理真正镜面反射(汽车、金属球),250 FPS、45 min 训练 on 4090。
没有 Fresnel / 阴影 / 二次反射——纯反射模型。"deferred shading 让法线共享梯度"
成为后续所有 deferred GS 工作的奠基洞察。
§14DeferredGS · SDF + deferred
DeferredGS
— Decoupled and Editable Gaussian Splatting with Deferred Shading
与 3DGS-DR 同月。差别:法线从一个共同训练的 SDF 蒸馏,
splat 阶段输出 (法线, 纹理, 位置) 而非 base color——纹理和光照完全解耦,
支持后期 albedo / envmap 编辑。代价:要联合训 SDF,比 3DGS-DR 更重。
3DGS-DR 追求"反射能学就行";DeferredGS 追求"编辑性"。
§15Ref-Gaussian · deferred + 1-bounce 折中
Ref-Gaussian
— Reflective Gaussian Splatting
关键想法:把 3DGS-DR 的 deferred + GS-IR 的 split-sum + IRGS 的 inter-reflection
缝合到一起,但 inter-reflection只 1 次——折中。
- 2DGS splat 出 G-buffer (normal/albedo/roughness/metallic/depth);
- 对每个像素做 split-sum 算 diffuse + specular envmap shading;
- 对反射强的像素(高 metallic / 低 roughness)沿反射方向发一条 ray,
读命中 2DGS 的颜色作为额外入射光。
1 次反弹拿到 90% 视觉效果,渲染 ~30 FPS(介于 3DGS-DR 250 FPS 与 IRGS 1 FPS 之间)。
"镜中镜"还是失败,但"杯子映出桌上花瓶"这种典型场景 OK。
§16Ref-GS · 球面 Mip-grid
Ref-GS
— Directional Factorization for 2D Gaussian Splatting
关键想法:deferred 2DGS shading 中,
用 spherical Mip-grid 替代 per-pixel MLP 做方向编码——
采样的 mip level = $\log(\text{roughness})$,自然支持粗糙度自适应。
着色 = 几何特征 $\otimes$ 光特征(外积),不要 MLP,更快。
比 Ref-Gaussian 的 split-sum 更直接、比 NeRF-style directional MLP 更快。
解开了"orientation vs viewing"的混淆——2024 GS specular 方法常见的失败模式。
§17RGS-DR / RTR-GS · deferred 派的两个后辈
RGS-DR
— Deferred Reflections and Residual Shading in 2DGS
deferred PBR 之上加一个学习的方向残差 head,cleanup split-sum 漏掉的高频细节;
envmap 用多 mip cubemap 做正确的 roughness 预过滤。
RTR-GS
— Radiance Transfer + Reflection (hybrid)
hybrid:低频 diffuse 走 forward radiance transfer(每 Gaussian SH 内积),
高频 specular 走 deferred reflection。两套互补。
抑制单分支方法的 "SH-overfit floater"——比 GS-IR 和 GShader 在反射 benchmark 上稳定。
§182DGS · 把 splat 退化成平面(基元革命)
2DGS
— 2D Gaussian Splatting for Geometrically Accurate Radiance Fields
3D 椭球是"体"不是"面"——三个主轴长度差不多时最短轴不稳定,符号歧义;$\alpha$-blend 时多椭球重叠让"表面位置在哪"也糊。
NVS 不致命,IR 致命。
关键想法:把 splat 退化为 3D 空间中朝向自由的 2D 圆盘(surfel)。
每个 disc 有位置、两个切向量 (定义平面)、缩放、opacity、外观——
法线就是切向量叉乘,唯一、无歧义。
渲染从 EWA splatting 改为 ray-disc 求交(解一次方程)。
正则:
- Depth distortion loss:鼓励一条 ray 上 disc 聚集在窄深度范围;
- Normal consistency loss:渲染深度差分出的法线 = disc 几何法线。
2025 年起,几乎所有新 3DGS IR 工作都基于 2DGS:IRGS、Ref-Gaussian、Ref-GS、
SVG-IR、RGS-DR、RTR-GS、GS-ROR²、GUS-IR、ROS-GS、RadiosityGS、RadioGS。
2DGS 是 IR 的事实标准基元。
§19GS-ROR² · GS 和 SDF 互相监督
GS-ROR²
— Bidirectional-guided 3DGS and SDF for Reflective Relighting
关键想法:联合训练 3DGS 和 Neural SDF——SDF 给 GS 提供干净的法线 / 深度,
GS 的 photometric loss 反过来监督 SDF 表面位置。SDF-aware pruning 砍掉远离 zero level set 的 floater。
200+ FPS 镜面物体 relighting,训练时间是 NeRF-PBR 的 25%。
"联合训表面 + Gaussian" 模板的代表作。比纯 2DGS 更准,但训练复杂度高一档。
§20GeoSplatting · 抽 mesh 再做 PBR
GeoSplatting
— Geometry-guided Physically-based Inverse Rendering for 3DGS
更激进:从 GS 抽 mesh(TSDF + marching cubes),把 PBR 参数 bake 到顶点 / 纹理,
用 nvdiffrec-风格 differentiable rasterization 做 IR。
渲染回到标准 GL pipeline——下游工具友好,但失去 GS 灵活性。
§21SVG-IR · 一个 Gaussian 内部有 SV-BRDF
SVG-IR
— Spatially-Varying Gaussian Splatting for Inverse Rendering
关键想法:标准 3DGS 每个 splat 涂一层均匀材质——浪费表达力。
SVG-IR 在每个 2DGS 内部插入虚拟"顶点",每个顶点带自己的 BRDF + 法线,
splat 时插值这些顶点(类似 mesh 顶点着色)。
+3.5 dB PSNR over GS-IR on NeRF-synthetic IR benchmark。代价:每 Gaussian 参数变多、内存上升。
§22GUS-IR · Unified Shading
GUS-IR
— Unified Shading for 2D / 3D Gaussians
关键想法:高 roughness 和低 roughness 物体用同一个着色路径——
Mip-级别预过滤的 split-sum,按 roughness 自动挑 mip。
+ SDF 监督的法线一致性 + 多尺度 Gabor 几何先验。
Ref-Gaussian 对反射像素特判,GUS-IR 不需要——一套公式覆盖整个 roughness 范围。
§233DGRT · NVIDIA 把 RTX 硬件接上 GS
3DGRT
— 3D Gaussian Ray Tracing
Splat-$\alpha$-blending 没法做次级光线——阴影 ray、反射 ray、折射 ray。
这些都是 ray tracing 的 bread and butter,但 3D Gaussian 是无限延伸(exp 永不为 0),
不能直接 ray-trace。
关键想法:把每个 Gaussian 用一个 tight 多面体(8/20 面)包住其 99% 等高面,
让 NVIDIA OptiX / RT Cores 做 ray-triangle 求交,求交后在 Gaussian 内部解析算 $\alpha$。
一旦你有 RT,3DGS 突然能做:fisheye / 广角相机、rolling shutter、运动模糊、景深、
反射、折射、阴影 ray、递归全局光照。这些splatting 全部做不到。
不是 relighting 方法本身,是基础设施——以后所有 RT-based relighting 工作
(IRGS、GaRe、RadioGS、TransparentGS) 都站在它肩上。
§243DGUT · Splatting + 非线性相机
3DGUT
— 3D Gaussian Unscented Transform
关键想法:EWA splatting 用线性化 Jacobian投 3D 椭球到 2D,对非线性相机(fisheye)失效。
3DGUT 用 Unscented Transform——经典 Kalman filter trick——
用 sigma-points 数值传播协方差,不依赖线性化。
与 3DGRT 组合成 3DGRUT:primary ray 用 splatting(快),secondary ray 用 3DGRT(精确)。
NVIDIA 当前默认 GS pipeline。
§25IRGS · 解全渲染方程
IRGS
— Inter-Reflective Gaussian Splatting with 2D Gaussian Ray Tracing
所有 PBR-内嵌 / deferred 方法都用 envmap 表入射光——这是远场假设,"近场 / 相互反射"完全错。
镜中镜、彩色墙在白瓶上的染色(color bleeding)等,都是 inter-reflection。
关键想法:在 2DGS 上做 differentiable Monte-Carlo ray tracing。
每个 primary hit 点上,往四面八方真发 ray,
找命中的另一个 2DGS、读它的出射 radiance、作为这条方向上的入射光:
$$ L_i(\omega_k) = \begin{cases} \mathcal{E}_{\rm env}(\omega_k) & \text{ray miss} \\ L_o(\mathbf{x}', -\omega_k) & \text{ray hit at } \mathbf{x}' \end{cases} $$
这是渲染方程的 Neumann 级数展开——理论上无限反弹,实践中 1-2 次。
2DGS 的 ray-disc 求交是精确的(不像 3DGS 椭球求交是近似),所以梯度也是干净的。
第一个让 GS 处理 "镜中镜" / color bleeding 的工作。代价:训练 2-3 小时、渲染 ~1 FPS。
IRGS++ 在 2026 把它加速 $50\times$。
§26IRGS++ · 50× 提速
IRGS++
— Robust Geometry, Material, and Light Decomposition with Accelerated Inter-Reflective GS
ICLR 2026
IRGS 作者后续
三件事:(1) Multiple Importance Sampling 把 ray 数压下来;
(2) Cross-bilateral filter 在 MC 估计后做去噪;
(3) 用 mesh proxy 替代 ray-Gaussian 求交——一根 ray 一次 ray-triangle 测试,而不是百次 ray-Gaussian。
$50\times$ 提速 + 对低 gloss 物体也鲁棒。
IRGS 思想正确但太慢。IRGS++ 让它进入可用 区间——2026 multi-bounce 全局光照的实用选择。
§27RadioGS · NVS ↔ PBR 一致性
RadioGS
— Radiometrically Consistent Gaussian Surfels for Inverse Rendering
关键想法:每个 Gaussian 维护两个 radiance——
一个是学到的 view-dependent radiance(NVS 用),
一个是PBR-rendered radiance(由 BRDF + 当前光照算出)。
在每个 Gaussian 上施加 radiometric consistency loss:
两个值必须一致。
把 NVS-only 和 IR-only 之间的鸿沟缝起来——relighting 时用 PBR,重训只要微调几分钟即换 envmap。
§28RotLight · 旋转物体破 ambiguity
RotLight
— Rotated Lights for Consistent & Efficient 2DGS Inverse Rendering
捕获侧的 trick:把物体旋转拍 2-3 次(光照、相机不动)——
同一表面在不同姿态下被同一光照打,"albedo vs 烤进去的阴影"的 ambiguity 自动解开(类似 photometric stereo)。
用 2DGS proxy mesh 做 ray tracing 反推材质。
其他方法解模型侧,RotLight 解数据侧——给 IR 喂更优良的约束。
§29RadiosityGS · 把 1980s 的 GI 经典搬到 Gaussian
RadiosityGS
— Differentiable Light Transport with Gaussian Surfels
关键想法:经典 radiosity 方程(diffuse-only GI 的闭式解)
$$ B = (I - \rho K)^{-1} E $$
其中 $K$ 是 Gaussian surfel 之间的 form-factor / visibility 矩阵,$E$ 是发射,$\rho$ 是 reflectance。
RadiosityGS 把它移植到 Gaussian surfels:处理"非二值可见性"(surfel 是半透的)的扩展,
在 SH 系数空间内闭式求解。view-independent → 视角换免费、光换便宜。
Monte Carlo (IRGS) vs 闭式求解 (RadiosityGS)——后者无噪声、可微、但 SH 频带限制了高光精细度。
2025 最优雅的 GI 工作。
§30GI-GS / GS³ · 早期 GI 探索
GI-GS
— Global Illumination Decomposition on GS
显式 GI 分解 + deferred shading 的早期工作(2024.10)。
GS³ / Triple GS
— Real-Time Relighting with Triple Gaussian Splatting
三套 Gaussian:spatial(位置)、angular(外观角度)、shadow(光空间 shadow splatting)。
专门为 OLAT-style point light relighting 训练——可以换 point light 位置,而不只是 envmap。
§31RGCA · 工业级 VR 头像
RGCA
— Relightable Gaussian Codec Avatars
人脸 relighting 比静物难:几何随表情动、皮肤有 SSS、眼睛近镜面、头发各向异性、要 VR 实时。
架构:Codec Avatar——表情 latent $z_t$(~256 维)+ UV 坐标 → MLP 解码出该位置的 Gaussian 参数。
外观模型:
- Diffuse:每个 Gaussian 存 9 个 SH 系数,与入射光 envmap SH 做系数内积
(Sloan 2002 的 radiance transfer);
- Specular:每个 Gaussian 存 $K$ 个 SG lobe,查 envmap 预过滤值再加和。SG 表全频高光远胜 SH。
- 眼睛单独建模(角膜近镜面、不能用脸部 Gaussian 表)。
训练数据:Light Stage / OLAT——同一受试者在数百已知光源下的多视角图像。relighting 监督的金本位。
第一个工业级 3DGS dynamic relightable 人脸;30+ FPS VR;亚毫米级毛孔;任意 envmap 重光照。
后续 URAvatar / RFGCA / GSHeadRelight / RelightAnyone 都是它的演化。
§32URAvatar · 手机扫一下也能 relight
URAvatar
— Universal Relightable Gaussian Codec Avatars
RGCA 需要 Light Stage——成本高。URAvatar 把它换成 identity prior:
在数百个 OLAT 个体上预训练,新用户只需手机扫描,几秒就能得到 relightable head。
不估 BRDF(太歧义)—— 直接 learn radiance transfer。
§33RFGCA · 全身 + 姿态依赖阴影
RFGCA
— Relightable Full-Body Gaussian Codec Avatars
RGCA 只做头。全身有非局部 pose-conditioned 阴影——例如手臂抬起来在躯干上投出的阴影。
per-Gaussian local transport 处理不了这种"全局拓扑变化"。
RFGCA 加一个shadow network,给定 body pose → 预测每个 Gaussian 被身体其他部分挡多少光。
§34HRAvatar · 单目视频也能 relight
HRAvatar
— High-Quality & Relightable Gaussian Head Avatar
CVPR 2025
Zhang et al.
关键:抛弃 OLAT,从单目 video 反推 per-Gaussian PBR (albedo, roughness, normal)。
准确度比 RGCA 低,但可访问性大幅提升——任何手机都能拍。
§35GSHeadRelight · 240 FPS, in-the-wild
GSHeadRelight
— Fast Relightability for 3D Gaussian Head Synthesis
在 generative 3DGS head(如 GGHead)上加 relighting:每个 Gaussian 学一个
线性 lighting operator——输入 HDRI 的 SH 系数、输出该 Gaussian 颜色。
in-the-wild 2D 图像即可训练,无 OLAT。$12\times$ 快于 RGCA、240 FPS。
§36GRGS · 前馈全身 relightable
GRGS
— Generalizable & Relightable GS for Human NVS
feed-forward(无 per-subject 训练)relightable 全身 GS。
输入稀疏多视角 → "Lighting-aware Geometry Refinement" + "Physically Grounded Neural Rendering" 两阶段 → 输出 relightable 3DGS。
合成 AO/直接光/间接光 maps 做监督。
§37RelightAnyone (2026) · 单图换光
RelightAnyone
— Generalized Relightable 3D Gaussian Head Model
两阶段训练。
阶段 1:在大量 non-OLAT 多视角数据上学 flat-lit → relightable mapping(per-dataset learnable lighting code 做自监督光照对齐)。
阶段 2:用少量 OLAT 数据微调让 mapping 物理一致。
单张 in-the-wild 照片 → relightable head,no OLAT capture per subject。
§38GaussianHair / PGC · 头发 + 织物
GaussianHair
— Strand-Level Relightable Hair
每根头发用一连串极各向异性(cylindrical)的 Gaussian 表达,
支持各向异性高光 + strand-level scattering。Vanilla 3DGS 的 isotropic blob 表达不了头发。
PGC
— Physics-Based Gaussian Cloth
Cloth simulation + relightable Gaussian——衣物在动态下仍可 relight。
§39GS-W / WildGaussians · per-image appearance latent
GS-W
— Gaussian in the Wild
NeRF-W 风格 → 3DGS。每个 Gaussian 多两个 feature:intrinsic(与光无关的"身份")+ dynamic(随光照/天气)。
per-image latent $z_t$ + 小 MLP 解码颜色。+ 2D visibility mask 屏蔽 transient 物体(路人、车)。
不是物理 relighting——只是 appearance interpolation。
WildGaussians
— Robust 3DGS with DINOv2 Features
平行思路:DINOv2 robust features 找 transient occluder + per-image + per-Gaussian embedding → small MLP →
每个 Gaussian 的 affine color transform。保持 explicit GS 表达。
§40LumiGauss · 第一支户外真 relighting
LumiGauss
— Relighting with 2DGS for Outdoor Wild Photos
第一个在 unconstrained outdoor 照片上做真 envmap relighting 的工作。
基于 2DGS + 每张图联合优化一个 envmap,训完后换 envmap 真能换光。
但没有显式 sun / sky 分解。
§41GaRe · sun + sky + indirect 显式分解
GaRe
— Relightable 3DGS for Outdoor Scenes from Unconstrained Collections
最严肃的户外物理 relighter。
$$ L_o = L_{\rm sun} + L_{\rm sky} + L_{\rm indirect} $$
- Sun:方向光,per-image 可优化方向;hard shadow 用 2DGS RT 算;
- Sky:低频 envmap (SH);
- Indirect:1-bounce 估计;
- + intrinsic image decomposition 前端 → albedo 监督。
测试时可改变太阳方向 / 时刻——重新算 cast shadow,得到时间序列。
GS-W / WildGaussians 这种 appearance interpolation 做不到。
§42ROS-GS · 轻量版户外
ROS-GS
— Relightable Outdoor Scenes with Gaussian Splatting
比 GaRe 轻:不要 IID 前端。Sun = SG lobe(高频),Sky = SH transfer(低频);
Mesh-based intersection 算阴影(不用 RT)。
§43R3GW (2026) · 前景 PBR / 天空 emitter 拆开
R3GW
— Relightable 3D Gaussians for Outdoor Scenes in the Wild
关键想法:场景显式拆 foreground (PBR Gaussian) + sky (emitter-only Gaussian)。
天空 Gaussian 不做 PBR、只发光——前景把它当远场入射光。
解决 LumiGauss / GaRe "天空被错当成反射物体"的伪影。
NeRF-OSR SOTA。
§44TransparentGS · 折射 (Snell's law)
TransparentGS
— Fast Inverse Rendering of Transparent Objects with Gaussians
Vanilla 3DGS 看不见透明物体后面的东西——splatting 没有折射。酒杯、镜片完全无法重建。
关键想法:透明 Gaussian primitive + deferred refraction:
在折射界面处按 Snell's law 弯 ray、查 GaussProbe(远场 + 近场 light field)+ IterQuery
迭代视差校正得到折射颜色。
第一个 3DGS 能渲染玻璃、酒杯、透镜的工作。单一 IOR 假设;多层折射 / caustics 仍未解。
§45GlossyGS · 中间反光材质
GlossyGS
— Inverse Rendering for Glossy (not mirror, not diffuse) Materials
专攻"不是镜子但很亮"的中间材质——抛光塑料、瓷器、抛光金属。
Ref-Gaussian 偏向纯镜面、GaussianShader 偏向漫反射,glossy 中间地带常被忽视。
§46SSD-GS · 次表面散射(皮肤蜡玉)
SSD-GS
— Scattering and Shadow Decomposition for Relightable 3DGS
ICLR 2026
· arXiv 2604.13333
关键想法:每个 Gaussian 不止 BRDF——加一个learnable dipole-based scattering coefficient。
Dipole 是经典 BSSRDF 近似(Jensen 2001),能闭式表达光"钻进皮肤再从邻近点出来"的过程。
第一个 3DGS 处理次表面散射的工作。这对皮肤、蜡、玉、大理石、奶白塑料是必需的。
Saito 等人后续的 RGCA-style avatar 工作大概率会沿用这条路线。
§47BiGS · 双向 SH,无法线
BiGS
— Bidirectional Gaussian Primitives for Relightable 3DGS
关键想法:每个 Gaussian 存 SH 系数在两个方向上——入射方向和出射方向(双向 SH)。
渲染 = 入射光 SH $\times$ 存的 BSH $\times$ 出射方向 SH 的内积。不需要法线——
天然适合 fuzzy / 半透 / SSS-like 材质(毛皮、蜡、玉)。
GaussianShader / R3DG 强制法线——对半透材质错。BiGS 不需要——但只能低频,无锐镜面。
§48DehazeGS / 媒质 GS
DehazeGS / SmokeSeer / Don't Splat your Gaussians
— Participating Media (fog, smoke, clouds)
Vanilla 3DGS 假设"接近表面"——对 fog / smoke / clouds 这种体积散射媒质失败。
这一支引入 volumetric extinction 模型:DehazeGS 联合训 scene + 雾透射图;
SmokeSeer 做烟雾移除 + 后面物体重建;
"Don't Splat"论文用 ray-traced volumetric primitive 完全替代 splatting。
§49RelitLRM · 1 秒前馈 relightable GS
RelitLRM
— Generative Relightable Radiance for Large Reconstruction Models
per-scene 优化 IR 都要几十分钟到几小时。LRM 已能前馈从几张图出 NeRF/GS,
能不能把 relightable 也做成 1 秒前馈?
架构:两个 transformer。
(1) 几何重建——image tokens + pose embedding → coarse 3DGS;
(2) relightable appearance generator (diffusion)——
几何 + 目标 envmap embedding + 噪声 $\epsilon$ → 每个 Gaussian 的 relit 颜色。
为什么 appearance 用 diffusion 而不是回归
从有限视图反推 (材质, 光) 是多模态(白纸+红光 vs 红纸+白光)。
回归会做平均——糊。Diffusion 从分布中采样一个模式——
clean 的某种可能。这是 RelitLRM 输出比传统 LRM 锐利的根本原因。
4-8 张图 + envmap → 1 秒 relightable GS。换 envmap 再跑 appearance head 一次 → 又 1 秒。
训练域是合成 Objaverse 物体——对复杂场景泛化差。
§50DiffusionRenderer · 2D 视频 diffusion 双向
DiffusionRenderer
— Neural Inverse and Forward Rendering with Video Diffusion
一个视频 diffusion (Cosmos / SVD 家族) 同时做两件事:
- Inverse:RGB video → G-buffer video (normal/albedo/roughness/metallic/depth);
- Forward:G-buffer + envmap → 重光照 RGB video。
不是 3DGS 方法,但是几乎所有 3DGS-relighting pipeline 的外部老师——
供 GS 工作做 G-buffer 监督或合成多光照训练数据。
§51UniRelight · 端到端 diffusion 一把出
UniRelight
— Joint Decomposition + Relighting in One Diffusion Pass
DiffusionRenderer 的极简版——一个 diffusion model 直接 "input video + 目标 envmap → relit video",
不显式产生 G-buffer。论点:分两步会丢信息,端到端更准。
§52IC-Light + Neural Gaffer · 2D 域的 relight teacher
IC-Light
— 2D Image Conditional Lighting
ICLR 2025
Zhang et al.
ControlNet-风格 2D diffusion:(input image, target lighting) → relit image。
单图非常 work,但3D 一致性差——对一个物体的不同视角分别跑结果不自洽。
Neural Gaffer
— Diffusion-Based Single-Image Relighting
类似 IC-Light,但条件用显式 envmap(不是文字)。更适合给 3DGS pipeline 当教师。
§53GS-Light · 训练-free 多视图 IC-Light
GS-Light
— Training-Free Multi-View IC-Light Extension
不训新模型,把现成组件串起来:LVLM 解析用户文字("加左侧暖光")→ 提取光照参数;
现成 depth/normal 估计器算每个 GS 视角的 G-buffer;
IC-Light 按 G-buffer 一致地 condition 生成 multi-view relit 图;
用这些图重新 fit 一个 GS。整流程 ~6 分钟、零训练。
§54GAINS / LISA / SGS-Intrinsic · 稀疏视图 + diffusion
GAINS
— Gaussian-based Inverse Rendering from Sparse Multi-View
4-6 视角下 GS-IR 全崩——视角太少压不住欠定。GAINS 用 monocular depth/normal + intrinsic-image-decomp + diffusion
三种先验同时压。
LISA
— Lightweight Image Splats Adaptation (single image)
ICLR 2026
OpenReview
单图 → relightable splats + PBR maps,通过一个轻量 adapter 嫁接到冻结的 2D diffusion model 的 decoder。
SGS-Intrinsic
— Semantic-Invariant GS for Sparse-View Indoor IR
arXiv 2026.03
arXiv 2603.27516
室内稀疏视角,dense semantic-Gaussian scaffold 稳住优化 + envmap + per-Gaussian SG lobe + 去阴影模块。
§55GaSLight · LDR → HDR Gaussian 光源
GaSLight
— HDR Gaussian Splats as Spatially-Varying Light Sources
单张 LDR 照片 → HDR 3DGS光源资产,可插入第三方渲染器作 spatially-varying illumination。
比传统 HDR estimator(输出 envmap)多了"位置感"——光源不再只是远场方向。
§56LumiMotion (2026) · 运动当作 IR 的监督
LumiMotion
— Gaussian Relighting with Scene Dynamics
问题重定义:以前所有 IR 都假设场景静态。
LumiMotion 论点:动态反而帮助 IR——
同一表面在不同时刻被看到,姿态变了但光不变;
"暗是因为 albedo 暗 vs. 暗是因为在阴影"的 ambiguity 在多个姿态下不再 ambiguous。
报告 albedo +23% LPIPS gain over static baselines。
2026 最有创意的工作之一——把动态从"麻烦"变成"额外信息"。
§57Production GS · VFX 工作流落地
Relightable GS for Virtual Production with IBL
— Engineering paper, not academic novelty
arXiv 2026.05
arXiv 2605.09024
没有学术新意,但是 3DGS-relighting 第一次进入实际 VFX pipeline。
工程指标:<5 GB VRAM、<2h 训练、~35 FPS 渲染。
Per-Gaussian (albedo, roughness, metallic)、HDR envmap、deferred shading + split-sum + 预过滤 cubemap。
地位类似 NeRFstudio 之于 NeRF——把研究路径打包成工业可部署的东西。
§58Timeline · 四次范式跃迁
| 时间 | 事件 | 意义 |
| 2023.08 | 3DGS (Kerbl) | 原点 |
| 2023.11 | GaussianShader + R3DG + GS-IR 同月 | 跃迁 1:把 BRDF/envmap 塞进 splatter |
| 2023.12 | RGCA · GIR | 专用领域 + normal sign 修复 |
| 2024.04 | 3DGS-DR + DeferredGS 同月 | 跃迁 2:Deferred shading 解反射死循环 |
| 2024.06 | 2DGS | 跃迁 3:基元从 3D 椭球换到 2D disc(IR 默认基元) |
| 2024.07 | 3DGRT (NVIDIA) | RT 基础设施进入 GS |
| 2024.10 | RelitLRM | 第一个前馈 relightable LRM |
| 2024.12 | IRGS + Ref-Gaussian | 跃迁 4:multi-bounce GI 可微 |
| 2025 | 大爆发年 | SVG-IR / RadiosityGS / TransparentGS / GaRe / RFGCA / UniRelight ... |
| 2026 Q1-Q2 | RelightAnyone, RadioGS, IRGS++, SSD-GS, LumiMotion, Production | 生成先验主流 + 缺失材质补齐 + 动态 IR + 工业化 |
§59仍未解决的问题
写综述时(2026.05)的盘点
- 实时多反射 GI:IRGS++ 已 $50\times$ 提速,但仍非交互实时。RTX 硬件 + neural prior 是下一步可能的路。
- 大场景 + sun motion:街道级 + 时段变化(黎明→傍晚)。GaRe 是开始,但 km 级场景 + transient 物体 + 日夜过渡仍开放。
- 长视频时间一致性:UniRelight 视频几秒后开始漂移。Video diffusion + 3D consistency 是个 open problem。
- 动态场景 IR:LumiMotion 开了头,但只是物体级。复杂 4D 场景 IR 仍未充分探索。
- 真正实时手机 AR:所有这些方法在手机端要 < 10 ms/frame——目前不到。
- "棘手材质":头发、织物 anisotropy / 半透 / 复杂 IOR (彩虹油膜) / 复杂 SSS。SSD-GS 是开始,但 GaussianHair / PGC 之外几乎没人专门做。
- "非 OLAT 的 OLAT 等价":能否从 in-the-wild 数据获得 OLAT 等价的监督信号?RelightAnyone 试图回答,仍未真正解决。
我个人看好接下来一年的方向:动态 IR 的深化、大场景日夜过渡的 RT GI、3DGS + diffusion 的真一致 multi-view relighting、
以及手机端 GS relightable AR。
名词表
| 3DGS | 3D Gaussian Splatting |
| 2DGS | 2D Gaussian Splatting (Huang 2024),splat 退化为 2D disc |
| albedo | 表面漫反射率 $\rho$ |
| $\alpha$-blending | $C = \sum_i T_i \alpha_i c_i$,前到后累积 |
| ASG | Anisotropic Spherical Gaussian (Spec-Gaussian) |
| baking | 预计算 + 存储(visibility / 间接光等) |
| BRDF | Bidirectional Reflectance Distribution Function |
| BSSRDF | BRDF + 次表面散射,皮肤蜡玉用 |
| BVH | Bounding Volume Hierarchy(RT 加速结构) |
| cubemap | 6 张图组成的方向贴图 |
| deferred shading | 先 splat 几何属性、再像素级算 shading |
| envmap | HDR 球面 全景图,远场入射光表达 |
| EWA splatting | 3D 椭球→2D 椭圆的标准投影 (Zwicker 2001) |
| Fresnel ($F$) | 反射率随入射角变化的物理项 |
| G-buffer | deferred 中间几何 + 材质 buffer |
| GGX | Trowbridge-Reitz NDF, 微面元 BRDF 中 $D$ 的事实标准 |
| IBL | Image-Based Lighting,用 envmap 作光源 |
| inverse rendering (IR) | 从图像反推 (几何, 材质, 光照) |
| LRM | Large Reconstruction Model(前馈 transformer 从图出 3D) |
| metallic | 金属度,决定 $F_0$ baseline |
| microfacet | 把表面建模为大量微镜面 facet,由 NDF $D$ 统计 |
| OLAT | One Light At A Time,Light Stage 数据集 |
| PBR | Physically-Based Rendering(能量守恒 + 互易) |
| PRT | Precomputed Radiance Transfer (Sloan 2002) |
| radiance | 辐射亮度 $L$,每方向上的光强 |
| radiosity | diffuse-only GI 的闭式解 $B = (I-\rho K)^{-1}E$ |
| roughness ($\alpha$) | 表面粗糙度,控制 GGX 锐度 |
| SDF | Signed Distance Function,隐式表面 |
| SH | Spherical Harmonics,球面基函数 |
| SG | Spherical Gaussian,$c\,e^{\lambda(\omega\cdot\mu - 1)}$ |
| splatting | 3D 椭球投到屏幕 $\alpha$-blending 的渲染方式 |
| split-sum | Unreal 2014 IBL 近似(envmap 预过滤 + 2D LUT) |
| SSS | Subsurface Scattering,皮肤 / 蜡 / 玉的散射 |
| surfel | Surface element,2DGS 的 disc 就是 surfel |
| transient | in-the-wild 数据中只在某张图里出现的物体(路人、车) |
| visibility | 可见性,决定阴影 |
阅读清单 (References)
按时间顺序。2026 年最近几个月的 arXiv ID 由 web search agent 给出,部分可能微调——
以项目页或正式发表为准。
Foundational
2023.11 – 2024.06 · 第一波 3DGS Relighting
2024.07 – 2024.12 · 第二波 — RT & 2DGS 时代
2025 · 大爆发年
2026 Q1-Q2 · Frontier
- RelightAnyone · arXiv 2026.01 · arXiv 2601.03357
- RotLight · arXiv 2026.02 · arXiv 2602.08724
- RadioGS · ICLR 2026 · arXiv 2603.01491
- R3GW · arXiv 2026.03 · arXiv 2603.02801
- SGS-Intrinsic · arXiv 2026.03 · arXiv 2603.27516
- IRGS++ · ICLR 2026 (OpenReview)
- SSD-GS · ICLR 2026 · arXiv 2604.13333
- LumiMotion · arXiv 2026.04 · arXiv 2604.10994
- Relightable GS for Virtual Production · arXiv 2026.05 · arXiv 2605.09024
Related 2D Diffusion Relighting(不是 GS,但常配合)
- IC-Light · ICLR 2025
- Neural Gaffer · NeurIPS 2024 · arXiv:2406.07520
- A Diffusion Approach to Radiance Field Relighting · arXiv 2024.09 · arXiv:2409.08947
- DiLightNet · SIGGRAPH 2024
- RGB↔X · SIGGRAPH 2024