Ideas for rendering huge vegetation (foliage)

Started by
3 comments, last by FreneticPonE 9 years, 10 months ago

I thought it would be better if each individual would share his ideas on rendering foliage.

My idea for rendering grass :

-Load 3 LODs of grass model which are just collection of crossed billboards with grass image applied to them (i.e with less/medium/high count of grass billboards.)

-Render these grass model with instancing all over the world based on its LOD

-If grass is too far/not visible, then cull it

Share your own ideas.

Advertisement

You may find this recent series of devblog's by Casey Muratori interesting. He goes into detail about his grass planting system. Less about the rendering side of things and more about proper placement of the ground cover itself to get the best coverage with the least amount of geometry. I don't think he goes into anything about LOD.. but it does get you thinking about how to provide the best coverage.

Starts in "Working On The Witness, Part 5" and continues on through his reasoning into part 8 where he has some code for optimal placement.

http://mollyrocket.com/casey/index.html

Check out my project @ www.exitearth.com

SpeedTree. I hear it isn't cheap.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

If you have geometry shaders maybe it's a good idea to have a dynamic LOD. In this way u can have more quads as the camera gets near the grass. This way you can draw all of them with one draw call.

The Unigine guys had the great idea of building multiple billboard impostors for all their assets. They would, as far as I know, import any foliage asset and sample its image from multiple places across a sphere. Then just render the impostor closest to the viewing angle, and batch render as many as possible to keep CPU overhead low. Because they're all far away you can keep it low res and low memory, and because you've got a full sphere estimation they even inject them into shadow maps for shadow casting.

You don't notice much in the way of parallax error either as its only used for distant stuff. For closeup stuff take a look at Crytek's fancy grass management stuff: http://crytek.com/download/Sousa_Tiago_Rendering_Technologies_of_Crysis3.pptx

This topic is closed to new replies.

Advertisement