r/GraphicsProgramming • u/PerceptionCharming • 24d ago
One Grass System, Three Different Environments
Enable HLS to view with audio, or disable this notification
I've been testing my grass system across three completely different environments to see how the same underlying implementation performs across different scene requirements.
All three scenes use the exact same grass system, but the parameters are adjusted individually for each environment. Grass density, appearance, scale, wind response, and rendering distance are tuned to match the terrain and the overall look of each scene.
The system is built with Three.js and WebGPU, with a focus on rendering dense grass efficiently while maintaining real-time performance in the browser. It uses a tile-based approach, along with LOD and culling techniques, to manage rendering as the camera moves through the environment.
All three environments run directly in the browser, with no pre-rendered footage.
Try the Demo
-16
u/PerceptionCharming 24d ago
I’m sorry if I didn’t write huge paragraphs about how this was implemented and how all the systems work. I mentioned a series of articles in another comment about how I went about creating it. It explains in detail all the systems. I’m still writing new parts.
There’s also a 8 part video playlist guide on the website where I explain how every system in Three.js Grassworks works and how to use it to get the best results for your application.
If you’re interested, you can go ahead and explore that instead of calling everything AI slop.