Hello friends

I was wondering which technique you would choose when it comes to rendering large fields of tall grass. Here are a list of choices I think I have, let me know what you all think:

1. Fur Shader: The shader in the wiki uses the shell method, rendering shells/triangles multiple times with offsets based off the normal, and a transparency causing a nice fuzzy fade. This method looks great, especially when looking at the surface straight on. But looking at the side of the shells will show the slices. If I wanted taller grass, I would need to add more shells/more passes.

2. Model billboards: This method can easily make tall grass if you have a good standing image of grass, you could add sway and animation, as well as pushing it out of the way when an object touches the model. The downside is that you have to manually place these tufts of grass in the level, and each tuft would require a while(). Im assuming I could also have a single while() iterate through each tuft, but once again, these are seperate objects each, which take resources. Model instancing wont be added :(, as well as the illusion breaking down if you look down at the model, which would show the cross section.

3. Sprites: Sprite instancing is possible in the current A8, but that means the grass will be facing the camera, they wont have any shading/lighting, and sprites arent really meant to stay in the world for long, how would I manage a large field of sprites? An emitter that can place sprites in an area with an infinite life?

Let me know if you all have experience with grass, and what methods you use that worked for you, and why.

Thank you!