interactive gpu-based procedural heightfield brushes
Virtual outdoor terrain used for games is generally created by a level designer, using a variety of tools. These tools are currently based either on local interactive brush-based terrain sculpting or on global, parameterized algorithmic synthesis/adaptation of complete heightfields. Both tool types have largely complementary benefits and drawbacks. In this paper, we present procedural brushes , which combine the strengths of both tool types, offering a seamless transition from local control to fully automated generation, depending on the brush size. To optimize the execution speed of the computationally-intensive procedural algorithms, we propose to use the huge processing power of today's graphics hardware. For this, the procedural algorithms have been translated to shaders, and are used as part of a pipeline to render changes on a heightfield in video memory. We present a GPU brush editing pipeline for graphics hardware supporting Shader Model 3.0, coping with hardware restrictions regarding blend modes, precision and texture size. Several implemented procedural algorithms are described as well, two of which are novel. Experiments showed that the implemented system resulted in a speedup of roughly one order of magnitude over a reference CPU pipeline implementation. This made it possible for users to apply both trivial and complex procedural brushes at interactive rates, thus leading to a more efficient creation of complex virtual worlds.
heightfields graphics hardware terrain modeling shader programming gpgpu procedural synthesis