Nexels: Neurally-Textured Surfels for Real-Time Novel View Synthesis with Sparse Geometries
1University of Toronto 2Vector Institute 3Simon Frasier University 4University of Liège 5University of British Columbia *,†Equal contribution
Pause the video to enable close-up comparisons.
Oversampled 3DGS-MCMC (400K)
Tip: Look at the bulb-shaped vase ornament.
Pause the video to enable close-up comparisons.
Oversampled 3DGS-MCMC (400K)
Tip: Look at the lego bonsai.
Pause the video to enable close-up comparisons.
Oversampled 3DGS-MCMC (400K)
Tip: Look at the bike's front wheel.
Pause the video to enable close-up comparisons.
Oversampled 3DGS-MCMC (400K)
Tip: Look at the midground grass.
Hover over the left video to see close-ups. Pause to sync frames. Scroll with the mouse-wheel to zoom.
Though Gaussian splatting has achieved impressive results in novel view synthesis, it requires millions of primitives to model highly textured scenes, even when the geometry of the scene is simple. We propose a representation that goes beyond point-based rendering and decouples geometry and appearance in order to achieve a compact representation. We use surfels for geometry and a combination of a global neural field and per-primitive colours for appearance. The neural field textures a fixed number of primitives for each pixel, ensuring that the added compute is low. Our representation matches the perceptual quality of 3D Gaussian splatting while using 9.7 times fewer primitives and 5.5 times less memory on outdoor scenes and using 31 times fewer primitives and 3.7 times less memory on indoor scenes. Our representation also renders twice as fast as existing textured primitives while improving upon their visual quality.
Why does 3DGS need so many primitives?
Drag the circle across the image to compare 3DGS and nexels, and the renders and visualizations.
Gaussian splatting uses a single color across each primitive. As a result, a large number of primitives is needed to represent fine appearance, regardless of the underlying geometry. Our nexels overcome this limitation by moving the majority of the appearance into a shared neural field backed by an Instant-NGP model. This allows us to capture fine appearance using far fewer primitives. For example, the above figure compares 3,675,000 Gaussian splats with 4,000 nexels.
Rendering Nexels Efficiently
The inclusion of textures adds computation time. To ensure that our rendering remains real-time, we only texture a subset of primitives along each ray. Specifically, the K primitives with the highest rendering weights use the neural texture while the remaining primitives fall back to the typical per-primitive color. This can be implemented in a two-pass render as depicted above:
- (a) For each ray, we iterate over the intersected primitives and determine the weights of each one while also computing the non-textured render.
- (b) We collect the K intersections which have the largest weights and return their depths and weights.
- (c) We pass their K positions into a neural field to obtain the textured appearance.
- (d) We composite the textures with the non-textured render to get the final output.
We render nexels more than twice as fast as prior textured Gaussians works thanks to this strategy.
Custom Dataset
Pause the video to enable close-up comparisons.
Oversampled 3DGS-MCMC (400K)
Tip: Look at the girl's right eye.
Pause the video to enable close-up comparisons.
Oversampled 3DGS-MCMC (400K)
Tip: Look at the text on the cards.
Pause the video to enable close-up comparisons.
Oversampled 3DGS-MCMC (400K)
Tip: Look at the white bag.
Pause the video to enable close-up comparisons.
Oversampled 3DGS-MCMC (400K)
Tip: Look at the magazines.
Hover over the left video to see close-ups. Pause to sync frames. Scroll with the mouse-wheel to zoom.
Existing datasets have very few close-up shots, so representations for novel view synthesis are rarely tested on fine appearance details. To evaluate the ability to recover textures, we collected a dataset of four scenes which contains text, patterns, and more. These are observed at a range of distances, including close-up shots.
High Number of Primitives
Pause the video to enable close-up comparisons.
Tip: Look at the flowers near the middle of the patch.
Pause the video to enable close-up comparisons.
Tip: Look at the ground.
Hover over the left video to see close-ups. Pause to sync frames. Scroll with the mouse-wheel to zoom.
The neural texture improves the photometric quality even at a high number of primitives. With 400K primitives, nexels perform on par with 3D Gaussian splats with millions of primitives. The texture provides additional detail in regions which densification misses.
Quantitative Results
To validate the qualitative trends shown above, we evaluated the perceptual quality (lower is better) of renders produced by nexels trained and densified to reach different numbers of primitives. We compare these results to 3DGS-MCMC averaged across the four Mip-NeRF360 indoor scenes and five outdoor scenes, as well as our four custom scenes. Nexels achieve better perceptual quality using fewer primitives and less memory.
Related Work
BibTeX
@article{rong2025nexels,
title={Nexels: Neurally-textured surfels for real-time novel view synthesis with sparse geometries},
author={Rong, Victor and Held, Jan and Chu, Victor and Rebain, Daniel and
Van Droogenbroeck, Marc and Kutulakos, Kiriakos N and Tagliasacchi, Andrea and Lindell, David B},
journal={arXiv preprint arXiv:2512.13796},
year={2025}
}