September 7, 2026How to Use Three.JS's new Native Gaussian SplatsYou can put a phone-captured object into Three.js without building a mesh or unwrapping a single UV. Here is the route from a raw scan to a compact SPZ file—and the few lines that render it.
September 3, 2026Running LLMs in the Browser with Three.jsThree.js can draw a scene and run the language model that describes it. I built Three-LLM to test that—and found that batching GPU submissions made one small model generate text 4.7× faster.
August 24, 2026Adding Global Sort to Three.js Gaussian SplattingTwo Gaussian splat clouds can each render correctly and still produce a popping seam where they overlap. Here is how I made Three.js sort them together without rewriting millions of splats when an object moves.
August 24, 2026Neural Texture Compression in Three.jsA material's color, roughness, and normal maps describe the same surface, yet ordinary compression treats them as unrelated images. I built a Three.js decoder that exploits those shared details and reconstructs the texture stack inside the shader.
August 22, 2026Fine-Grained Shader Validation in Three.jsA shader can render a convincing image while its math is wrong. Numeric GPU tests exposed six bugs in Three.js's TSL foundations in a day, from NaNs to reversed rotations.
August 18, 2026Neural network basics, for graphics peopleIf you can fit a curve or tune a GGX lobe, neural-network training is less unfamiliar than it sounds. This reference connects MLPs, Adam, latent grids, and decoders to functions and math graphics programmers already use.
August 7, 2026Adding Native Gaussian Splatting Support to Three.jsAdding Gaussian splats to a Three.js scene takes three lines. Keeping the implementation small took more work: GPU sorting, view-dependent color, and loaders that fit the existing engine instead of bringing a second rendering stack along.
July 19, 2026Reporting Web 3D Capabilities on a Budget of $3 a MonthWeb3DSurvey collects roughly half a million browser samples a month, yet costs about C$3 to run. The key is making report traffic almost irrelevant to the BigQuery bill: even thousands of views reuse the same cached aggregates.
July 17, 2026Rendering Real-Time 3D Before GPUsIn 1997, I got textured, bump-mapped 3D running in real time on my dad's 486. With only 256 colors and a slow FPU, even a specular highlight needed a shortcut.
July 12, 2026Web 3D Survey v2Before gating a 3D feature or taking a laptop to a demo, check what its browser actually exposes. Web 3D Survey v2 lets you compare that machine’s WebGL, WebGPU, and browser capabilities against the survey population.
June 22, 2026Adventures in Fluid SimulationI spent ten years building fluid solvers used on around twenty films, including Harry Potter. The harder lesson was why that work had a fraction of the impact of a render scheduler I built using a filesystem as a database.
June 21, 2026My Dad, an Apple IIe and a Stack of Nibble MagazinesMy dad's Apple IIe and a stack of magazines taught me to code by copying, breaking, and rebuilding tiny programs. By eleven, I'd squeezed a fireworks animation into two lines—and Nibble published it.