Out-of-Core Data Caching For Planetary Terrain
AuthorWhite, Cody James
AdvisorHarris, Frederick C.
Computer Science and Engineering
AltmetricsView Usage Statistics
Rendering terrain on a planetary scale can quickly become a large problem. Aside from the challenges of rendering terrain over a spherical body, the amount of data that needs to be processed to accurately render such terrain can reach the terabytes and beyond. Most terrain renderers focus on a particular region of a planet and are therefore limited to only a very few datasets to generate a proper rendering of that area. However, since planets are made up of such large areas, a different approach needs to be taken in order to display high-detail terrain around a viewer while sorting through the large amounts of planetary data available. Additionally, since modern desktops have a relatively small amount of memory, a system to swap data from the hard drive into graphics processing unit (GPU) memory needs to be created. Therefore, we present a data caching mechanism for planetary terrain rendering which can efficiently swap only the data around a viewer into and out of GPU memory in real-time. In order to speedup the process, we utilize the multi-core processing power of the GPU to perform data composition for use by a terrain renderer. Using this method, the CPU is able to perform search operations for new datasets and swap out old datasets while the previous ones are being rendered by the system. Additionally, we present a method for adding new datasets at runtime using the parallel processing abilities of the CPU. We achieve efficient framerates for high-quality views of terrain while minimizing the amount of time it takes to find data centered around a viewer and display it to the screen.