Dan Greenheck's banner
Dan Greenheck's profile picture

Dan Greenheck

@dangreenheck • 12,608 subscribers

Catholic ✝️ Husband 👫 Father 👹 3D Wizard 🧙🏼‍♂️ 🗺️ https://t.co/hvt2fd6AnM

Shorts

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 просмотров

Once you start working on water rendering, you are cursed with never seeing the world the same. I was at a resort with the fam this weekend and noticed this little stream out back. I couldn't have asked for a better reference for understanding water/foam transport in flowing water! Super helpful as I work on the rivers add-on for Water Pro. Luckily my wife is very understanding of my insanity and patiently waited while I captured video of the entire thing 😂

Once you start working on water rendering, you are cursed with never seeing the world the same. I was at a resort with the fam this weekend and noticed this little stream out back. I couldn't have asked for a better reference for understanding water/foam transport in flowing water! Super helpful as I work on the rivers add-on for Water Pro. Luckily my wife is very understanding of my insanity and patiently waited while I captured video of the entire thing 😂

48,840 просмотров

I've been pondering something... My end goal with my city simulator is to publish it on Steam. I was planning on using Three.js for prototyping and then porting this over to Unity to take advantage of ECS/Burst. But then I realized I could probably port all of the simulation code from TypeScript to Rust if I wanted to make it ultra-fast. And then I can continue to use Three.js for the renderer and then embed it into an Electron app. Is that a dumb idea? What pitfalls are there with this approach? Curious what people's experience publishing games using Electron has been.

I've been pondering something... My end goal with my city simulator is to publish it on Steam. I was planning on using Three.js for prototyping and then porting this over to Unity to take advantage of ECS/Burst. But then I realized I could probably port all of the simulation code from TypeScript to Rust if I wanted to make it ultra-fast. And then I can continue to use Three.js for the renderer and then embed it into an Electron app. Is that a dumb idea? What pitfalls are there with this approach? Curious what people's experience publishing games using Electron has been.

48,037 просмотров

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,890 просмотров

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,828 просмотров

Running at Max settings on my M5 Pro, went from 45 FPS to 70 FPS 🚀 Biggest win was updating FFT to use WebGPU workgroup memory. I have a few more optimizations I want to investigate but will deploy updated versions later this week.

Running at Max settings on my M5 Pro, went from 45 FPS to 70 FPS 🚀 Biggest win was updating FFT to use WebGPU workgroup memory. I have a few more optimizations I want to investigate but will deploy updated versions later this week.

34,152 просмотров

Three.js Water Pro v3.4 is now live! 🚀 Live Demo: This update adds Jerlov water types—a convenient way of modeling water color based on algae, silt and stain concentrations. The legacy color system is still available for those requiring more artistic control over the water color.

Three.js Water Pro v3.4 is now live! 🚀 Live Demo: This update adds Jerlov water types—a convenient way of modeling water color based on algae, silt and stain concentrations. The legacy color system is still available for those requiring more artistic control over the water color.

30,760 просмотров

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,693 просмотров

Three.js Water Pro is getting a realism update!

Three.js Water Pro is getting a realism update!

35,508 просмотров

I've been working on Three.js Water Pro for 9 months and somehow I missed this🤦🏻‍♂️ I was looking at some reference photos and noticed that when air bubbles get trapped under the surface in turbulent water, it causes the water color to brighten and shift towards green. This phenomenon is called "broadband backscattering". The video shows the before and after (I cranked it up to make it more noticeable). I'll be releasing this along with other minor improvements to the wave simulation in Water Pro v3.6.

I've been working on Three.js Water Pro for 9 months and somehow I missed this🤦🏻‍♂️ I was looking at some reference photos and noticed that when air bubbles get trapped under the surface in turbulent water, it causes the water color to brighten and shift towards green. This phenomenon is called "broadband backscattering". The video shows the before and after (I cranked it up to make it more noticeable). I'll be releasing this along with other minor improvements to the wave simulation in Water Pro v3.6.

17,967 просмотров

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,827 просмотров

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.

24,049 просмотров

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 просмотров

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

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

93,933 просмотров

Results for the Three.js Tiny Worlds game jam are in! 🌎 🎮 🥇 1st place: Under Glass Link: Developer: Ólafur Nils Sigurðsson 🥈 2nd place: Spin the World Link: Developer: Aaron Claes 🥉 3rd place: On A Space Journey Link: Developer: Sander de Wildt Thank you everyone for your submissions! We had a lot of fun playing through these. I will be contacting the winners individually with instructions on how to receive your prizes.

Results for the Three.js Tiny Worlds game jam are in! 🌎 🎮 🥇 1st place: Under Glass Link: Developer: Ólafur Nils Sigurðsson 🥈 2nd place: Spin the World Link: Developer: Aaron Claes 🥉 3rd place: On A Space Journey Link: Developer: Sander de Wildt Thank you everyone for your submissions! We had a lot of fun playing through these. I will be contacting the winners individually with instructions on how to receive your prizes.

13,654 просмотров

Three.js is straight up cracked

Three.js is straight up cracked

20,205 просмотров

🌊 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,782 просмотров

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,846 просмотров

🚨 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,636 просмотров

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 просмотров

Videos

dangreenheck's profile picture

Just some AI slop I built with Three.js

Dan Greenheck

229,283 просмотров • 1 месяц назад

dangreenheck's profile picture

"AAA graphics aren't possible in the browser" Hold my beer 🍺

Dan Greenheck

117,224 просмотров • 5 месяцев назад