Alta FAQ
- What is Alta?
Alta is a next-generation tool to generate terrains (such as Gaea or WorldCreator), which offers features that current industry-standards have not yet conformed with. The basic features (and in the future, potential selling points) of Alta are:
User-Friendly UX Experience
Most software that allows users to generate terrains is quite convoluted and upsells the quality of the software through UX design. Alta is different. Careful choices will be made about how certain features are communicated to users without unnecessarily complicating the interface. This results in a clean and minimalistic, yet extremely powerful and often familiar interface that is reminiscent of other 3D object manipulation software such as Blender, Cinema4D or game engines such as Unity.
Powerful and Usable Tools
Creating terrains is a complex and often daunting task. One has to take many different aspects into consideration: topology, materials, weather phenomena, human influences and more. Most of the software that is available on the market today misses this crucial point by implementing too many unnecessary features, or offers too little control when terrain generation isn’t the main selling point. Alta circumvents this by allowing the user to generate terrains based on all these factors, while maintaining usability. State-of-art algorithms allow the designer to create landscapes conforming to a variety of climates, biomes and other influences.
Fast and Efficient
Not only does Alta offer a complete feature set, it also offers these features using state-of-the-art GPU-based techniques to accelerate the design process of the terrain. Under the hood, Alta makes use of Cyclone, a hardware acceleration library for Java. Furthermore, Java is a language that is robust and allows for less bug-prone code compared to low-level programming languages such as C++. This combination allows for fast high-level memory-safe development while maintaining low-level efficiency.
Project Links
Resources & Papers
This is an alphabetically organized list of all the resources that are being used to create Alta.
- Orometry-based Terrain Analysis and Synthesis
Fundamental theory about how mountain peaks are distributed. This can aid in placing mountain peaks in the terrain and how they can be connected or amplified to a certain height. The interesting part of this work is defined by the different topological features that are used to identify mountain peaks such as its prominence, dominance, isolation and relevance.
The authors use real-world data to fit distributions to different areas around the globe (e.g. the Alps, the Rockies, etc), such that their orometric properties can be reproduced. In Alta, this could be translated to placing mountain peaks based on these distributions. Furthermore, elevations and general heightmaps can be derived from these statistics, although more interesting and plausible methods exist (see [3] and [4]).
- Segment Tracing Using Local Lipschitz Bounds
This paper provides a fundamental basis to quickly ray-trace terrains and different geometric operations between multiple terrains (e.g. arithmetic or blending operations).
- Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion
The main interesting part here is that for a given domain an uplift map (describing general uplift of peaks) and vector-based graph is combined to produce a final terrain. The algorithm used is an iterative process that solves both the stream-power equation and erosion. This algorithm can be used to derive an elevation map from any arbitrary assignment of points.
Together with [1], peaks and saddles can be placed based on their isolation metrics. Normally, a cost matrix is used together with optimal transport to compute the elevation of peaks and saddles to constrain the elevation based on the prominence and dominance of different peaks. The optimal transport can also be swapped out for an algorithm such as this. The crux of the whole problem here is the following: How to keep prominence and dominance values per peak? This is necessary to keep the overall topology and orometric consistency of the requested terrain type.
Initial ideas to constrain this is to assign priority to peaks that have a higher prominence and dominance value. This allows them to grow faster than other peaks. Surrounding peaks’ growth can then be stopped prematurely to keep consistency.