Reframing Photon Mapping with Continuous Gaussian Photon Fields
Accurately modeling light transport is essential for realistic image synthesis. Photon mapping provides physically grounded estimates of complex global illumination effects such as caustics and specular-diffuse interactions, yet its per-view radiance estimation remains computationally inefficient when rendering multiple views of the same scene. The inefficiency arises from independent photon tracing and stochastic kernel estimation at each viewpoint, leading to inevitable redundant computation.
To accelerate multi-view rendering, we reformulate photon mapping as a continuous and reusable radiance function. Specifically, we introduce the Gaussian Photon Field (GPF), a learnable representation that encodes photon distributions as anisotropic 3D Gaussian primitives parameterized by position, rotation, scale, and spectrum. GPF is initialized from physically traced photons in the first SPPM iteration and optimized using multi-view supervision of final radiance, distilling photon-based light transport into a continuous field.
Once trained, the field enables differentiable radiance evaluation along camera rays without repeated photon tracing or iterative refinement. Extensive experiments on scenes with complex light transport demonstrate that GPF attains photon-level accuracy while reducing computation by orders of magnitude, unifying the physical rigor of photon-based rendering with the efficiency of neural scene representations.
A novel learnable representation encoding photon distributions as anisotropic 3D Gaussian primitives, bridging traditional photon mapping with modern neural representations.
Once trained, GPF enables efficient radiance evaluation without repeated photon tracing, reducing multi-view rendering costs dramatically compared to SPPM.
Achieves substantially higher structural similarity (SSIM) compared to path tracing while preserving the physical accuracy of photon-based global illumination.
GPF Pipeline. (1) Gaussian primitives are initialized from physically traced photons. (2) A differentiable radiance query aggregates nearby Gaussian contributions. (3) The field is optimized using sparse multi-view supervision against SPPM reference.
Gaussian primitives are initialized from photons traced in a single iteration of Stochastic Progressive Photon Mapping (SPPM), providing a physically grounded starting point with proper spatial distribution.
A differentiable mechanism aggregates contributions from nearby Gaussians using anisotropic kernels to estimate surface radiance, triggered at the first diffuse intersection.
The field is optimized end-to-end against reference radiance computed offline by SPPM using sparse multi-view supervision, distilling complex light transport into a continuous, reusable field.
def query_gaussian_radiance(x, view_dir, G, kd_tree, r=0.02, k_min=3):
"""Query radiance from Gaussian Photon Field at surface point x."""
# Phase 1: radius query for local photons
idx_r = kd_tree.ball_query(x, r)
# Phase 2: supplement with kNN if sparse
if len(idx_r) < k_min:
idx_knn = kd_tree.knn_query(x, k_min)
idx = dedup(idx_r + idx_knn)
else:
idx = idx_r
# Phase 3: accumulate weighted contributions
L, Z = 0.0, 0.0
for j in idx:
mu, sigma, quat, color = G[j]
w = compute_anisotropic_weight(x, mu, sigma, quat, r)
L += color * w
Z += w
return L / max(Z, 1e-6)
Multi-view rendering results across various scenes
Complex refractive caustics through water surfaces
Indirect illumination through partially open door
Complex light paths with multiple bounces