Repository navigation
A Nanite-style renderer built from scratch, and then checked: within a pixel is a proven bound here, not an estimate.
colossus is virtualized geometry in C++20 and Vulkan, with a WebGPU port that runs in the browser. Scanned models become a crack-free hierarchy of triangle clusters streamed from disk, and every frame each cluster picks the coarsest detail that stays within one pixel of the original.
I'd been prototyping it locally since February 2026, outside of git, so the commit history only starts in October, when I moved it into a repo and got it ready to publish.
The video (attached, 1080p): a photoscanned forest, 900 statues, the error slider on Lucy's clusters, a museum scan with its own texture, skinned foxes and a million instances.
The paper (attached, a working draft still being revised): Within a Pixel: Building Virtualized Geometry You Can Check, 11 pages on how it was built and where the proofs ran out. Also at abirdeol.tech.
Numbers (RX 9070 XT, 1920x1080, from docs/bench.sh)
| scene | frame |
|---|---|
| 900 scanned statues, 15.9 billion triangles at full detail | 1.51 ms |
| a million instances, 17.6 trillion triangles | 1.78 ms |
| 900 skinned, animated foxes | 1.73 ms |
| a photoscanned pine forest, 753 million triangles, with normal and roughness maps | 7.49 ms |
| 900 statues in Chrome (WebGPU) | 1.73 ms |
What's in it
- Proven errors. Each level's error is an upper bound on its distance from what it replaced, and its projection to the screen is bounded too. At one pixel, every pixel whose coverage changes touches the full-detail silhouette (
docs/quality.pymeasures it in rendered images). - Crack-free, checked. Every cut of every model here, the 55 forest models included, has no cracked edges.
- Real content. A Smithsonian scan streaming its texture in tiles, Khronos foxes playing their animations with errors measured in their poses, and a forest whose crowns stay full at a distance because the error counts the area simplification loses.
- Measured against meshoptimizer. Through the same renderer, only the builder swapped: colossus keeps silhouettes tighter at the same triangles, meshoptimizer shades better and builds faster.
make comparereproduces it.
Try it: the live demo needs a desktop GPU with WebGPU; make and models/fetch.sh build the native viewer (Vulkan 1.3 with mesh shaders).