atlas

Research map / 3D vision / Gaussian splatting

GaussianShader: 3D Gaussian Splatting with Shading Functions for Reflective Surfaces

CVPR 2024 · 3D vision › Gaussian splatting · approach: Compact and efficient Gaussian splatting · 181 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Adds a simplified shading function (diffuse, specular tint, GGX-style environment lighting, residual SH color) and a shortest-axis normal with depth-gradient consistency loss to 3D Gaussian Splatting to render reflective surfaces in real time.

Problem

3D Gaussian Splatting does not explicitly model appearance, so it fails on specular and reflective surfaces, while prior reflective-surface methods (Ref-NeRF, ENVIDR) are slow to train and render. Accurate normal estimation on discrete Gaussians is also hard.

Approach

Apply a simplified rendering-equation shading model on 3D Gaussians (diffuse color, specular tint times split-sum environment light, and an SH residual color term), with normals taken from each Gaussian's shortest axis plus a learned residual and a loss that ties predicted normals to depth-gradient normals.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Add GaussianShader shading and normal estimation to 3D Gaussian Splatting3D Gaussian Splatting · NeRF Synthetic, averagePSNR: 33.30 -> 33.38Helped
Add GaussianShader shading and normal estimation to 3D Gaussian Splatting3D Gaussian Splatting · Shiny Blender, averagePSNR: 30.37 -> 31.94Helped
Use GaussianShader instead of ENVIDRShiny Blender · Shiny Blender, averagePSNR: 32.88 -> 31.94Hurt
Add sparse loss (ablation)GaussianShader · Shiny Blender, half resolutionPSNR: 31.79 -> 32.09Helped
Add normal-geometry consistency loss (ablation)GaussianShader · Shiny Blender, half resolutionPSNR: 30.93 -> 32.09Helped
Add residual color for complex and indirect reflections (ablation)GaussianShader · Shiny Blender, half resolutionPSNR: 31.49 -> 32.09Helped
Use the shortest-axis normal representation instead of directly optimizing a normal (ablation)GaussianShader · Shiny Blender, half resolutionPSNR: 31.47 -> 32.09Helped
Use environment-map lighting instead of MLP lighting (ablation)GaussianShader · Shiny Blender, half resolutionPSNR: 29.73 -> 32.09Helped
Add shading and normal attributes to Gaussian Splatting3D Gaussian Splatting · NeRF Synthetic and Shiny Blender, averageFPS: 274 -> 97Hurt

Surprising findings

Limitations

Experimental setup

Datasets: NeRF Synthetic Shiny Blender Glossy Synthetic Tanks and Temples

Benchmarks: NeRF Synthetic Shiny Blender Glossy Synthetic Tanks and Temples

Metrics: PSNR SSIM LPIPS training time FPS

Baselines: 3D Gaussian Splatting VolSDF Ref-NeRF ENVIDR NVDiffRec NVDiffRecMC NeRO NeRF

Builds on: 3D Gaussian Splatting Ref-NeRF NVDiffRec

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy