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!
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
Looks like CesiumJS just released a new Martian data set on Cesium Ion! Controls and rendering work out-of-the-box with 3d-tiles-renderer, as well. Mars rover integration coming... someday? 🤖

Demo link below 👇

#threejs #webgl #gis #nasajpl #3dtiles
September 4, 2025 at 12:40 AM
I was doing some debugging on 3d tiles with a red color ramp & tone mapping enabled and accidentally lit Mars on fire.
July 11, 2025 at 3:15 AM
I've just gotten support added for starting a session & loading Google Maps map tiles with NASA-AMMOS/3DTilesRendererJS -- now you'll be able to load Google maps street & satellite data in three.js. Now I have to find time to make demos 😅

🗺️🛰️✨

#threejs #webgl #maps #3dtiles
June 26, 2025 at 11:53 AM
3DTilesRenderer now supports multiple tiled image overlays with different projections and per-layer tint & opacity. This video is showing a globe base layer & Washington DC overlay layer from Cesium Ion.

Planar projection coming up next!

#gis #3dtiles #cesiumgrant #threejs
June 23, 2025 at 3:36 AM
3DTilesRendererJS now has initial support for TMS & XYZ tiled overlays on 3d tile sets, bringing more support for CesiumJS's terrain features.

This demo is using the Swiss Alps Quantized Mesh data set w/ @openstreetmap.bsky.social images 🌎🌐

1 / 2 👇

#cesiumgrant #threejs #gis #3dtiles
June 10, 2025 at 9:43 AM
Some new updates to QuantizedMesh support for 3d-tiles-renderer. The spec for available tiles is now completely supported and tile gaps are now filled in by clipping the parent tile into quadrants! Texture overlays are next.

1/2 🌎

#threejs #cesium #3dtiles #gis #cesiumgrant
June 3, 2025 at 2:08 PM
Reposted by Garrett Johnson
I’ve used three-gpu-pathtracer by @gkjohnson.bsky.social to create an online demonstration featuring optical prisms. The result is mindblowing, accurately capturing the multiple reflections and refractions of real-world optical elements.

🔗 Explore it on GitHub:
cyamahat.github.io/three-gpu-pa...
May 29, 2025 at 12:51 PM
I've gotten contour and latitude / longitude lines working with ellipsoidal tile sets in 3D Tiles Renderer - demo link below! 🌎✨

#threejs #webgl #3dtiles #gis #cesiumgrant
May 27, 2025 at 3:43 AM
Slow but sure updates on the topo line shader: the plugin can also be used to render an infinite grid, as well. The logic for contour lines & grid lines are nearly the same - they're just being scaled differently in this case 🌎📏

#threejs #gis #3dtiles #cesiumgrant #webgl
May 23, 2025 at 3:26 AM
My three-geojson repo now supports internal polygon vertices via constrained delaunay triangulation so extruded shapes can be projected onto an ellipsoid surface with generated smooth normals! 🌎

More below👇

1/3

#threejs #gis #javascript #webgl
May 19, 2025 at 4:00 AM
I finally got around to writing GeoJSON parser for threejs. It supports triangulating & extruding polygons, and projecting all GeoJSON types onto an ellipsoid for integration with projects like 3d tiles! 🌎

Repo with demo links below 👇

#threejs #gis #3dtiles #webgl #javascript
May 11, 2025 at 2:30 AM
Heres a project I wrote a previous version of the contour shader for from 4 or 5 years go at #NASAJPL. This tool is used for auto drive planning, testing, & inspection and is still used to operate & understand rover drives on Mars.

More info below 👇

#threejs #webgl #javascript
April 29, 2025 at 3:29 PM
Reposted by Garrett Johnson
How does ROLLBACK NETCODE work, why is it so difficult to program, and why is it the gold standard for fighting games? A whirlwind tour of different solutions #pixelart #gamedev #AnimationVERSUS

The setup: you have a video game with couch co-op and want to add online multiplayer. Easy, right...?

🧵
April 21, 2025 at 1:47 PM
A fun render I came across while adding topographic lines to Google Photorealistic Tiles.

The topographic lines are computed relative to the earth ellipsoid which results in circular patterns due to the low res vertex undulation on the surface 🌐✨

#threejs #gis #3dtiles #webgl
April 22, 2025 at 3:15 AM
I came across an article that included a video of one of the last projects I worked on while at #NASAJPL for understanding & debugging the Mars Rover's autonomous driving system. This is how the rover sees the world while driving - article in comment!👇

#webgl #javascript #threejs
April 21, 2025 at 3:26 AM
This is the 5th or 6th time I've written a topography shader & every time it gets a little bit better & I learn a little bit more. It's a nice challenge for anyone learning about shaders!

Some details on the plans for this implementation below 👇

#gis #3dtiles #threejs #webgl
April 20, 2025 at 12:20 AM