Garrett Johnson
banner
gkjohnson.bsky.social
Garrett Johnson
@gkjohnson.bsky.social
Woven by Toyota | NASA JPL | #threejs, graphics, open source, and a bunch of fun projects!
We have a first pass at a wavefront path tracer! You can see the artifacts of thread groups pulling rays off the ring queue to trace in this slowed down video.

It's not much, yet, but Im excited for what this will bring in terms of performance scalability✨

#threejs #raytracing
February 9, 2026 at 3:45 AM
Spent some time today looking into WebGPU support for three-gpu-pathtracer - compute is going to make this a lot easier than WebGL. Looking into Wavefront Pathtracing next ✨

Thanks to "TheBlek" on Github for helping to get this started!

#threejs #raytracing
February 4, 2026 at 3:01 PM
I revisited my parallel IK system for the first time in awhile to make some ergonomic improvements & got perf improved by over 50% in some cases 🦾🤖

I still have some more improvements in mind, though, when I have some more time. Repo link below 👇

#threejs #webgl #robotics
February 4, 2026 at 2:02 AM
Some amazing work by Jure Triglav putting WebGPU compute and three-mesh-bvh through their paces to render surfel-based global illumination! I'm looking forward to seeing what's coming in the web in the coming years.

juretriglav.si/surfel-based...

#threejs #raytracing #webgpu
February 2, 2026 at 1:31 PM
User "web3d" over on the threejs forums using 3d-tiles-renderer to display some awesome drone scan data processed into tiles 🗺️

#threejs #gis #3dtiles
January 29, 2026 at 3:18 PM
Using the same scene-wide BVH you can run accelerate frustum culling, as well. With this 500,000-instance BatchedMesh culling runs in less than 1/8th the time 🚀

#threejs #gamedev
January 26, 2026 at 1:48 AM
With the recent three-mesh-bvh changes you can finally make a full scene-wide BVH to accelerate physics, raycasting, etc. And at some point Pathtracing 😁

Its just a prototype so far but it "just works" with objects and batched instances in a single structure.

#threejs #gamedev
January 20, 2026 at 5:08 AM
With the new abstractions in three-mesh-bvh, making a custom BVH is easier than ever! SkinnedMeshes can now have one created directly, leading to an over 2x perf improvement on update vs creating a new static mesh. 🚀

What else needs a BVH?

1/2 👇

#threejs #webgl #gamedev
January 15, 2026 at 3:01 AM
It's been a long time coming but the latest version of three-mesh-bvh brings support for out-of-the-box Line & Point cloud BVH support! Now all your geometries can be fast 🚀

1/3

#threejs #webgl #javascript
January 8, 2026 at 9:57 AM
Reposted by Garrett Johnson
Last year I was also experimenting with @gkjohnson.bsky.social's blue noise sketches, but with my usual subsurface scattering and motion blur.

alien.js.org/examples/thr...

#threejs #webgl #shader #bluenoise #motionblur
January 8, 2026 at 3:04 AM
Im seeing a difference in behavior with deployed code on @github.com pages vs the same files locally. Has anyone seen this before?

Left is edge generation run locally & right is on Github pages from one of my #threejs projects. Notice the extra lines.

1/3 👇

#webgl #javascript
December 22, 2025 at 3:55 AM
Thanks to amazing work from "SoftwareMechanic" on Github, the 3DTilesRendererJS project now supports GeoJSON overlays!

Perfect for draping GIS datasets - region outlines, property boundaries, or GPS paths - onto any 3D Tiles data set 🗺️✨

#threejs #gis #3dtiles #maps #javascript
December 11, 2025 at 1:44 AM
More graphic screenspace SDF effects 🐔🤖

#threejs #webgl #gamedev #realtimeVFX #javascript
December 3, 2025 at 2:34 AM
Taking a dive into Bezier curves for fast SVG & font rendering. The curves are evaluated in a fragment shader so they're resolution independent with single-pass antialiasing📈

Cubic curves next! Though it looks a bit more complicated...

#threejs #webgl #gamedev #javascript #svg
November 18, 2025 at 5:48 AM
Reposted by Garrett Johnson
Here's the blooper version I mentioned. (I have no idea who the uploader is or how they got a copy of this. But I am glad that it survives.)
Mars Rover Blooper Reel
YouTube video by theropod
www.youtube.com
November 14, 2025 at 1:57 AM
Thanks to @mrdoob.com, three-gpu-pathtracer now includes a drag-and-drop viewer for binary glTF files 🚀 I've added a link to the viewer in the repo!

#threejs #webgl #raytracing
November 13, 2025 at 2:36 AM
These are some of the more basic effects you can make, I think, but these are outline & glow effects made with the Jump Flood SDF buffer - link to the repo below! 👇

#threejs #webgl #gamedev
November 12, 2025 at 3:34 AM
Back from some time off programming with a Jump Flood Algorith demo to ease back in!

JFA can be used to create a screen SDF from a model in real time - useful for things like silhouette outlines or any other visual effects. More effects coming up! ✨

#threejs #webgl #gamedev
November 10, 2025 at 5:18 AM
Version 0.9.2 of three-mesh-bvh is out now and brings support for raycasting & distance queries using WebGPU compute shaders!

This is the first step towards WebGPU path tracing & other compute-shader features 🚀✨

#threejs #webgpu #javascript
November 6, 2025 at 3:56 AM
What are your favorite examples of documentation out there, especially for 3d libraries? What do they do well or not well?

I'm considering updating some of my project docs & am looking for inspiration. Even the little things make a difference.

#threejs #webgl #javascript
October 15, 2025 at 4:31 AM
Job update: after nearly 8 years of open source I'm excited to go independent to work on consulting & OSS dev. More details to come, but feel free to reach out about collaborations or how you can support my work!

#threejs #javascript #webgl #gis #cad
October 1, 2025 at 8:52 AM
3d-tiles-renderer & atmospheric rendering spotted in this "Air Fiesta" hot air balloon adventure experience online! Posted by Diego_Dotta on the threejs forums 🪂

Link to the post below 👇

#3dtiles #threejs #webgl #javascript
September 23, 2025 at 3:05 AM
WMS Tiled Image Overlays are now in 3d-tiles-renderer! This new feature, made possible by "SoftwareMechanic" on Github, unlocks a whole suite of new data, including this USGS Hydrography dataset 🌊

Demo in thread 👇

#gis #threejs #3dtiles #nasajpl #maps #webgl
September 17, 2025 at 11:51 AM
3d-tiles-renderer has been gaining some real momentum this year. The number of weekly downloads has more than doubled since January to well over 7000 installs per week! 🌎✨

Sometimes I wish I knew more about where they were all coming from 😅

#gis #3dtiles #webgl #threejs
September 16, 2025 at 1:09 PM
The "3d-tiles" renderer is slowly becoming "any tiled data" renderer - newly added support for WMTS tiled images brings a whole new world of mapping data to #threejs. Including the massive catalogue of data from NASA GIBS!

Demo below 👇

#webgl #gis #3dtiles #nasajpl #nasa
September 8, 2025 at 1:08 PM