I built these two model kits years ago. I scanned them on my phone, turned them
into 3D Gaussian Splats, and placed them in a city I generated in three.js.
Live: https://sector07.narayaman.workers.dev
Drag to orbit. H toggles the HUD. WebGPU recommended, falls back to WebGL2.
It runs on the native splat renderer from r186. The captures came with their own
baked lighting, so I wrote a relight pass to make them take the dusk key light
and the fire glow from the ruins. Splats cast no shadows, so I build a convex
hull from the splat positions and use it as an invisible shadow caster.
The whole frame goes through a cockpit monitor pass. The HUD is not a DOM
overlay. It is drawn to a 2D canvas and sampled inside the post pass, so it takes
the same distortion and scanlines as the scene.
The loading screen runs in a worker, because rAF stops during a synchronous block
and a main thread loader would freeze exactly when you need it.
Personal, non-commercial work. The units are captures of store-bought model kits
and all designs belong to their respective owners.