In the last decades, the advances in modelling virtual worlds have been impressive and notorious, from primitive results (Alien, 1979) to visually complex ones (CryEngine, 2009). However, the process is mostly manual, laborious, repetitive and costly especially for large scenes. For this reason, an alternative approach called procedural modelling, where the content is created via a procedure or program, is becoming more popular. An open research challenge is the automatic generation of terrains, especially if we consider the inmense variety of shapes and appearances.
For my Bachelor thesis, we develop a terrain generator based on an extension of the noise synthesis technique that includes transformations in order to improve significantly the capacity and power of the heightmap generation. The fractal generator is able to synthesize several types of terrains such as a glacier, mountain range or plateau in an efficient and extensive way by using different base functions (value noise, Perlin noise) and transformations (domain distortion and filters). Furthermore, we implement a realtime 3D Viewer using OpenGL shaders in order to explore the generated heightmaps, which include features like triplanar texture mapping, detail maps, sky domes, Phong illumination model and a navigation map. Finally, we carried out several experiments in order to study and evaluate the impact of the different algorithms, base functions and transformations.
This work was heavily inspired in three sources:
Real-time editing, synthesis, and rendering of infinite landscapes on GPUs
Interactive GPU-based procedural heightfield brushes
Value Noise Derivatives