3D Gaussian splatting (3DGS) is a popular radiance field method, with many application-specific extensions. Most variants rely on the same core algorithm: depth-sorting of Gaussian splats then rasterizing in primitive order. This ensures correct alpha compositing, but can cause rendering artifacts due to built-in approximations. Moreover, for a fixed representation, sorted rendering offers little control over render cost and visual fidelity. For example, and counter-intuitively, rendering a lower-resolution image is not necessarily faster. In this work, we address the above limitations by combining 3D Gaussian splatting with stochastic rasterization. Concretely, we leverage an unbiased Monte Carlo estimator of the volume rendering equation. This removes the need for sorting, and allows for accurate 3D blending of overlapping Gaussians. The number of Monte Carlo samples further imbues 3DGS with a way to trade off computation time and quality. We implement our method using OpenGL shaders, enabling efficient rendering on modern GPU hardware. At a reasonable visual quality, our method renders more than four times faster than sorted rasterization.
Sort-free rendering. The core idea of our method is to replace the sorted alpha blending used by 3DGS with a stochastic estimator. Stochastic transparency [Enderton et al. 2010] estimates the result of alpha blending using a Monte Carlo sum. A rasterized fragment is kept with a probability that matches its alpha value, and discarded otherwise. Centrally, each individual fragment is opaque and can be rendered using standard, unsorted rasterization with z-buffer. We apply this method to replace the sorted alpha blending of 3DGS. The following figure and pseudocode illustrate the basic stochastic transparency estimator:
Gradient estimator. Following recent work on differentiable rendering, we also formulate an unbiased gradient estimator, which can estimate reverse-mode gradients without storing a heavy automatic differentiation graph. The following figure validates the gradients computed using that method in forward-mode, i.e., by rendering a gradient image due to a global translation along x:
Pop-free rendering. Stochastic transparency further enables various versions of pop-free rendering. Similar to StopThePop [Radl et al. 2024], we approximate the depth of a Gaussian as a (view-dependent) surface. We propose to use a simple plane-approximation, which is a good fit for the hardware rasterization pipeline (unlike StopThePop's curved surface). Moreover, stochastic transparency allows full 3D intermixing of 3D Gaussians, which avoids the discontinuities inherent to other "pop-free" techniques. We showcase both the plane-approximation and full intermixing in the following figures:
This comparison showcases a rendered trajectory in the Garden scene from the MipNerf360 dataset using both StochasticSplats and standard, sorted 3DGS. Use the slider to see how our fine-tuned StochasticSplats effectively removes distracting popping artifacts (for example on the metal surface in the middle of the table):
The following MipNerf360 scenes are rendered using our OpenGL implementation and 1 sample per pixel. We average samples over multiple frames using a simple temporal anti-aliasing (TAA) implementation. We achieve smooth rendering on a low-end laptop with an NVIDIA Quadro T1000 Max-Q GPU, where we recorded the screen using the NVIDIA app.
Bonsai |
Kitchen |
Bicycle |
Stump |
The following scene is rendered using 1 sample per pixel without temporal anti-aliasing, showcasing the variance of the unprocessed estimator:
Room |
@misc{KheradmandVicini2025stochasticsplats, title = {StochasticSplats: Stochastic Rasterization for Sorting-Free 3D Gaussian Splatting}, author = {Shakiba Kheradmand and Delio Vicini and George Kopanas and Dmitry Lagun and Kwang Moo Yi and Mark Matthews and Andrea Tagliasacchi}, year = {2025}, url = {https://arxiv.org/abs/2503.24366}, eprint = {2503.24366}, archiveprefix = {arXiv}, primaryclass = {cs.CV} }
![]()