Project 3 - Proposal
GPU programming (CS525)- Fall 08

by Kaushal Joshi
Instructor : Prof. Andrew Johnson




THEME - Procedural Terrain generation using the GPU, at interactive speeds

Realistic terrain generation has been a problem which has been tackled in many ways in the history of computer graphics, taking advantage of the hardware/software capabilites to increase rendering speed, add to realism(level of detail) on terrain, or improve on interaction with terrain.

Procedural content [a] has been the buzz-word in graphics (esp. gaming) for a long time now.

The concepts can be applied   to terrain generation [a, b], resulting in 'procedural terrain generation' techniques. A very short discussion of some of those techniques can be found here. The basic idea   is about automatic terrain generation using stochastic methods.

 

In this project, I propose exploring one such technique, which has been explained in GPU Gems 3 - Chapter 1: Generating Complex Procedural Terrains Using the GPU [1].

This technique deals with generation of volumetric terrain data, leveraging the GPU parallel-processing power and texture manipulation, to create polygonal terrain meshes and render them with more detail, more faster than before (CPU).

It also modifies the pipeline to take advantage of programmable geometry shader.

As a reference to the applications of the technique, you might want to see the NVIDIA-Cascades demo. The rocks in the demo have been claimed to be generated using this technique. [2]

An explanation of the effects generated in the Cascades Demo is also provided on the NVIDIA site. [3]   

 

 


Why this

WHY this topic?

My reasons are as below:-

 - During the span of this course, I have come to be interested in learning about volumetric rendering. This topic seems like a small manageable initiation to that. It uses the Marching cubes algorithm. Another topic I had been considering was ray-casting for volumetric rendering, but it did not seem manageable, given the short time duration of the project.

- The guide (GPU gems 3 - Chapter1) is based on Directx10 (HLSL), and thus would allow me to be initiated to one more shading language. also, it exposes me to the geometry shader, which I have not touched earlier.

- Regardless of the shading language used, the use of 3-D textures with GPU seems interesting, as they have wide applicability.

As evident above, my strongest inclinations for the selection are to extend my learning of techniques, more than the theme of 'terrain generation' itself.



References and Resources:-

[1] GPU Gems 3 - Chapter 1: Generating Complex Procedural Terrains Using the GPU [not available online. Link to chapter contents]

[2] NVIDIA - Cascades demo

[3] NVIDIA Demo Team Secrets?Cascades

[4] Terrain resource

Interesting reads:-

[a] Procedural content creation

[b] Artificial terrain generation

 

-----------------------------------------------------------------------------------------------------------------------------------------------------