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.

GitHub Code on GitHub

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}
}