| Terrain rending has a wide range of applications. Interactive visualization of landscape and outdoor graphics environments is important for graphics applications such as computer games, flight simulators, and virtual exploration of remote planets. With the increasing of complexity of the scene, the amount of data to be rendered becomes larger, especially virtual battlefield, the landscape is made up by millions of triangles. In addition, the capability of graphics cards have improved but not satisfy terrain rendering's need. so the applications that have to rendering terrain are facing the two challenge:terrains exceed the rendering capability of available graphics hardware, large terrain datasets aren't filled in memory because PC memory is very small compared with terrin datasets. To improve the rendering frame rate, we must design a algorithm that can simplify the terrain. While graphics hardware is very developed fast, Terrain simplification algorithm invented in the past are not suitable to be used in GPU-Based graphics processing framework anymore.In the past, a great number of simplification algorithm depend on CPU, but the drawback is that the time of culling a triangle exceed the time of rendering it because the current graphics card can render millions of triangles in a second. Now the focus of terrain rendering is how to take advantage of GPU instead of how to reduce the number of rendering triangle.In my work, an improved algorithm and the management of terrain date are introduced. Our algorithm is based on the Geometry clipmap algorithm that allows to render very large terrain data without losing performance. This algorithm is developed by Losasso and hoppe in 2004. Asirvatham and hoppe have improved this algorithms in 2005 that can full take advantage of the capability of modern graphics hardware. I improve this algorithm in this aspects, clipmap size, how to eliminate T-crack and so on. In management of data, we use multithreading data schedule.To reduce computation load on the busy CPU, I partition the terrain into patches at different resolutions.every patch is saved in disk and is moved into memory when it is visible.At last, I design a terrain framework based on Glitch engine. It can full take advantage of GPU, for example,GPU vertex and index buffer, vertex sampler, render to texture, geometry instancing and so on. It don't take up CPU time, so CPU can deal with AI and physics simulation. |