Working with foliage and billboards for VR

During my research, I’ve found alot of methodologies and research papers about using foliage in game engines, and have seen a demo of it in practice. However, what each of these lack is the actual description on how its done :

As we should all know, billboards just do not work in VR (and tbh, they don’t work well on 2d either…), however, it saves a ton on the geometry aspect since you are just rendering a double sided plane. The thing is though, that when viewed from the side, the plane will disappear.

Has anyone worked out on getting foliage “done right” so that it just doesn’t disappear? A few years ago (has it been that long? sheesh), CyberReality and myself where brainstorming how to work around this, and it seemed that using a tessellation map would work.

Another idea is to use LOD groups for the foliage (plane geometry that turns into cubed geometry when player is close enough). Not sure how that would work out though (and then you would need to re-design every leaf, this would be a royal PITA.

Has anyone here worked this problem out yet? And if you have successfully, would you be willing to share your experiences / workflow / how it’s done?

Arigato Gozi-desu!

I think either using a pre-tessellated plane, and then deforming the verts some in different directions in the vertex shader, or using runtime tessellation and doing the same thing would be decent.

I’ve noticed that textured quads look fine for foliage as long as you aren’t on top of them. Moving the verts around a bit will give some depth to it and prevent it from disappearing edge-on, which are the main problems up close. Having them billboard/face the camera seems mostly detrimental unless they’re in the distance.