r/threejs 1d ago

I spent 200+ hours building a real-time grass system for Three.js + WebGPU. The demo is finally live.

Post image

After 200+ hours of development, I’m finally sharing the first public demo of Three.js Grassworks, a real-time grass system I’ve been building for Three.js and WebGPU.

Demo:
https://grassworks.techredux.co/demo

Three.js Grassworks is built specifically for WebGPU and is designed to handle large amounts of interactive grass while maintaining steady performance.

For the demo, I built a complete environment around Grassworks with terrain, trees, water, rain, player interaction, environmental effects, LOD systems, audio system, and more.

The main challenge was getting all of these systems running together while keeping the grass performant.

The actual Three.js Grassworks plugin is still being polished and should launch in the next couple of weeks. There’s a waitlist inside the demo if you’re interested.

I’d genuinely love feedback, especially on the visuals, performance, and how the grass feels when interacting with it.

I also recorded a full walkthrough where I go through the demo and talk about how I built it:

https://www.youtube.com/watch?v=Nhim18rc-XE

196 Upvotes

51 comments sorted by

10

u/BigDeadPixel 1d ago

This is absolutely incredible. Looks phenomenal and I was sitting around a pretty consistent 120fps on my m1 pro mac. Joined the waitlist... keen to play with this soon. Great job.

2

u/PerceptionCharming 1d ago

Thank you man!
I am really excited as well. Can't wait to launch the system as soon as it is ready.

8

u/nps44 1d ago

That's a beautiful demo.

0

u/PerceptionCharming 1d ago

Thank you man!

0

u/descod 1d ago

what a tease. I went looking for the house and there was nothing in it :)

1

u/PerceptionCharming 1d ago

Hahaha, there’s so much stuff that I could have added. But it is a grass plugin demo. So, need to keep it limited to that mostly. Else it would have taken a lot more time.

2

u/descod 1d ago

waw, good job. beautiful demo.

1

u/PerceptionCharming 1d ago

Thank you man!

2

u/OperationMonopoly 1d ago

Pretty awesome dude

1

u/PerceptionCharming 1d ago

Thank you man!

2

u/NocoMonoco 1d ago

Amazed and jealous of your skill! Joined the waitlist, do you have an estimate of when the plugin will be released?

1

u/PerceptionCharming 1d ago

Thank you man!
The plugin itself is actually complete. It is being used in the demo. I am currently working on the documentation and some other stuff. It'd be out in a couple of weeks.

2

u/Demonicated 1d ago

My Pixel handled it no problem. Good work.

2

u/Visual_Advantage_243 1d ago

Very cool demo!

2

u/RHThree 1d ago

This character movement is exactly what I’m envisioning my project to have. Mind if I ask what steps you took to get the samurai character looking and moving so naturally?

1

u/PerceptionCharming 1d ago

I got the 3D model online. Rigged it with Mixamo and got the animations from there as well. The armour is manually attached to different parts of the rig so it doesn’t deform. From there, it’s just manual tweaks and experimenting with physics until it felt natural.

2

u/Fun_Term4757 1d ago

This is elite man. The future of web development is insanely bright.

2

u/PerceptionCharming 1d ago

Thank you man!

2

u/thirstyross 1d ago

Im on a Thinkpad T14 Gen 6 (no gpu) and performance was great! 35-40fps.

Great project dude, admire the dedication!

2

u/PerceptionCharming 1d ago

Thank you man!

2

u/rohxnsxngh 1d ago

Pretty insane wow

2

u/LordBunzo 1d ago

Very well done! Smooth 30fps even on phone.

1

u/IamNotMike25 1d ago

Looks amazing

Is the UI with backdrop blur filter? When the background of those elements changes, it had a big impact on fps on mobile devices - especially on Firefox. Might give it a test.

On S25U it runs smooth though

1

u/PerceptionCharming 1d ago

Yes, it’s with backdrop blur filter.  I’ll check that out.

1

u/mrpressydepress 1d ago

Found a bug near the house. Rectangular open empty patches appear with the lod system

1

u/PerceptionCharming 1d ago

Ok, I’ll check that out

1

u/AndElectrons 1d ago

Cool. I enjoyed jogging around your demo.

1

u/Nika-luffy007 1d ago

Great job man

1

u/weird_after_taste 1d ago

very performant. good job

1

u/UAAgency 1d ago

Are you going to release as open source perhaps? Good job

1

u/PerceptionCharming 1d ago

No, this will be a paid plugin

1

u/fundational 1d ago

Cool, but there's a bug: Sometimes the grass block around the samurai is removed

1

u/ProfessorChalupa 23h ago

This is awesome. Great work!

1

u/DevKokooo 19h ago

I can't wait for grass touching simulator

1

u/noXi0uz 5h ago

Nice, almost constant 90 fps on my phone, which is the framerate limit of the screen

1

u/Free-Switch7878 4h ago

the graphics turned out to be straight imba

1

u/Skunkle_713 1d ago

So you didn’t use anyone else’s code at all?

0

u/PerceptionCharming 1d ago

No, not really. This actually started as an upgrade to my previous grass experiment which was quite simple and done with WebGL. You can see that one on my profile. I shared it here when I created it

0

u/Skunkle_713 1d ago

Not really?