Dan Greenheck's banner
Dan Greenheck's profile picture

Dan Greenheck

@dangreenheck8,303 subscribers

Catholic ✝️ Father 👹 Three.js Wizard 🧙🏼‍♂️ 🗺️ https://t.co/hvt2fd6AnM 🌊 https://t.co/RZJ2xWnbbY 💥 https://t.co/uPdfGNWBoR 🌳 https://t.co/9Xmp8javAl

Shorts

After spending 4 HOURS debugging a sign flip issue, I finally got clouds to refract properly underwater! 🎉

After spending 4 HOURS debugging a sign flip issue, I finally got clouds to refract properly underwater! 🎉

62,244 görüntüleme

I asked Fable to build a realistic AAA water simulation with Three.js to see if I should quit my job. 500k tokens later, I'm disappointed. Almost the same exact slop you get with Opus. (Fable on left, Three.js Water Pro on right). Good results still require taste, deep knowledge of the problem domain, and a lot of patience.

I asked Fable to build a realistic AAA water simulation with Three.js to see if I should quit my job. 500k tokens later, I'm disappointed. Almost the same exact slop you get with Opus. (Fable on left, Three.js Water Pro on right). Good results still require taste, deep knowledge of the problem domain, and a lot of patience.

452,462 görüntüleme

Three.js Water Pro is getting a realism update!

Three.js Water Pro is getting a realism update!

34,979 görüntüleme

Replaced the old buoyancy system with a proper volume-displacement system. Now I can finally catch some sick air in my galleon.

Replaced the old buoyancy system with a proper volume-displacement system. Now I can finally catch some sick air in my galleon.

23,980 görüntüleme

I made a dumb mistake with my water shader🤦🏻‍♂️ The wave evolution equation has two parts: a standing wave component and a traveling wave component. When I was first getting this all to work, I hard-coded constants so the waves were always traveling forward at full speed. By adding a "standing wave ratio" where I can control the ratio between the two terms, I can now achieve wave patterns that oscillate in place. The video on the left has SWR = 0 and the video on the right SWR = 0.7 (I exaggerated the waves a bit to make the difference more noticeable). Now I have to re-record all my marketing videos...😭

I made a dumb mistake with my water shader🤦🏻‍♂️ The wave evolution equation has two parts: a standing wave component and a traveling wave component. When I was first getting this all to work, I hard-coded constants so the waves were always traveling forward at full speed. By adding a "standing wave ratio" where I can control the ratio between the two terms, I can now achieve wave patterns that oscillate in place. The video on the left has SWR = 0 and the video on the right SWR = 0.7 (I exaggerated the waves a bit to make the difference more noticeable). Now I have to re-record all my marketing videos...😭

125,747 görüntüleme

Someone asked if EZ-Tree supported vines. I said no, but the idea sounded cool so I let Claude give it a try. 5 minutes later, we have vines! 🤩 Thanks for the suggestion, Michael Boisson! I'll get this update published shortly.

Someone asked if EZ-Tree supported vines. I said no, but the idea sounded cool so I let Claude give it a try. 5 minutes later, we have vines! 🤩 Thanks for the suggestion, Michael Boisson! I'll get this update published shortly.

94,657 görüntüleme

Three.js is straight up cracked

Three.js is straight up cracked

20,128 görüntüleme

I planned on releasing my Three.js WebGPU water shader 2 weeks ago, but I promised myself I would stop half-assing things this year. I'm glad I waited. I'll be selling the whole package for $99. Full demo video coming soon, but includes FFT water sim, underwater effects, dynamic sky + fog, buoyancy, and more. Every aspect is tunable. Comes with 8 presets and 4 quality levels so it will run on any device. You'll get full source code + demo code, plus all future updates and fixes. Join waitlist now and get an email for 20% off at launch #threejs #webgpu #shaders

I planned on releasing my Three.js WebGPU water shader 2 weeks ago, but I promised myself I would stop half-assing things this year. I'm glad I waited. I'll be selling the whole package for $99. Full demo video coming soon, but includes FFT water sim, underwater effects, dynamic sky + fog, buoyancy, and more. Every aspect is tunable. Comes with 8 presets and 4 quality levels so it will run on any device. You'll get full source code + demo code, plus all future updates and fixes. Join waitlist now and get an email for 20% off at launch #threejs #webgpu #shaders

50,738 görüntüleme

If you've tried getting AI to write TSL shaders, you know the pain: deprecated imports, phantom functions and compilation errors. In my latest blog post, I share a prompt to help you overcome these issues: Using the prompt, I was able to one-shot this particle simulation with Claude Opus 4.5. #threejs #webgl #webgpu #tsl #shaders

If you've tried getting AI to write TSL shaders, you know the pain: deprecated imports, phantom functions and compilation errors. In my latest blog post, I share a prompt to help you overcome these issues: Using the prompt, I was able to one-shot this particle simulation with Claude Opus 4.5. #threejs #webgl #webgpu #tsl #shaders

61,519 görüntüleme

The vision is slowing coming to life... 🌎 #threejs

The vision is slowing coming to life... 🌎 #threejs

93,933 görüntüleme

🌊 THREE.JS WATER PRO GIVEAWAY 🌊 Build/vibecode a water/ocean themed game using Three.js and win a free copy of Three.js Water Pro! Rules: 🎮 Must be a playable game 💧 Water/ocean theme 💻 Start from scratch — fresh project only 🔗 Reply to this post with a link to your game ⏰ Submit by Monday 12:00 AM UTC 🗳️ Winner selected by me (tip: be creative!) I'll announce the winner on Monday. That's it. Best game wins. Go build!

