Gaussian Light Transport Fits Global Illumination as a Mixture of 13D Gaussians

Michael Rubloff

The de facto approach to global illumination in a modern renderer is to trace light paths from the camera and average them until the noise clears. It is general and it handles almost anything, and it is also bound to the camera. Move the viewpoint and the work begins again. Solving the rendering equation once for the whole scene, independently of where anyone is standing, is the older ambition, and it fell out of fashion because the answer was too large to store.
Attimont and Soler, at Inria and Université Grenoble Alpes, working with Kartic Subr at the University of Edinburgh, have taken the second route. Gaussian Light Transport stores the answer as a pile of blobs in the manner of gaussian splatting, except that each blob lives in thirteen dimensions. Three of them are the position everybody already knows about. The others describe the direction the light is traveling, the orientation of the surface underneath it, and what that surface is made of. The input is a scene description with known geometry, lighting and materials. Nothing here is reconstructed from photographs.
Carrying the surface inside the blob is what keeps the count down. One Gaussian can serve two walls painted the same color on opposite sides of a room, because it is matched against what the material is doing at the query point as well as where that point sits. The living room scene resolves into a few tens of thousands of blobs, and the whole solution takes 5.8 MB on disk.
Evaluating a sum that size for every query would be hopeless, so the method sorts queries into tiles by position and discards every blob that cannot reach the tile it is being asked about. On the Bedroom scene that leaves about seventy six blobs to evaluate per pixel out of twenty two thousand.
The comparison is against Neural Radiosity, the established way of solving the same equation with a neural network, run in two configurations and trained on the same RTX 4080 SUPER. Gaussian Light Transport trained Living Room in eleven and a half minutes where the baseline took four and a half hours, and the paper notes that the baseline was run to 100K iterations on that scene against 40K on most of the others. Across the six scenes the training speedup runs from ten to twenty three times, and the new method reaches a lower error on five of them. Bedroom is the one it loses.
The naive form of the algorithm carries a full thirteen by thirteen covariance per Gaussian. Every experiment factorizes it into independent blocks for position, direction, surface orientation and material, so no result in the paper uses the full thirteen by thirteen version. The culling scheme rests on the assumption that queries grouped in one tile are coherent both spatially and angularly, which holds for primary camera rays and weakens during training and when a bounce ray is traced, costing up to a 1.5 times slowdown in the worst case. A Gaussian is also smooth by construction, so an edge in the light that is not accompanied by an edge in the material or the surface gets softened.
Gaussian Light Transport appears at SIGGRAPH Asia 2026 in Kuala Lumpur, and live captures of every scene are on the project page. A repository is up and the code is not released yet. Learn more here.
- TRENDINGLoading...
- TRENDINGLoading...
- TRENDINGLoading...
New to Gaussian Splatting? Start here




