Fractal Splats
Fractals drawn as Gaussian splats, progressively refined.
A private side project, August 2026
An experiment on using Gaussian splats to show fractals. Self similarity is used to create its own level of detail hierarchy efficiently while avoiding pixel based computations.
- [Quality]: determines level of detail of computation.
- [Show Gaussians]: draws a deliberately reduced number of gaussian ellipses, each outlined, with two magnified corners at ×3.2 and ×10 so the individual primitives can be seen.
- ( i ) symbol: in the corner of the viewer shows the rest of the numbers.
- [ UI ]: At the bottom right you can toogle the UI, go into full screen and control auto switching.
Discussion
Why splats?
Gaussian are easily transformed during camera movements zooming and their level of detail can be easily controlled. The scene is rebuilt continuously as the camera moves.
Continuous levels of detail
Self similar fractal shown here allows smooth level of detail subdivision for continous zoom. High speed zooming is possible.
Details
- A small piece of the fractal is an exact copy of the whole.
- When a Gaussian approaches the camera too much, it is smoothly subdivided into multiples smaller Gaussians in a cross-fade. They are also merged when they become distant.
- This works only if the self-similaritiy comes from scaling and rotations.
- Gaussians splats are faded to be transparent when they become too distant.
Colour
The hue is incremented continuesly and refining a region never changes its colour. The mean hue is maintained during the above mentioned subdivision.
Non-self-similar fractals
The non-self-similar fractals in this demo, the 2D Mandelbrot and Julia sets, use adaptive quadtree over the field with one Gaussian per cell. This implementation is noticibly slower and does not meaningfully outperform fast pixel based visualizations.
Deployment: a single html file.
License
MIT. Do whatever you want with this.
Citation
@software{padilla2026fractalsplats,
author = {Padilla, Marcel},
title = {Fractal Splats: adaptive Gaussian splatting of self similar sets},
year = {2026},
month = {8},
url = {https://marcelpadilla.github.io/Projects/Fractal_Splats/},
note = {Interactive WebGL 2 demo}
}