//-----------------------------------------------------------//
Building Planets
//-----------------------------------------------------------//


ArtMatic Surfaces and Textures
ArtMatic Voyager was designed to be extensible through the use of ArtMatic Designer. In Designer you can setup tree functions for creating planet-sized terrains or infinite textures. Terrains are typically 2D scalar functions, that is 2D-input systems with a single output : the elevation. Color textures or color+elevation systems can be either 2D or 3D vector-valued functions with 3 or 4 outputs, typically RGB or RGBA where the Alpha will store the elevation. 2D input trees shall be used for terrains elevation functions. 2D input trees receive ground coordinates (x,z) from ArtMatic Voyager via global artmatic inputs X and Y and outputs the terrain elevation. Elevation-only tree provide no color information and the color texture, if needed, shall be provided by another tree. When the tree returns both a color and an elevation the color texture mode must be set to Altitude Default in order for the tree specific colors to be used. 3D input systems receive both ground coordinates and elevation information from Voyager (for example from built-in Planets) . In that case the (x,y,z) are passed directly into (X Y Z) ArtMatic inputs and the coordinates are used within the tree to compute color and eventually another elevation that can be used for bump mapping or terrain filtering. 3D input systems are typically used for the color-texturing of terrains. Voyager as most 3D Computer Graphics Applications uses x and z to refer to the ground co-ordinates and y to refer to the elevation (height).

Rendering passes:
ArtMatic Voyager must evaluate the trees at various stage of the rendering:
It is important to realize that different information is available during the various passes. During the first pass (terrain & object intersection ), the global inputs that provide Voyager elevation, slope and normal information are not yet defined. So, this information should not be used in part of the tree that defines the elevation. Because the color texture computation is unnecessary at the terrain intersection phase it is more efficient to separate it from the terrain topology : put all tiles used to compute the color texture in a compiled tree and set the compiled tree to be Evaluate Only For Colors : Any tile that has the Evaluate Only For Colors option set is ignored during the first pass. This will greatly speedup color terrain rendering.

Additional informations can be passed to an ArtMatic tree via the other global inputs and several ArtMatic components.
- slope information via global input A1
- absolute elevation information via global input A2
- various VY vectors like eye position, sun light direction, terrain and object normal are available with various ArtMatic components.

ArtMatic Scaling Mode
When an ArtMatic system is used as a terrain or texture in Voyager its scale can be set in various ways in Terrains settings dialog.


Designing ArtMatic terrains
ArtMatic Engine provides hundred of band-limited fractal functions that are especially designed for terrains creation, from the basic Multi-Perlin Noise to advanced multi-fractal noises terrains like in 21
Fractal Terrains # . Some surfaces function will have also color texture information imbedded like the with 24 tile Ridged_noise . In Absolute mode you will typically use the frequency options 'Voyager KM' or 'Voyager DF mode' to define the scale of the surface. For entire planet the lowest frequencies will often be 10 to 100 kilometers wide. With Voyager DF mode the amplitude is automatically connected to frequency to keep a realistic aspect ratio between width and height.
To create a varied planet topology it is often useful to mix several surfaces with different features. All mathematical and logical operators can be used to merge various terrains. An easy way to create variety is to random-mix several terrains using the scalar 31 Random Mix or vector 34 Packed_random_Mix component.
The Voyager Library provides many examples of terrains function that can be browsed directly from the main UI using the Browse Terrains library pop up.

Designing ArtMatic Color Textures
ArtMatic trees that are used for color texture can be RGB or RGBA trees. Voyager evaluates the tree at the shading phase and passes (x,y,z) coordinates to the ArtMatic tree along with additional informations like slope, normale, light vector etc. By carefully designing the ArtMatic tree function, one can create very complex color textures that may respond differently to various informations. Often, one will base an ArtMatic color map on the system used to define the surface by using the passed elevation in order to maintain coherence. There are two types of color textures: 2D color textures and 3D solid textures. The type of texture is determined by which global inputs are accessed in the first row of the tree :
When the ArtMatic tree has two-inputs at the top, the longitude and latitude of every point on the map is sent to ArtMatic and the color output is laid upon the surface. The elevation/surface contours do not influence the color selected (since only longitude and latitude are sent to the ArtMatic system). Imagine an ArtMatic image large enough to cover the map. This image is essentially overlaid upon the planet surface.
When ArtMatic tree has three inputs at the top of the system, Voyager treats the system as defining a three-dimensional color texture space. Consider that each point on the planet surface has a 3D coordinate: longitude (X), elevation (Y) and latitude (Z), Voyager feeds those coordinates (in that order) into the ArtMatic system and uses the color returned. If that explanation seems abstract, imagine that the ArtMatic system defines a block of intricately colored marble as large as the planet and as high as the highest elevation. Now, imagine chiseling away marble from the block of marble until the contours match the planet surface. When you look at the ArtMatic system in ArtMatic, you are looking at the block of marble from the front.
When the texture provides an Alpha channel the alpha controls the blending with the built in Planet default colors. For example a Rock texture may be set up to return an alpha linked to slope so it will appear only on steep montain slopes.

