Vulkan Foliage rendering using GPU Instancing

In this detailed guide, the author explores the process of rendering grass blades in a video game environment using features like VK_EXT_buffer_device_address and multiDrawIndirect. The compute pass generates data about the grass blades, including position, width, height, and animation parameters, before the graphics pass renders them. Frustum culling and LOD selection are implemented to optimize performance, and the author shares tips on GPU rendering efficiencies. Surprisingly, the author leverages hash functions and simplex noise textures to create realistic grass effects. The author also shares optimizations and performance data, highlighting the potential for millions of grass blades to be rendered efficiently in a game setting.

https://www.thegeeko.me/blog/foliage-rendering

To top