Out-of-Core Data Management for Planetary Terrain

planet By: Cody White

Accurate rendering of a planetary surface requires a large amount of data which may or may not be able to be locally stored in memory. To alleviate this problem, a data streaming system must be devised to only load data relevant to a user's virtual presence on the surface of the planet.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. marsMost 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 fi nd data centered around a viewer and display it to the screen.mars2

White CJ. 2011. Out-of-Core Data Management for Planetary Terrain. Computer Science and Engineering. MS CS:55.