Georgios Kouros, Minye Wu, Tinne Tuytelaars
| Project page | Full paper | Video |
This repository contains the official implementation of the paper "Spec-Gloss Surfels and Normal–Diffuse Priors for Relightable Glossy Objects" presented at WACV 2026 (oral).
Accurate reconstruction and relighting of glossy objects remains a longstanding challenge, as object shape, material properties, and illumination are inherently difficult to disentangle. Existing neural rendering approaches often rely on simplified BRDF models or parameterizations that couple diffuse and specular components, which restrict faithful material recovery and limit relighting fidelity. We propose a relightable framework that integrates a microfacet BRDF with the specular-glossiness parameterization into 2D Gaussian Splatting with deferred shading. This formulation enables more physically consistent material decomposition, while diffusion-based priors for surface normals and diffuse color guide early-stage optimization and mitigate ambiguity. A coarse-to-fine environment map optimization accelerates convergence, and negative-only environment map clipping preserves high-dynamic-range specular reflections. Extensive experiments on complex, glossy scenes demonstrate that our method achieves high-quality geometry and material reconstruction, delivering substantially more realistic and consistent relighting under novel illumination compared to existing Gaussian splatting methods.
Overview of our method's pipeline built on 2DGS. Gaussian splats rasterize to a G buffer of albedo, roughness, F0, indirect color, and surface normals. A differentiable prefiltered environment cubemap with mipmaps provides lighting in a physically based deferred renderer. The HDR environment map is learned in a coarse-to-fine manner. Supervision uses an sRGB photometric loss between shaded output and ground truth (GT), plus normal and diffuse priors that reduce ambiguity between geometry, materials, and lighting.
conda env create -f environment.yml
conda activate specglossgs
conda install -c conda-forge open3d=0.18.0 pillow=11.2.1
pip install submodules/diff-surfel-rasterization
pip install submodules/fused-ssim
pip install submodules/simple-knn
pip install submodules/raytracing- Download the datasets Shiny Synthetic, Shiny Real, and Glossy Synthetic (updated link).
The glossy synthetic dataset was originally released by NeRO. The original download link is no longer available, so we provide a copy used in our experiments for reproducibility. We do not claim ownership of this dataset or grant any additional usage rights. Please refer to the original source for licensing information.
- Convert the glossy dataset to blender format:
python scripts/nero2blender.py --path ./data/GlossySynthetic-
Download the normal-diffuse prior images generated via StableNormal and StableDelight for all datasets and put them on the corresponding scene dirs.
-
Arrange the datasets as follows:
./data/
├── glossy_synthetic/
│ ├── angel/
│ │ ├── rgb/
│ │ ├── StableNormal_rgb/
│ │ ├── StableDelight_rgb/
│ │ ├── StableNormal_images/
│ │ ├── test_transforms.json
│ │ └── train_transforms.json
. .
. .
├── ref_shiny/
│ ├── ball/
│ │ ├── train/
│ │ ├── test/
│ │ ├── StableNormal_train/
│ │ ├── StableDelight_train/
│ │ ├── test_transforms.json
│ │ └── train_transforms.json
. .
. .
└── ref_real/
├── garenspheres/
│ ├── images/
│ ├── StableNormal_images/
│ ├── StableDelight_images/
│ ├── test_transforms.json
│ └── train_transforms.json
.
.
To evaluate our method run the following commands:
python scripts/glossy_eval.py --scene=all <exp_name> # choose from {all, angel, bell, cat, horse, luyu, potion, tbell, teapot}
python scripts/shiny_eval.py --scene=all <exp_name> # choose from {all, ball, car, coffee, helmet, teapot, toaster}
python scripts/real_eval.py --scene=all <exp_name> # choose from {all, gardenspheres, sedan, toycar}To visualize a scene, first run the web server with the following command:
python view.py -m "/path/to/experiment"Then on a web browser go to the following address: https://localhost:8080
We gratefully acknowledge the following works that were instrumental in the development of our method:
@InProceedings{Kouros_2026_WACV,
author = {Kouros, Georgios and Wu, Minye and Tuytelaars, Tinne},
title = {Spec-Gloss Surfels and Normal-Diffuse Priors for Relightable Glossy Objects},
booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
month = {March},
year = {2026},
pages = {4417-4426}
}