🌊 THREE.JS WATER PRO GIVEAWAY 🌊 Build/vibecode a water/ocean themed game using Three.js and win a free copy of Three.js Water Pro! Rules: 🎮 Must be a playable game 💧 Water/ocean theme 💻 Start from scratch — fresh project only 🔗 Reply to this post with a link to your game ⏰ Submit by Monday 12:00 AM UTC 🗳️ Winner selected by me (tip: be creative!) I'll announce the winner on Monday. That's it. Best game wins. Go build!

23,520 görüntüleme

🚨 Three.js Roadmap is having a Memorial Day Sale through 5/25! Use the code SPRING30 at checkout and get 30% OFF Water Pro and all of my courses.

🚨 Three.js Roadmap is having a Memorial Day Sale through 5/25! Use the code SPRING30 at checkout and get 30% OFF Water Pro and all of my courses.

12,365 görüntüleme

Last night, I realized that I complete forgot about reflections!🤦🏻‍♂️ Quickly implemented SSR this afternoon. Makes such a huge difference, especially in adding some depth to distant objects.

Last night, I realized that I complete forgot about reflections!🤦🏻‍♂️ Quickly implemented SSR this afternoon. Makes such a huge difference, especially in adding some depth to distant objects.

23,767 görüntüleme

The next Three.js Water Pro update will give some much needed love to the presets. Here's an example of the update tropical preset! 🌴 FYI, this will likely be my last release for a while (aside from any bug fixes) since I have other projects I'd like to work on. This release will pretty much contain every wishlist feature I wanted to add from the beginning. So far the list includes - Rain - Sea spray - Persistent foam for improved whitecaps - Improved underwater caustics - Improved lighting - Updated presets - A whole bunch of bug fixes - Performance improvements (I also have one more secret feature in the works that I think you guys are going to like 😏)

The next Three.js Water Pro update will give some much needed love to the presets. Here's an example of the update tropical preset! 🌴 FYI, this will likely be my last release for a while (aside from any bug fixes) since I have other projects I'd like to work on. This release will pretty much contain every wishlist feature I wanted to add from the beginning. So far the list includes - Rain - Sea spray - Persistent foam for improved whitecaps - Improved underwater caustics - Improved lighting - Updated presets - A whole bunch of bug fixes - Performance improvements (I also have one more secret feature in the works that I think you guys are going to like 😏)

10,441 görüntüleme

Sorry but this isn't even close to a realistic simulation. This Three.js water simulation took weeks of effort, hundreds of prompts, and I needed to pull on my CS and physics background to understand where the AI was failing (which happens often). Maybe some day agents will be able to generate complex simulations in a single prompt but for now they can only generate toy prototypes.

Sorry but this isn't even close to a realistic simulation. This Three.js water simulation took weeks of effort, hundreds of prompts, and I needed to pull on my CS and physics background to understand where the AI was failing (which happens often). Maybe some day agents will be able to generate complex simulations in a single prompt but for now they can only generate toy prototypes.

16,327 görüntüleme

Hmm what am I working on?!

Hmm what am I working on?!

11,539 görüntüleme

Well this is a bit of a bummer. I discovered there's an existing free atmosphere/cloud package for Three.js / R3F that has all the features I was planning on implementing for Three.js Sky Pro. The weird thing is I knew this existed already? But when I searched for it, I think I happened across a different, less-featured solution. I guess it's back to the drawing board!

Well this is a bit of a bummer. I discovered there's an existing free atmosphere/cloud package for Three.js / R3F that has all the features I was planning on implementing for Three.js Sky Pro. The weird thing is I knew this existed already? But when I searched for it, I think I happened across a different, less-featured solution. I guess it's back to the drawing board!

12,348 görüntüleme

Stop fighting GLSL strings in Three.js 🥊 TSL (Three.js Shading Language) lets you write shaders in JavaScript with actual IDE support, proper debugging, and the ability to seamlessly extend existing materials. Learn more in my latest blog post 👇🏻 #threejs #webgl #webgpu #tsl #threejsroadmap

Stop fighting GLSL strings in Three.js 🥊 TSL (Three.js Shading Language) lets you write shaders in JavaScript with actual IDE support, proper debugging, and the ability to seamlessly extend existing materials. Learn more in my latest blog post 👇🏻 #threejs #webgl #webgpu #tsl #threejsroadmap

20,928 görüntüleme

Playing around with a new concept for the Three.js Roadmap home page. What do you think? 🤔

Playing around with a new concept for the Three.js Roadmap home page. What do you think? 🤔

13,209 görüntüleme

This is most satisfying thing I've ever made ☺️🔨 I've been working on adding Voronoi fracturing to three-piñata, my open-source mesh fracturing library for Three.js. This creates much more realistic fracture patterns. If you want to learn how to do this, I'm going to be adding a course to Three.js Roadmap teaching you how to build destructible environments. If you're interested, be sure to sign up for my newsletter to get notified when the course is released! (Link in comments 👇🏻) #threejs #webgl #3dgraphics #threejsroadmap

This is most satisfying thing I've ever made ☺️🔨 I've been working on adding Voronoi fracturing to three-piñata, my open-source mesh fracturing library for Three.js. This creates much more realistic fracture patterns. If you want to learn how to do this, I'm going to be adding a course to Three.js Roadmap teaching you how to build destructible environments. If you're interested, be sure to sign up for my newsletter to get notified when the course is released! (Link in comments 👇🏻) #threejs #webgl #3dgraphics #threejsroadmap

10,573 görüntüleme

Videos