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

阅读路径建议

没碰过 3DGS:§1§6 顺序读,把渲染方程3DGS 前向建立起来, 再读 §7 看六大门派,最后挑你感兴趣的部跳读。
已熟悉 NeRF / 静态 3DGS:直接 §7 + §8(GaussianShader)+ §10(GS-IR)+ §15(Ref-Gaussian);
只想看最新:跳到 §26 IRGS++§27 RadioGS§56 LumiMotion

§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)"就是这三个。

Demo 1 · GGX BRDF Lobe Visualizer
极坐标:原点 = 表面点,向上 = 法线 $\mathbf{n}$,向左 = 入射光 $\omega_i$, 曲线半径 = 反射强度。把 $\alpha$ 拉到 0.01——曲线塌成一根针(完美镜面); 拉到 1.0——接近半圆(漫反射)。橙色 = specular 总分量,青色 = diffuse 分量。

合法 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
SIGGRAPH 2023 Kerbl, Kopanas, Leimkühler, Drettakis · Inria · arXiv:2308.04079 · project · code

一个 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$ 浮点)。

渲染流程:

  1. 投影:把 3D 椭球投到 image plane,得 2D 椭圆—— $\Sigma' = J W \Sigma W^\top J^\top$(EWA splatting);
  2. tile-sort:屏幕分 $16 \times 16$ tile,每个 tile 收集投到自己头上的 Gaussian、按深度排序;
  3. $\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


把 envmap 从演播室换成黄昏——球的颜色完全变了,材质参数没动。 这就是 relighting。3DGS relighting 工作要做的事情本质一样——只不过对象是几百万颗 Gaussian, 且材质 / 法线 / 可见性都要从图像反推

§7六大门派一览

Vanilla 3DGS 的核心是 $c_i = \text{SH}_i(\omega_o)$——直接查表。 所有 relighting 工作都在替换这个表达式。 下面六条路线是这个表达式怎么写的六种回答。

Vanilla 3DGS c = SH(ω_o) ① PBR 内嵌 c = BRDF·env·V ② Deferred splat G-buffer → shade 2D ③ Ray-traced GS 阴影/反射/折射 ray ④ Mesh/SDF/2DGS 引入显式表面 ⑤ 生成先验 LRM / Diffusion ⑥ 专用领域 人脸 / 户外 / 透明
方法路线法线BRDF入射光阴影 / 可见性
GaussianShader① PBR最短轴 + 一致性简化 diffuse+speclearnable envmap
R3DG① + RT学 + depth 伪full GGXenvmap + per-Gaussian SHBVH 烤可见性
GS-IR① PBRdepth-gradientfull microfacetsplit-sum + cubemapSH 体素探针
3DGS-DR② deferred最短轴 + 像素梯度base color + refl 强度envmap
Ref-Gaussian② + 1-bounce2DGSper-pixel BRDFenvmap + 1 反弹1 次 RT
2DGS④ surfeldisc 唯一
IRGS③ RT2DGSfull GGX解渲染方程2DGS RT
3DGRT③ RT由 RT 决定—(基础设施)RTX BVH
RelitLRM⑤ 生成由网络预测diffusion 出颜色envmap conditioning
RGCA⑥ 人脸表情 latent 解码radiance transferSH diff + SG specOLAT 数据隐式
GaRe⑥ 户外2DGSsun+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
CVPR 2024 Jiang, Tu, Liu, Gao, Long, Wang, Ma · arXiv:2311.17977 · project

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 normalgeometric 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
ECCV 2024 Gao, Gu, Lin, Zhu, Cao, Zhang, Yao · NJU / Fudan · arXiv:2311.16043 · project · code

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
CVPR 2024 Liang, Zhang, Feng, Shan, Jia · arXiv:2311.16473 · code

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
T-PAMI 2025 Shi et al. · arXiv:2312.05133 · project

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
NeurIPS 2024 ⚠ 不是 relighting Yang et al. · arXiv:2402.15870 · project

