I was wondering what the best way is to cover large areas of my game with fluffy grass or plants.
Right now i’m using a combination of instanced models and billboarding. Looks pretty nice but I have to place every clump/plant/blade. So therefore I have to store patches of vertex data or point data for each area.
Is there some better way I can do this with maybe geometry shaders or a grass map or something (not really sure how that would work).
My current stuff look and works well enough but i’m slightly concerned about the scalability/performance of it and the amount of time it takes to actually place it all.
I’m interested to hear any thoughts/suggestions.
Thanks guys
Storing the placement data in a texture, or just an array, might work. You could generate this using Perlin noise or simplex noise (or similar algorithm). Check this out:
http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series4/Region_growing.php
If you want random placement that looks natural, take a look at Poisson disc sampling too
1 Like
How about a particle generator?
EDIT
See what I mean here:
1 Like
I do mine based on the terrain type (should it support grass?) and the the dot product between of the normal of the terrain and up (0,1,0) if it is within a range (10 degrees say) then I know I want grass there. Pretty much all that is derived from the terrain height map and splat map.
1 Like