Creative development, explained
I build and unpack 3D experiences for the web.
Notes on real-time graphics, shaders, and the details behind creative web work.
Selected writing
Notes from the rendering pipeline

Geometry
Indexed geometry in Three.js
How indexed buffers reduce duplication, smooth normals, and change the way a GPU reads geometry.
Read article
Post-processing
Depth buffer, in depth
From camera space to a practical depth-based fog effect in React Three Fiber.
Read article
Shaders
Raymarching material 101
Build view rays, march signed distance fields, and adapt ShaderToy code for Three.js.
Read article
Interaction
Exploded 3D models
The geometry and animation behind a clear exploded view of a multipart 3D model.
Read articleWhat you will find here
Useful detail, without hiding the maths.
First principles. Visual explanations before implementation details.
Working examples. Interactive demos and code you can inspect step by step.
Production context. The trade-offs behind techniques, not only the final effect.
Last updated on