先声明:Spec-Gaussian 只能在训练光照下做 NVS,不能换 envmap。 但它出现在 relighting 综述里,是因为它定义的 Anisotropic Spherical Gaussian (ASG) 基 后来被大量 relighting 工作(RGCARef-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
SIGGRAPH 2024 Ye, Hou, Zhou · ZJU · arXiv:2404.18454 · project · code

反射难做的根源:想要正确法线得先看到正确反射、想要正确反射得先有正确法线。 GaussianShader 这种 forward shading(每个 Gaussian 单独算颜色再 $\alpha$-blend) 陷在这个死循环里——尤其镜面物体上失败。

关键想法:把 shading 从 splat-time 推迟到 pixel-time(deferred)。

  1. splat 阶段:每个 Gaussian 只贡献 base color、normal、reflection strength 三张属性 buffer
  2. 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
arXiv 2024.04 Wu, Sun, Lai, Ma, Kobbelt, Gao · arXiv:2404.09412

与 3DGS-DR 同月。差别:法线从一个共同训练的 SDF 蒸馏, splat 阶段输出 (法线, 纹理, 位置) 而非 base color——纹理和光照完全解耦, 支持后期 albedo / envmap 编辑。代价:要联合训 SDF,比 3DGS-DR 更重。

3DGS-DR 追求"反射能学就行";DeferredGS 追求"编辑性"。

§15Ref-Gaussian · deferred + 1-bounce 折中

Ref-Gaussian — Reflective Gaussian Splatting
ICLR 2025 Yao, Zeng, Gu, Zhu, Zhang · Fudan · arXiv:2412.19282

关键想法:把 3DGS-DR 的 deferred + GS-IR 的 split-sum + IRGS 的 inter-reflection 缝合到一起,但 inter-reflection只 1 次——折中。

  1. 2DGS splat 出 G-buffer (normal/albedo/roughness/metallic/depth);
  2. 对每个像素做 split-sum 算 diffuse + specular envmap shading;
  3. 对反射强的像素(高 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
CVPR 2025 Zhang et al. · arXiv:2412.00905 · project

关键想法: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
arXiv 2025.04 Kouros, Wu, Tuytelaars · arXiv:2504.18468

deferred PBR 之上加一个学习的方向残差 head,cleanup split-sum 漏掉的高频细节; envmap 用多 mip cubemap 做正确的 roughness 预过滤。

RTR-GS — Radiance Transfer + Reflection (hybrid)
ACM MM 2025 Zhang, Wang · arXiv:2507.07733

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
SIGGRAPH 2024 Huang, Yu, Chen, Geiger, Gao · arXiv:2403.17888 · project

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
TOG 2025 Zhu, Wang, Yang · arXiv:2406.18544

关键想法:联合训练 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
ICCV 2025 · arXiv:2410.24204

更激进:从 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
CVPR 2025 Sun, Gao, Xie, Yang, Wang · arXiv:2504.06815

关键想法:标准 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
arXiv 2024.11 · arXiv:2411.07478

关键想法:高 roughness 和低 roughness 物体用同一个着色路径—— Mip-级别预过滤的 split-sum,按 roughness 自动挑 mip。 + SDF 监督的法线一致性 + 多尺度 Gabor 几何先验。

Ref-Gaussian 对反射像素特判,GUS-IR 不需要——一套公式覆盖整个 roughness 范围。

§233DGRT · NVIDIA 把 RTX 硬件接上 GS

3DGRT — 3D Gaussian Ray Tracing
SIGGRAPH Asia 2024 Moenne-Loccoz, Mirzaei, Perel et al. · NVIDIA Toronto AI Lab · arXiv:2407.07090 · project · code

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 工作 (IRGSGaReRadioGSTransparentGS) 都站在它肩上。

§243DGUT · Splatting + 非线性相机

3DGUT — 3D Gaussian Unscented Transform
CVPR 2025 NVIDIA · arXiv:2412.12507

关键想法: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
CVPR 2025 Gu, Wei, Zhang, Zhu · Fudan · arXiv:2412.15867 · project

所有 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
ICLR 2026 Han et al. · arXiv:2603.01491 · project

关键想法:每个 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
arXiv 2026.02 Lin, Zwicker · UMD · arXiv:2602.08724

捕获侧的 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
SIGGRAPH Asia 2025 Jiang, Sun, Li, Wang, Li, Ramamoorthi · UCSD · arXiv:2509.18497 · project

关键想法:经典 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
ICLR 2025 · arXiv:2410.02619

显式 GI 分解 + deferred shading 的早期工作(2024.10)。

GS³ / Triple GS — Real-Time Relighting with Triple Gaussian Splatting
SIGGRAPH Asia 2024 Bi et al. · arXiv:2410.11419 · project

三套 Gaussian:spatial(位置)、angular(外观角度)、shadow(光空间 shadow splatting)。 专门为 OLAT-style point light relighting 训练——可以换 point light 位置,而不只是 envmap。

§31RGCA · 工业级 VR 头像

RGCA — Relightable Gaussian Codec Avatars
CVPR 2024 Oral Saito, Schwartz, Simon, Li, Nam · Meta Codec Avatars Lab · arXiv:2312.03704 · project

人脸 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
SIGGRAPH Asia 2024 Li, Cao, Schwartz, Khirodkar, Richardt, Simon, Sheikh, Saito · Meta · arXiv:2410.24223 · project

RGCA 需要 Light Stage——成本高。URAvatar 把它换成 identity prior: 在数百个 OLAT 个体上预训练,新用户只需手机扫描,几秒就能得到 relightable head。 不估 BRDF(太歧义)—— 直接 learn radiance transfer。

§33RFGCA · 全身 + 姿态依赖阴影

RFGCA — Relightable Full-Body Gaussian Codec Avatars
SIGGRAPH 2025 Wang, Simon, Santesteban et al. · Meta + ETH · arXiv:2501.14726 · project

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
SIGGRAPH 2025 ICT-CAS + Cardiff + Kuaishou · project

在 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
arXiv 2025.05 Sun et al. · HIT + Tsinghua · arXiv:2505.21502 · project

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
2026 Frontier arXiv 2026.01 · arXiv:2601.03357

两阶段训练。 阶段 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
arXiv 2024.02 · arXiv:2402.10483

每根头发用一连串极各向异性(cylindrical)的 Gaussian 表达, 支持各向异性高光 + strand-level scattering。Vanilla 3DGS 的 isotropic blob 表达不了头发。

PGC — Physics-Based Gaussian Cloth
3DV 2025 · arXiv:2503.20779

Cloth simulation + relightable Gaussian——衣物在动态下仍可 relight。

§39GS-W / WildGaussians · per-image appearance latent

GS-W — Gaussian in the Wild
ECCV 2024 · arXiv:2403.15704 · project

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
NeurIPS 2024 Kulhánek, Peng et al. · arXiv:2407.08447 · project

平行思路: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
arXiv 2024.08 · arXiv:2408.04474

第一个在 unconstrained outdoor 照片上做真 envmap relighting 的工作。 基于 2DGS + 每张图联合优化一个 envmap,训完后换 envmap 真能换光。 但没有显式 sun / sky 分解。

§41GaRe · sun + sky + indirect 显式分解

GaRe — Relightable 3DGS for Outdoor Scenes from Unconstrained Collections
ICCV 2025 Bai, Zhu, Zhu · arXiv:2507.20512 · project

最严肃的户外物理 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
arXiv 2025.09 · arXiv:2509.11275

比 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
2026 Frontier arXiv 2026.03 · arXiv:2603.02801

关键想法:场景显式拆 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
SIGGRAPH 2025 Huang, Ye, Dan et al. · arXiv:2504.18768 · project

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
project · project

专攻"不是镜子但很亮"的中间材质——抛光塑料、瓷器、抛光金属。 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
3DV 2025 Liu, Guo, Li, Bickel, Zhang · arXiv:2408.13370 · project

关键想法:每个 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)
arXiv 2024-2025 · DehazeGS · SmokeSeer · Don't Splat your Gaussians

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
ICLR 2025 Spotlight Zhang, Kuang, Jin et al. · arXiv:2410.06231 · project

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
CVPR 2025 Liang, Gojcic, Ling et al. · NVIDIA Toronto AI Lab · arXiv:2501.18590 · project

一个视频 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
NeurIPS 2025 NVIDIA · arXiv:2506.15673 · project

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
NeurIPS 2024 Jin et al. · arXiv:2406.07520 · project

类似 IC-Light,但条件用显式 envmap(不是文字)。更适合给 3DGS pipeline 当教师。

§53GS-Light · 训练-free 多视图 IC-Light

GS-Light — Training-Free Multi-View IC-Light Extension
arXiv 2025.11 · arXiv:2511.13684

不训新模型,把现成组件串起来: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
arXiv 2025.12 Noras et al. · arXiv:2512.09925 · project

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
arXiv 2025.04 Bolduc, Hold-Geoffroy, Shu, Lalonde · U.Laval + Adobe · arXiv:2504.10809

单张 LDR 照片 → HDR 3DGS光源资产,可插入第三方渲染器作 spatially-varying illumination。 比传统 HDR estimator(输出 envmap)多了"位置感"——光源不再只是远场方向。

§56LumiMotion (2026) · 运动当作 IR 的监督

LumiMotion — Gaussian Relighting with Scene Dynamics
2026 Frontier arXiv 2026.04 · arXiv:2604.10994

问题重定义:以前所有 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.083DGS (Kerbl)原点
2023.11GaussianShader + R3DG + GS-IR 同月跃迁 1:把 BRDF/envmap 塞进 splatter
2023.12RGCA · GIR专用领域 + normal sign 修复
2024.043DGS-DR + DeferredGS 同月跃迁 2:Deferred shading 解反射死循环
2024.062DGS跃迁 3:基元从 3D 椭球换到 2D disc(IR 默认基元)
2024.073DGRT (NVIDIA)RT 基础设施进入 GS
2024.10RelitLRM第一个前馈 relightable LRM
2024.12IRGS + Ref-Gaussian跃迁 4:multi-bounce GI 可微
2025大爆发年SVG-IR / RadiosityGS / TransparentGS / GaRe / RFGCA / UniRelight ...
2026 Q1-Q2RelightAnyone, RadioGS, IRGS++, SSD-GS, LumiMotion, Production生成先验主流 + 缺失材质补齐 + 动态 IR + 工业化

§59仍未解决的问题

写综述时(2026.05)的盘点
  1. 实时多反射 GI:IRGS++ 已 $50\times$ 提速,但仍非交互实时。RTX 硬件 + neural prior 是下一步可能的路。
  2. 大场景 + sun motion:街道级 + 时段变化(黎明→傍晚)。GaRe 是开始,但 km 级场景 + transient 物体 + 日夜过渡仍开放。
  3. 长视频时间一致性:UniRelight 视频几秒后开始漂移。Video diffusion + 3D consistency 是个 open problem。
  4. 动态场景 IR:LumiMotion 开了头,但只是物体级。复杂 4D 场景 IR 仍未充分探索。
  5. 真正实时手机 AR:所有这些方法在手机端要 < 10 ms/frame——目前不到。
  6. "棘手材质":头发、织物 anisotropy / 半透 / 复杂 IOR (彩虹油膜) / 复杂 SSS。SSD-GS 是开始,但 GaussianHair / PGC 之外几乎没人专门做。
  7. "非 OLAT 的 OLAT 等价":能否从 in-the-wild 数据获得 OLAT 等价的监督信号?RelightAnyone 试图回答,仍未真正解决。

我个人看好接下来一年的方向:动态 IR 的深化、大场景日夜过渡的 RT GI、3DGS + diffusion 的一致 multi-view relighting、 以及手机端 GS relightable AR。

名词表

3DGS3D Gaussian Splatting
2DGS2D Gaussian Splatting (Huang 2024),splat 退化为 2D disc
albedo表面漫反射率 $\rho$
$\alpha$-blending$C = \sum_i T_i \alpha_i c_i$,前到后累积
ASGAnisotropic Spherical Gaussian (Spec-Gaussian)
baking预计算 + 存储(visibility / 间接光等)
BRDFBidirectional Reflectance Distribution Function
BSSRDFBRDF + 次表面散射,皮肤蜡玉用
BVHBounding Volume Hierarchy(RT 加速结构)
cubemap6 张图组成的方向贴图
deferred shading先 splat 几何属性、再像素级算 shading
envmapHDR 球面 全景图,远场入射光表达
EWA splatting3D 椭球→2D 椭圆的标准投影 (Zwicker 2001)
Fresnel ($F$)反射率随入射角变化的物理项
G-bufferdeferred 中间几何 + 材质 buffer
GGXTrowbridge-Reitz NDF, 微面元 BRDF 中 $D$ 的事实标准
IBLImage-Based Lighting,用 envmap 作光源
inverse rendering (IR)从图像反推 (几何, 材质, 光照)
LRMLarge Reconstruction Model(前馈 transformer 从图出 3D)
metallic金属度,决定 $F_0$ baseline
microfacet把表面建模为大量微镜面 facet,由 NDF $D$ 统计
OLATOne Light At A Time,Light Stage 数据集
PBRPhysically-Based Rendering(能量守恒 + 互易)
PRTPrecomputed Radiance Transfer (Sloan 2002)
radiance辐射亮度 $L$,每方向上的光强
radiositydiffuse-only GI 的闭式解 $B = (I-\rho K)^{-1}E$
roughness ($\alpha$)表面粗糙度,控制 GGX 锐度
SDFSigned Distance Function,隐式表面
SHSpherical Harmonics,球面基函数
SGSpherical Gaussian,$c\,e^{\lambda(\omega\cdot\mu - 1)}$
splatting3D 椭球投到屏幕 $\alpha$-blending 的渲染方式
split-sumUnreal 2014 IBL 近似(envmap 预过滤 + 2D LUT)
SSSSubsurface Scattering,皮肤 / 蜡 / 玉的散射
surfelSurface element,2DGS 的 disc 就是 surfel
transientin-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