Generate randomly vegetation, help for algorithm needed

Well I have a terrain and a attribute map. Now I have for each type of climate/binome a list of vegetation models. What I try to do is to create a random vegetation based on a seed, so it does not need to be stored, cause that would be massive amounts of data for larger terrains.

I know this is somehow possible, my main problem tho is I need keywords to seach google to be able to read further into this. Any suggestions ideas anyone?

Lol, I was reading “randomly genrated vegetarian” xD I know that normal noise algorithms are often used for this. Given you have these “areas” you talk about just adding some noise should suffice, no?

I was just reading about this recently. I want to say it was in one of the GPU gems. If I get time later I may check.

I’m interested in solutions for this as well, together with water placement. Since the terrain among other factors decides where vegetation will be located, noise might look unnatural, but it could be worth a shot depending on how you want your world to look. This article discusses the terrain decides placement approach:

To find it i searched for: “typology vegetation placement”.

The article I was thinking about was a section in the first chapter of GPU Gems 2.

Basically, pick a sort of minimum frequency “grid” based on the plant type and scan the area to plant. If the spot is suitable then pull the next random number to check a threshold. Grab two more to offset the location a little so as not to look uniform. As long as you use the same random seed for a particular area then the plant locations will be the same each time you generate them.

The article makeshift links is pretty interesting, also. But sometimes a simpler approach can work, too. For example, Mythruna uses similar to the above to decide on tree placement… but there my world is already a grid so it’s a logical step.

Here’s an article from way back on gamasutra:

Great, much thankx for all those documents and Ideas,

will start with grass today, in jme3 we can even be more efficient as it seems, since we can use GL_point, so no vertex realigning needed :wink: