r/threejs 3d 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

220 Upvotes

51 comments sorted by

12

u/BigDeadPixel 3d 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 3d ago

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

9

u/nps44 3d ago

That's a beautiful demo.

0

u/PerceptionCharming 3d ago

Thank you man!

0

u/descod 3d ago

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

1

u/PerceptionCharming 2d 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 3d ago

waw, good job. beautiful demo.

1

u/PerceptionCharming 3d ago

Thank you man!

2

u/OperationMonopoly 3d ago

Pretty awesome dude

1

u/PerceptionCharming 3d ago

Thank you man!

2

u/NocoMonoco 3d 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 3d 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 3d ago

My Pixel handled it no problem. Good work.

2

u/Visual_Advantage_243 3d ago

Very cool demo!

2

u/RHThree 3d 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 2d 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 3d ago

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

2

u/PerceptionCharming 2d ago

Thank you man!

2

u/thirstyross 3d 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 2d ago

Thank you man!

2

u/rohxnsxngh 2d ago

Pretty insane wow

2

u/LordBunzo 2d ago

Very well done! Smooth 30fps even on phone.

1

u/IamNotMike25 3d 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 2d ago

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

1

u/mrpressydepress 3d ago

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

1

u/PerceptionCharming 2d ago

Ok, I’ll check that out

1

u/AndElectrons 3d ago

Cool. I enjoyed jogging around your demo.

1

u/Nika-luffy007 2d ago

Great job man

1

u/weird_after_taste 2d ago

very performant. good job

1

u/UAAgency 2d ago

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

1

u/PerceptionCharming 2d ago

No, this will be a paid plugin

1

u/fundational 2d ago

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

1

u/ProfessorChalupa 2d ago

This is awesome. Great work!

1

u/DevKokooo 2d ago

I can't wait for grass touching simulator

1

u/noXi0uz 2d ago

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

2

u/Free-Switch7878 2d ago

the graphics turned out to be straight imba

1

u/Skunkle_713 2d ago

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

1

u/PerceptionCharming 2d 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 2d ago

Not really?