Subsurface Scattering for 3D Gaussian Splatting

Jan-Niklas Dihlmann, Arjun Majumdar, Andreas Engelhardt, Raphael Braun, Hendrik P. A. Lensch
8/22/2024
cs.CVcs.GR

No official code found. Best implementation: cgtuebingen/SSS-GS (167 stars, last commit 2026-03-10).

Abstract

3D reconstruction and relighting of objects made from scattering materials present a significant challenge due to the complex light transport beneath the surface. 3D Gaussian Splatting introduced high-quality novel view synthesis at real-time speeds. While 3D Gaussians efficiently approximate an object's surface, they fail to capture the volumetric properties of subsurface scattering. We propose a framework for optimizing an object's shape together with the radiance transfer field given multi-view OLAT (one light at a time) data. Our method decomposes the scene into an explicit surface represented as 3D Gaussians, with a spatially varying BRDF, and an implicit volumetric representation of the scattering component. A learned incident light field accounts for shadowing. We optimize all parameters jointly via ray-traced differentiable rendering. Our approach enables material editing, relighting and novel view synthesis at interactive rates. We show successful application on synthetic data and introduce a newly acquired multi-view multi-light dataset of objects in a light-stage setup. Compared to previous work we achieve comparable or better results at a fraction of optimization and rendering time while enabling detailed control over material attributes. Project page https://sss.jdihlmann.com/

View on arXivView PDF

Code Implementations(1)

cgtuebingen/SSS-GSCommunity74%

Subsurface Scattering for Gaussian Splatting

16711C, C++Aug 15, 20247 months ago

Similar Papers

Cite this paper

@article{dihlmann2024subsurface,
  title  = {Subsurface Scattering for 3D Gaussian Splatting},
  author = {Jan-Niklas Dihlmann and Arjun Majumdar and Andreas Engelhardt and Raphael Braun and Hendrik P. A. Lensch},
  year   = {2024},
  eprint = {2408.12282},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2408.12282v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2408.12282.svg)](https://codeofpaper.com/paper/2408.12282)

Discussion