普通 3DGS 擅长回答“从另一个相机看,已经拍到的场景是什么样”。神经 PBR 或重光照要回答的是另一组问题:如果换一盏灯、转动物体、修改粗糙度,结果是否仍然可信?这要求把捕获图像里的外观拆成至少几层:几何与法线、材质或 BRDF、入射光、遮挡/可见性,以及曝光和颜色变换。论文的共同方向不是给高斯加一个更大的颜色网络,而是承认这些因素必须分别建模。
先理解逆向渲染的歧义
站内的渲染方程和BRDF页面提供了基本语言:出射辐亮度由入射光、可见性、表面法线和反射分布共同决定。可是多视图照片只约束最终颜色,同一块亮斑既可能来自更亮的光,也可能来自更低的粗糙度、错误法线或曝光偏差。因此,神经方法输出的“材质”未必是唯一真值;工程验收不能只看训练视角的 PSNR。
三条代表性路线
GS-IR 是把 3DGS 推向逆向渲染的清晰基线。它联合估计高斯几何、法线、表面材质和环境光,却继续使用前向泼溅保持速度。由于原生高斯没有可靠法线,方法用深度图导数构造正则;由于泼溅不能像反向光线追踪那样直接处理遮挡,又把遮挡信息预烘焙到体积中,用于间接光建模。这个折中很实用,但也说明速度来自近似:烘焙有预处理和存储成本,未知光照下的几何—材质—光照分解仍然不适定。
Gao 等人的 Relightable 3D Gaussians 更直接地扩展每个高斯的状态:除了位置和外观,还保存法线、BRDF 参数、方向相关的入射光,并用 BVH 在点基表示上做光线追踪与可见性预计算。它展示了“不转成网格也可以做可重光照”的路线。代价是属性、预处理和可见性数据显著增加;这是一种更完整的渲染表示,却仍受多视图覆盖和分解歧义限制。
GaussianShader 选择轻量化。它从高斯椭球的短轴估计法线,引入简化着色函数,用漫反射、直接反射和 residual 颜色项处理镜面表面。这样可以保留 3DGS 的优化与渲染效率,但 residual 不是完整路径追踪,复杂间接反射、透明介质和强多次反射仍会被近似。它适合作为“高斯光栅化 + 近似着色”的工程组件,而不是材质真值提取器。
光照采集会改变问题的可解性
GS³(Triple Gaussian Splatting)和 OLAT Gaussians 说明数据同样重要。前者使用逐光一次(OLAT)图像,把空间外观、朝光源方向的自阴影和全局光照补偿拆成多个通道;论文报告单卡约 90 FPS,但训练时长、光源覆盖和三重泼溅的成本必须一起计算。OLAT Gaussians 则用高斯特征和两个 MLP 分别表示入射光传输与散射,并借助代理网格提供法线和可见性提示,因此能覆盖毛发、织物和半透明对象。
这种路线的优点是学习型函数可以容纳固定 BRDF 难以描述的复杂外观;缺点是采集设备和拍摄量昂贵,MLP 的参数也未必等于可解释的材质。光源如果只覆盖少数方向,换成完全不同的光源形状仍然是外推。换句话说,OLAT 让“光照变化”有了监督,却不自动保证任意光照泛化。
另一种取舍是直接生成外观。Single Image Neural Material Relighting 从一张平面材质照片直接预测目标光照图像,不先恢复完整 SVBRDF。它在视觉任务上很直接,却牺牲显式几何、BRDF 和光传输参数;超出训练材料、视角和灯光分布时,结果可能只是合理的解释。对于游戏资产,这类输出更像预览或参考图,不能替代可编辑材质贴图。
接入 PBR 管线前要做的检查
我会把验收拆成四层。第一层是几何:法线是否连续,深度边缘是否稳定,薄片、遮挡和反射表面是否出现漂浮高斯。第二层是材质:粗糙度、金属度、反照率是否可编辑,能量是否守恒,材质变化是否只影响应影响的项。第三层是光照:新视角、新点光源、面光源、阴影和间接光是否分别测试,是否依赖捕获时的环境。第四层是运行时:模型大小、显存、预计算时间、解码和推理延迟,是否能在目标 GPU 上稳定运行。
还要把“照片级”与“物理可用”分开记录。照片级指标可以证明输出接近测试图像;它不能证明新光源下的 BRDF 正确,也不能证明碰撞、网格、UV、骨骼和引擎材质编辑接口存在。若资产要进入实时项目,通常更稳妥的做法是让高斯承担捕获背景或复杂外观代理,让可交互物体继续使用网格与传统 PBR;需要动态内容时,再参考四维高斯泼溅的时间表示,但不要把时间插值误称为物理预测。
一条简单的判断标准
看到“relightable”“neural material”或“PBR”时,可以连续问五件事:法线从哪里来?BRDF 是显式参数还是 residual 网络?入射光是否独立表示?遮挡和阴影如何计算?验证是否包含训练外的光源、材质编辑和新视角?只要其中几项没有证据,最稳妥的表述就是“在给定采集和实验条件下的可重光照近似”。这不是降低论文价值,而是把论文贡献准确放回工程边界:神经表示正在把高斯从外观缓存推进为可渲染材质,但一套可长期维护的 PBR 资产仍需要数据、表示、验证和引擎接口共同成立。