Ben Houston @ben3d.ca · 11hNew project: Fidelity test suite for @gkjohnson.bsky.social's three-gpu-pathtracer vs @blender.org . Compares both the legacy #WebGL and new #WebGPU renderers. bhouston.github.io/three-gpu-pa... github.com/bhouston/thr... 232
Ben Houston @ben3d.ca · 03/10/2026OpenDLSS 5 comes to ThreeJS. NVIDIA’s DLSS 5 neural rendering network, as @threejs compute nodes, byte for byte. github.com/bhouston/thr... 071
Ben Houston @ben3d.ca · 02/10/2026Added thermal paste to the MacBook Air to reduce thermal throttling under sustained load. It no longer throttles under sustained 100% GPU load, the bottom surface though is 124 F/50 C. 142
Ben Houston @ben3d.ca · 30/09/2026"git-dedup" - a Git wrapper that makes git faster and smaller for agentic workflows. Specifically checkouts and submodules can be slow if you have agent fleets on the go. This fixes that: ben3d.ca/blog/git-ded...ben3d.cagit-dedup: Faster and Smaller Checkouts for FreeAgentic coding means many worktrees and clones at once, and each one drags along its own copy of Git history and submodules. git-dedup shares one local object pool across all of them. It cut my Git st... 000
Ben Houston @ben3d.ca · 25/09/2026I love my MacBook Air 95% of the time except when I have to do a bunch of Blender renders. It throttles down since it is at 100% sustained usage and becomes ultra slow. 111
Ben Houston @ben3d.ca · 24/09/2026Want to inspect #MaterialX materials in your coding IDE? Try my new #ThreeJS-based MaterialX Viewer extension for VSCode and Cursor: marketplace.visualstudio.com/items?itemNa... open-vsx.org/extension/be... 074
Ben Houston @ben3d.ca · 23/09/20262.4x Faster Native GPU Testing for @vitest.dev and #jest without a Browser. Thanks to Renaud Rohlinger for the inspiration (and this is partially built on his node-webgl package.) ben3d.ca/blog/native-...ben3d.caFaster Native GPU Testing for Vitest and Jest without a BrowserI built Vitest and Jest environments that give your tests real, GPU-backed WebGL and WebGPU contexts directly in Node.js. They use the same ANGLE and Dawn implementations as Chrome, so you get the sam... 000
Ben Houston @ben3d.ca · 23/09/2026Want to write simpler & faster tests your #WebGPU or #WebGL code in @vitest.dev? I've created two Vitest environments just for you! github.com/bhouston/vit...github.comGitHub - bhouston/vitest-gpu: Vitest environments for real headless WebGL and WebGPU in Node, plus a pixel-diff screenshot matcherVitest environments for real headless WebGL and WebGPU in Node, plus a pixel-diff screenshot matcher - bhouston/vitest-gpu 000
Ben Houston @ben3d.ca · 14/09/2026I want developers to be able to write performant #WebGPU code. To do that, they need to know what different operations, code patterns, and optional features actually cost on the devices people use. ben3d.ca/blog/introdu...ben3d.caIntroducing WebGPU-Bench: A WebGPU MicrobenchmarkIntroducing webgpu-bench, the micro-benchmark suite behind Web3D Survey’s GPU benchmark, with measurements of shader operations and code patterns available through a webpage and CLI. 1152
Ben Houston @ben3d.ca · 09/09/2026Neural Texture Compression (NTC) for #ThreeJS. NTC shrinks material sizes by 90% by compressing all textures together into a single compact neural network. This is also the first open-source NTC implementation. Trainer + #ThreeJS runtime library here: three-ntc.ben3d.ca 170
Ben Houston @ben3d.ca · 08/09/2026Web3D Survey's new GPU benchmarking page now has a sharable results URL. Here is mine: web3dsurvey.com/benchmark/40... 030
Ben Houston @ben3d.ca · 05/09/2026Finally you can get some solid numbers on #WebGPU performance. Web3D Survey gets a statistically sound benchmark: web3dsurvey.com/benchmark Aggregation numbers coming soon. How do you measure up? 030
Ben Houston @ben3d.ca · 04/09/2026Ant Colonies in the Machine Communicating swarms of small LLM agents will become as omnipresent in our digital environment as ant colonies are in our biological one. ben3d.ca/blog/ant-col...ben3d.caAnt Colonies in the MachineCommunicating swarms of small LLM agents will become as omnipresent in our digital environment as ant colonies are in our biological one. 000
Ben Houston @ben3d.ca · 03/09/2026Introducing "Three-LLM" A #WebGPU LLM inference engine build upon #ThreeJS's compute / TSL (thanks sunag!) that directly loads Hugging Face models, including Qwen, Phi, Smol & GPT2. three-llm.ben3d.ca 000
Ben Houston @ben3d.ca · 31/08/2026Added physically-based Location + Date Time aware sun positioning to mrdoob's new #ThreeJS sunlight. Much easier to simulate day/night cycles than trying to figure out how to move the sun via manual azimuth/elevation modification. github.com/mrdoob/three... 050
Ben Houston @ben3d.ca · 27/08/2026New #ThreeJS PR: A #WebGPU-native 2D Fast Fourier Transform (FFT) helper via the Stockham algorithm. Full details here, including an interactive convolution example: github.com/mrdoob/three... 030
Reposted by Ben HoustonNick Fisher @hydroxide.dev · 27/08/2026From @ben3d.ca: ben3d.ca/blog/m5-max-...ben3d.caAn M5 Max using Samsung's LPDDR5-PIM would generate 650 tokens/secondReplace the M5 Max's LPDDR5X with eight Samsung LPDDR5X-PIM packages and the memory could deliver 4.9 TB/s where the weights live. The right parallel mapping could push an 8B model toward 650 tokens p... 031
Ben Houston @ben3d.ca · 12/08/2026Today, I added support for Niantic Spatial, Inc.'s SPZ V4 this morning to #ThreeJS's gaussian splatting #gs3d implementation. Reduces file size 30% and 1.5x faster loading. github.com/mrdoob/three... 060
Ben Houston @ben3d.ca · 11/08/2026Just added view dependent rendering of Gaussian Splats via Spherical Harmonics (up to SH3) to #ThreeJS in this PR: github.com/mrdoob/three... #gs3d 170
Ben Houston @ben3d.ca · 07/08/2026My minimal TSL-based #ThreeJS Gaussian Splat PR is complete. Supports PLY, SPZ, SPLAT and GLTF formats. Details: ben3d.ca/blog/gaussia...ben3d.caA Minimal, TSL-Native Gaussian Splat Renderer for Three.jsA walkthrough of the Gaussian Splat renderer and loaders I contributed to Three.js, a small WebGPU/TSL implementation with a reusable GPU counting sort, loaders for PLY, SPLAT, SPZ, KSPLAT and glTF, a... 2134
Ben Houston @ben3d.ca · 06/08/2026Been following reddit.com/r/aivideo for the last year or two and the quality of videos being posted their has dramatically increased the last 6 months. Blow my mind what one person can do now.reddit.comr/aivideo - The place for AI generated videos on redditWelcome to r/aivideo! 🍿🥤🤯 A community focused on the PROFESSIONAL USE OF FULL MOTION VIDEO GENERATIVE A.I. ASSISTANTS such as SEEDANCE, KLING, VEO, HAILUO and other similar AI VIDEO tools capable of g... 120
Reposted by Ben HoustonMayor Zohran Kwame Mamdani @mayor.nyc.gov · 22/07/2026Benjamin Netanyahu is a war criminal. 20368812724829
Ben Houston @ben3d.ca · 20/07/2026How Web 3D Survey handles 300M data points / month while running on a budget of $3 CDN / month: ben3d.ca/blog/reporti...ben3d.caReporting Web 3D Capabilities on a Budget of $3 a MonthThe architecture behind Web3DSurvey, two Cloud Run services, a partitioned BigQuery store, and a transparent JSON cache that let me report real-world WebGL and WebGPU support for a few dollars a month... 001
Reposted by Ben HoustonRuairi (rc55) @rc55.com · 17/07/2026Who doesn’t love software rendering? Great post from Ben Houston with some source code included! 051
Ben Houston @ben3d.ca · 17/07/2026Rendering Real-Time 3D Before GPUs How I built a real-time 3D renderer on a slow 486 with only 256 colors, using fixed-point math, palette quantization, matcap-style Phong lighting, and x86 assembly. ben3d.ca/blog/renderi...ben3d.caRendering Real-Time 3D Before GPUsBefore GPUs, with a slow 486 FPU and only 256 colors in Mode 13h, I built a software renderer that combined fixed-point math, palette quantization, matcap-style Phong lighting, and x86 assembly to get... 2193
Ben Houston @ben3d.ca · 15/07/2026Today's Essay: Are you a SaaS Platform or a Consulting Shop with good internal tools? It can be easy to confuse the two when you are a new entrepreneur but it matters which one you are if you want to scale and pitch to investors. ben3d.ca/blog/consult...ben3d.caYou Might Be a Consulting Company With Good ToolsMany founders believe they are running a SaaS company when they are running a consulting company with good internal tools. If your team uses the platform to deliver work for clients who never log in, ... 000
Ben Houston @ben3d.ca · 14/07/2026Web3D Survey hits 2.0: The #webgpu features/limits tracker website now lists (1) WSGL language features, (2) vendor/arch breakdown, (3) browser color space support, and (4) lets you see your own machine capabilities. Details: ben3d.ca/blog/web-3d-...ben3d.caWeb 3D Survey v2Web 3D Survey v2 rebuilds the site on TanStack Start, adds homepage support summaries, WGSL and adapter reporting, browser capability stats, and a live /machine report. 260
Ben Houston @ben3d.ca · 03/07/2026Wrote a minimal, extensible Gaussian Splat renderer PR for @ThreeJS using TSL for sorting, vertex processing and fragment shading + instances. It separates the GS3D data structure from the loader and from the renderer. github.com/mrdoob/three... 0101
Ben Houston @ben3d.ca · 03/07/2026Updated web3dsurvey.com, the WebGL, WebGL2 and WebGPU extension and feature tracker with a more informative homepage and added some new browser statistics. 230
Ben Houston @ben3d.ca · 03/07/2026Quick little PR to @ThreeJS to add support for retroreflective materials via the Minimal Retroreflective Microfacet Model. github.com/mrdoob/three... 020
Ben Houston @ben3d.ca · 22/06/2026How to optimizing @tanstack.com Start for Google Cloud Run: (1) config Nitro to bundle server files, (2) prewarm NODE_COMPILE_CACHE during docker build. Full details: ben3d.ca/blog/optimiz...ben3d.caOptimizing TanStack Start for Cloud RunTanStack Start runs on Nitro, and Nitro's default Node output can leave server code split across many files. On Google Cloud Run, that file fan-out can make cold starts painfully slow. Bundling the se... 000
Ben Houston @ben3d.ca · 14/06/2026Proof of Possession: How to solve rampant developer token thief: ben3d.ca/blog/proof-o... 000
Ben Houston @ben3d.ca · 23/05/2026My painting of Ghibli-style dust gremlins for our 3 year old who loves Totoro. Simple but she thinks having them looking over her at night is “awesome!” 020
Ben Houston @ben3d.ca · 15/05/2026Today's side project is "node-prewarm" - it is a simple CLI tool for pre-populating your NODE_COMPILE_CACHE (available with @nodejs 25.4 and later) so your services startup 20% faster: ben3d.ca/blog/introdu...ben3d.canode-prewarm: CLI for Node 25's Compile CacheNew in Node 25 is the node compile cache, which can deliver a 20% to 30% boost in server start-up time. I built `node-prewarm` to make that practical on real projects with minimal changes. 010
Ben Houston @ben3d.ca · 04/05/2026Last week I worked on achieving pixel-perfect #ThreeJS import of @materialx.bsky.social files, and this week I've got pixel perfect @blender.org #MaterialX importing working. ben3d.ca/blog/pixel-p...ben3d.caTransferable Pixel-Perfect Material Graphs for Blender & Three.jsHow I built the MaterialX Fidelity Suite, then used it to drive pixel-perfect MaterialX support in both Three.js and Blender — including custom noise node implementations that finally close the gap be... 070
Ben Houston @ben3d.ca · 27/04/2026Preparing a major PR to improve #ThreeJS MaterialX support significantly. In order to perfect it, I've written an open source @materialx.bsky.social Fidelity Suite inspired by the @khronos.org / @gltf.bsky.social fidelity tool: material-fidelity.ben3d.ca 042
Reposted by Ben HoustonBen Houston @ben3d.ca · 24/04/2026MaterialX Needs a Single-File Container. Let's formalize what @polyhaven.com and @gpuopen.bsky.social material libraries are already doing with a new "mtlz" extension. Details here: ben3d.ca/blog/materia... CC: @materialx.bsky.socialben3d.caMaterialX Needs a Single-File ContainerMaterialX assets are multiple loose files, which breaks down in real pipelines. The community has already solved this with zip packaging. We just need to formalize it as .mtlz. 085
Ben Houston @ben3d.ca · 24/04/2026MaterialX Needs a Single-File Container. Let's formalize what @polyhaven.com and @gpuopen.bsky.social material libraries are already doing with a new "mtlz" extension. Details here: ben3d.ca/blog/materia... CC: @materialx.bsky.socialben3d.caMaterialX Needs a Single-File ContainerMaterialX assets are multiple loose files, which breaks down in real pipelines. The community has already solved this with zip packaging. We just need to formalize it as .mtlz. 085
Ben Houston @ben3d.ca · 09/04/2026Beta 4 of my project "Land of Assets" is live. New features: - Robust task system at extreme scale. - Webhooks for automations. - Server event streaming for tasks. - New design aesthetic across the board. landofassets.com/blog/beta_4 030
Ben Houston @ben3d.ca · 27/03/2026How to create a Passwordless User System. A presentation with live demo I gave this evening at ForwordJS Ottawa hosted by Fullscript: ben3d.ca/blog/passwor.... Cc: @haveibeenpwned.comben3d.caPasswordless Login SystemPasswords are a shared-secret liability. Here is how to build a modern passwordless auth flow using Email OTP and Passkeys (WebAuthn), without storing passwords. 000
Ben Houston @ben3d.ca · 05/03/2026HDRify, the JavaScript/TypeScript native HDR and EXR library gets luminance EXR loader support with version 0.11.0. Thank you "krapnikkk" on Github: github.com/bhouston/hdr... Try it out here: hdrify.benhouston3d.com?image=%2Fexa... 020
Ben Houston @ben3d.ca · 27/02/2026Beta 3 of LandOfAssets.com is live. Supports uploads of Blender .blend and USD .usdz files automated conversion between all formats. KTX2 and MeshOpt optimized GLBs now also supported. landofassets.com/blog/beta_3 010
Ben Houston @ben3d.ca · 20/02/2026Zstdify: A Pure TypeScrpt Zstd Re-Implementation Pure JavaScript/TypeScript zstd compression/decompression library. No native dependencies, works in Node.js and browsers. github.com/bhouston/zst... 121
Ben Houston @ben3d.ca · 20/02/2026HDRify, the pure JavaScript implementation of EXR, HDR, and UltraHDR Jpgs, now has its own VSCode & Cursor extensions. Preview (with tone mapping/exposure) and convert between HDR, EXR and UltraHDR Jpgs. marketplace.visualstudio.com/items?itemNa... open-vsx.org/extension/be... 150
Ben Houston @ben3d.ca · 19/02/2026Explaner: Why "Land of Assets" Standardizes on glTF for the Master Asset benhouston3d.com/blog/why-lan... #3d #gltf #landofassets 040
Ben Houston @ben3d.ca · 19/02/2026LandOfAssets Beta 2: - Support for environment map assets: EXR, HDR (via hdrify) - Asset creation wizard - Signup/login via Google - Improved styling across the board. landofassets.com 000
Ben Houston @ben3d.ca · 12/02/2026HDRify, the JavaScript library for reading/writing EXR, HDR, and UltraHDR, gets a website: hdrify.benhouston3d.com Load, convert, and preview your high dynamic range images in the browser in real-time. 161
Ben Houston @ben3d.ca · 10/02/2026Introducing HDRify. A browser/Node library for reading and writing high dynamic range formats including: - HDR - EXR (PIZ, RLE, and ZIP) - HyperJPEG (Gain Maps) Includes a CLI tool for easy conversion. www.npmjs.com/package/hdrify github.com/bhouston/hdr...npmjs.com 050
Ben Houston @ben3d.ca · 09/02/2026FYI Github only has 93% uptime the last month, it is becoming a liability to rely upon it for production needs: mrshu.github.io/github-statu... 000
Ben Houston @ben3d.ca · 03/02/2026Excited to share Land of Assets, a new project I've created: landofassets.com It's 3D asset infrastructure designed for developers working with glTF. Think GitHub for your 3D models: versioning, CDN delivery, and a typed SDK. Free for public assets. Looking for initial testers now. 171