A GPU-Based level of detail system for the real-time simulation and rendering of large-scale granular terrain
Includes bibliographical references
Real-time computer games and simulations often contain large virtual outdoor environments. Terrain forms an important part of these environments. This terrain may consist of various granular materials, such as sand, rubble and rocks. Previous approaches to rendering such terrains rely on simple textured geometry, with little to no support for dynamic interactions. Recently, particle-based granular terrain simulations have emerged as an alternative method for simulating and rendering granular terrain. These systems simulate granular materials by using particles to represent the individual granules, and exhibit realistic, physically correct interactions with dynamic objects. However, they are extremely computationally expensive, and thus may only feasibly be used to simulate small areas of terrain. In order to overcome this limitation, this thesis builds upon a previously created particle-based granular terrain simulation, by integrating it with a heightfield-based terrain system. In this way, we create a level of detail system for simulating large-scale granular terrain. The particle-based terrain system is used to represent areas of terrain around dynamic objects, whereas the height field-based terrain is used elsewhere. This allows large-scale granular terrain to be simulated in real-time, with physically correct dynamic interactions. This is made possible by a novel system, which allows for terrain to be converted from one representation to the other in real-time, while maintaining changes made to the particle-based system in the heightfield-based system. We show that the system is capable of simulating and rendering multiple particle- based simulations across a large-scale terrain, whilst maintaining real-time performance. In one scenario, 10 high-fidelity simulations were run at the same time, whilst maintaining 30 frames per second. However, the number of particles used, and thus the number of particle-based simulations which may be used, is limited by the computational resources of the GPU. Additionally, the particle sizes don't allow for sand to be realistically simulated, as was our original goal. However, other granular materials may still be simulated.