Extra outputs (X-outs)
When an ArtMatic file has one or more extra outputs, the output can be mapped to various shading properties such as wetness, self illumination or reflectivity. Using Xtra output to modulate texture shading can greatly enhance realism and visual complexity. The extra output can be mapped to:
"nothing";
"Self illumination" Unlike "Ambiant" which sets the amount of diffuse reflection coming from the environment "Self illumination" adds its own light to the scene giving the impression of a luminous object. The self illumination light color is the X out color or white if X out is scalar.
"Wetness level" control the specular amount of light coming from the environment. This light can be filtered by the X out color if any.
"Ambiant & Wetness" control the amount of light coming from the environment, diffuse and specular. This light can be filtered by the X out color if any.
"Reflection level" Mirror reflection of light from the environment. The reflected light can be filtered by the X out color. Since V 1.2 the extra Reflection level is multiplied with the object reflection color alpha component, so you can directly attenuate or remove the true reflection for a particular object.
Note that for terrain true mirror reflections has to be enabled in the
Terrain shader Settings.
"Bump Map" This require a 3D X output providing the derivative vector and will map the vector to normal perturbations.
"Brightness Gain" : The X out scales the diffuse & ambiant light. If the X out is RGBA then A controls how much illumination is scaled by the X out color. this mode can be used to simulate shadows or light variations, as well as coloring the main light in variable ways.


X-outs naming conventions
The following letters put at the end of an ArtMatic texture file name will cause Voyager to set the proper shading option default when opening/importing a new ArtMatic file. The letters can be combined in any order up to 3 letters ("ri", 'wir" "wbi" etc) when multiple X-outs are used but a space needs to be present before to not get confused with letters in the name itself.
'i': sets corresponding output to "Self illumination color & level",
'r': sets corresponding output to "Reflection color & level",
'w': sets corresponding output to "Wetness level / Specular color ";
'b': sets corresponding output to "Bump Map ",

So for example "myfilename ri" will have "Reflection color & level" set for X-out 1 and "Self illumination" set for X-out 2.
"myfilename r" "myfilename wi" "myfilename lri" "myfilename rib" are all valid auto-mapping hint names


The Combination mode dialog

Combination mode makes the creation of more complex planets terrains easier by combining a built-in planet or ArtMatic surface with up to 6 additional ArtMatic terrains. The additional terrains can supply a wide variety of features: from beach pebbles, boulder rocks, rivers, volcanos, to architectural structures, custom oceans and more. A layer can also be used as a filter to modulate elevation and add texture details.
Be sure to take a look at the example files to see the many different features that combination mode can give to Voyager worlds. Examples can be found in Voyager examples/Terrains & Landscapes/VY5 Combination/ and in Voyager Scenes/Combination scenes/

Once the dialog is opened by edit in main UI you have all the controls to import, edit and manage terrains layers. Click on a layer tab to access each layer's settings. Active layers are indicated with a red dot. To create a new layer select an unused slot and open an Artmatic file that will define the particular layer features. The Browse Library button give you a direct access to a number of useful presets to enhance your scene. Position the layer using the Map or numeric entries, choose the combination mode and eventually change the layer scale. Results should be seen interactively in 3D in the main preview area as well as in a 2D top view in the Map.

Main Planet popup
Choose the surface that will be the main surface. The additional layers are combined with the main planet. The main planet can be either a built-in planet or an ArtMatic surface/ animation.

Main planet edit/open/reload
When the main planet is an ArtMatic surface/animation, these buttons let you edit the surface in ArtMatic Designer (if it has been installed), open a new ArtMatic file to use, or reload the ArtMatic file. Use the reload button, if you edit the ArtMatic file while the Voyager scene is open.

HF Filter % slider (High Frequency Filter).
This slider reduces the amount of detail in the built-in planet. In many cases, this makes the ArtMatic contribution more noticeable where fine surface detail is concerned. This filter only affects the base planet and not the ArtMatic contribution (as opposed to the High Frequency limit set in the Preferences dialog which affects everything).

Active checkbox
Use this checkbox to toggle the layer's active status.

Browse library

Browse library pop up gives you a direct access to ArtMatic systems designed for combination mode and stored in the Voyager Library/Combination/ folder. It contains Surface details, Surface textures, Alternate seas, and Filter folders.

Layer edit/open/reload




These buttons let you open a new ArtMatic file to use, edit the layer system in ArtMatic Designer (if it has been installed), or reload the ArtMatic file.

Surface Overview Map. This map provides a top view of the surface with camera orientation lines that display the camera's orientation and field of view (as in the main window's surface overview). Click on the surface overview to center the current layer's ArtMatic system at the clicked location – the click sets the Longitude and Latitude offsets to the clicked location. This feature is useful if you want to position an ArtMatic structure at the current location rather than at the center of the Voyager world.

Center to world origin

Reset the offsets so that the Voyager world and the ArtMatic world are both centered at 0,0.

Center to Current View

Set the longitude and latitude offsets to the center of the current view.

Combination slider.

This slider's meaning depends on the active combination mode algorithm (see below) and usually controls the amount of influence that the ArtMatic layer has on the main planet.

Combination Mode popup algorithms :

Longitude (X),
Latitude (Z),
Elevation (Y)

These fields provide offsets to control the relative position and elevation of the ArtMatic terrain layer and the main planet. The offsets are added to the ArtMatic file's normal home position. You may also use the Map view to set layer origin.

Global Scale %

This is a scaling factor that is applied to the ArtMatic file before it is combined with the main planet. It represents the relative scaling of the Voyager world to the ArtMatic world. Hence, values over 100% reduce the size of the ArtMatic features while values less than 100% increase the size.

Terrain shader Settings...

You can call this dialog to adjust terrain rendering & shading options.