Contents
How does procedural terrain generation on GPU work?
Procedural Terrain Generation using the GPU Terrain Generation on the GPU with increasing level of detail using tessellation depending on the camera position. case ‘q’: case ‘Q’: Disco Light effect On/Off – Click anywhere after enabling to get different colors
How to create complex terrains on the GPU?
I wrote this chapter & demo in 2007, for the Nvidia-published book, GPU Gems 3. It covers a set of novel techniques that I developed to use DirectX 10 and the GPU to create amazingly complex terrains purely on the GPU, on the fly, at interactive framerates.
How to generate complex procedural terrain using DirectX 10?
By utilizing several new DirectX 10 capabilities such as the geometry shader (GS), stream output, and rendering to 3D textures, we can use the GPU to quickly generate large blocks of complex procedural terrain. Together, these blocks create a large, detailed polygonal mesh that represents the terrain within the current view frustum.
How much memory is needed for terrain rendering?
By processing terrain geometry as a set of images, we can perform nearly all computations on the GPU itself, thereby reducing CPU load. The technique is easy to implement, and allows interactive flight over a 20-billion-sample grid of the United States stored in just 355 MB of memory, at around 90 frames per second.
Where are points located in a procedural terrain?
If the value is negative, then that point is located in empty space (such as air or water). The boundary between positive and negative values—where the density value is zero—is the surface of the terrain. It is along this surface that we wish to construct a polygonal mesh.
How to build a triangle in procedural terrain?
Once it receives the case number, the table provides the information needed to build up to five triangles within the cell. Each of the five triangles is described by just an int3 value (three integers); the three values are the edge numbers [0..11] on the cube that must be connected in order to build the triangle.