Web Renderer

Spark.js

Spark.js is a modern Gaussian Splatting renderer for Three.js that treats splats as first-class scene objects for web applications.

Stage: RenderingThree.js appsInteractive web scenesDevelopers

What It Does

Spark.js is for developers who want splats inside a real web scene, not just inside a standalone viewer. It aims to make Gaussian Splatting feel native to a Three.js application.

It is a strong choice when you need UI, meshes, effects, interaction, or multiple assets around a splat rather than a simple preview page.

How To Use It In 3DGS

  • Install Spark.js in a Three.js project.
  • Create a SparkRenderer and connect it to your Three.js renderer and scene.
  • Load supported splat assets and place them alongside normal scene objects.
  • Profile on target devices, especially mobile browsers and integrated GPUs.

Things To Watch

  • This is a developer library, so it expects JavaScript, Three.js, and rendering knowledge.
  • Large uncompressed assets can still bottleneck network, memory, and sorting performance.
  • Browser rendering behavior varies across devices, so test the lowest-end device you intend to support.

Developer Features

  • Spark treats splats as Three.js objects through SplatMesh, so they can live in a normal scene hierarchy and be translated, rotated, animated, recolored, or opacity-adjusted.
  • It targets WebGL2 for broad device reach, while still supporting most major formats: PLY, compressed PLY, SPZ, SPLAT, KSPLAT, and SOG.
  • Choose Spark over a standalone viewer when your splat needs to coexist with meshes, UI, interaction, WebXR, or multiple dynamic splat objects.