Garrett Johnson 🦋
@garrettkjohnson
@Woven_Toyota | @NASAJPL | #threejs, graphics, open source, and a bunch of fun projects!
I've started a @Github Sponsors page to help support my open source contributions to three.js related projects like three-gpu-pathtracer, three-mesh-bvh, threejs-sandbox, and others! Sponsor here! github.com/sponsors/gkjoh… #threejs #graphics #opensource #github #javascript 1 / 3

I was doing some debugging on 3d tiles with a red color ramp & tone mapping enabled and accidentally lit Mars on fire. #threejs #webgl
Distant light sampling for GT-VBAO with different quality options: shadertoy.com/view/wc2SzR (+ the math: shadertoy.com/view/wcsXDN)
Jonni Walker’s Bernese Alps, another Mapbox GL JS stunner, a pleasure to watch his layers load That lighting and tree texture..... api.mapbox.com/styles/v1/jonn…
Nobody makes Mapbox GL JS sing like Jonni Walker: 3D map of Fort Valley, VA
First rather naive implementation of Stochastic Light Cuts. Here comparing uniform sampling vs SLC with 1spp over 16,000 lights.
[🧊 Refracted volumetric light and shadows.] Pseudo-volumetric -> real volumetric translucency. > Works with any mesh, simply apply the material. 🥳 Coming to PRISM v2 (free update). I've pushed the experimental v2 glass shader as an update on the store. Should be live, soon.
🧊 A beautiful, matte-shaded, 3D holographic glass prism cube with anisotropic Gaussian scattering, per-channel indices of refraction (for realistic chromatic dispersion), pseudo-volumetric translucency, and multi-layer backfaces + ordered transparency rendering.
wanted to make a demo a while ago but some chrome bug crashed webgl. this is the latest react-three/gpu-pathtracer that @CantBeFaraz and i released. updates to latest @garrettkjohnson bvh pathtracer, fixes some reactivity issues with the camera. codesandbox.io/p/sandbox/bvh-…
影については3D TilesをCSMで複数回シーンレンダー走らせるコストが馬鹿にならなかったので、ラフにScreen Space Shadowを実装してみた。前にSSRを実装したので、ほぼ同じロジックで作れた。スペックにも依るが、圧倒的にこちらのほうが軽いし、シーン依存性が低い。
🏖️ Into the lighthouse - an immersive film built with Blender & Three.js. Enjoy 2 minutes of animated memories & real-time sound blending. All in just ~5 MB. 👉 unboring.net/into-the-light… 👇 Thread with behind-the-scenes, source code, highlights & technical breakdown.
Updated "my" @threejs liquid/smoke sim, now supports per-object color & ratio, plus a new “follow” mode that creates the illusion of an infinite surface since it sticks to a target and scrolls itself. Code and demo below 🫡 threejs-fluid-simulation.vercel.app
This URDF viewer tool is so insanely useful Thank you @garrettkjohnson, you have likely save me and countless others thousands of hours of debugging time. I kneel.
She CT scanned seashells by the seashore We put six seashells in our industrial X-ray CT scanner. They’re beautiful on the outside, but they’re even better on the inside. Let’s take a look… 🐚🧵
as someone who's not gotten into ROS and Linux just yet, @garrettkjohnson your Chrome-based URDF previewer (link in comment) has saved my team and I SO MUCH time! before I found this, I had to share a URDF folder with the software team, who'd have to boot into Linux and get ROS…
I got it!!! 🥳🎉 took 8 attempts, 5h30m, but it's done! here's the URDF in the amazing browser-based previewer by @garrettkjohnson!
I got it!!! 🥳🎉 took 8 attempts, 5h30m, but it's done! here's the URDF in the amazing browser-based previewer by @garrettkjohnson!
I need to pay more attention to designing assemblies in a way that makes URDF generation easier... lessons learned.
やった。これずっと気になってて、不要なハックを削除できたし、黄昏時の光が断然自然になった。
Just opened a PR in @threejs adding a new object: FluidSimulator. While built for fluid effects, it can also simulate smoke, like in this weather-style visualization. The result is a dynamic black & white texture, perfect for all kinds of FX. github.com/mrdoob/three.j…
Decided to check out how water is rendered in Counter-Strike 2 Given how interactive water in CS2 is, I expected to see some cell fluid simulation, but turns out they use just a low-res off-screen buffer with flat 2D decals for various water effects. Reminds me of HL2 water :)
Full case study of Spirit Plant - our biggest project to date - is finally live! 🖼️🌱🌷 Learn more about - the installation concept - tech behind the generative plants and simulation - UI/UX design - and more... link below
fast realtime volumetric fog (4 raymarch steps).
8-step raymarched volumetric fog + jitter, - Temporal Anti-Aliasing (TAA) ON/OFF. ✅ Makes a huge difference. (and this is already zoomed in 4x) #unity3d #gamedev #indiedev
Very simple DDGI experiment in ThreeJS Using the brilliant three-mesh-bvh #webgl #threejs #gamedev