CTX 1.0 version presentation
Overview & basic concepts
Canvas View, Main Gradient and View tools
Global Input Matrix
Tree Editing & Shading area
Mutations Explorer Dialog
Timeline and Keyframes Area
Left Tool buttons
ArtMatic is a unique kind of software : it can be seen as a resolution-independent modular graphics synthesizer as well as a mathematical visual programming engine.
In ArtMatic you don't create an image. You design the rules or algorithm that creates images. In a sense ArtMatic is a development environment, a huge toolbox of over two thousands of functions you can assemble in infinite ways.
ArtMatic's unique user-interface allows you to interact with it in various manners. You can create trees from scratch, tweak and mutate any of the provided presets and examples, or discover and explore entirely new image spaces with ArtMatic's powerful randomization and mutation tools.
ArtMatic Designer is primarily conceived for creating images and animation. With its enormous set of components you can:
The structure Tree is a web of Components wired together in limitless combinations. It is essentially a flow chart that defines the procedural mathematics creating the image. The tree takes its initial inputs from image space coordinates, time and various optional global inputs. Values are flowing from top to bottom and transformed by each Component until the bottom Component(s) outputs the final results.
Each component has up to four parameters that can be modified over time using keyframes. Component are represented graphically by a Tile and the term 'Tile' is often used in place of 'Component'. Component can have 1 to 4 input dimensions and 1 to 5 outputs. When a Tree final component outputs a single value, the tree can be seen mathematically as a scalar 2D or 3D function. When the Tree final component outputs a RGBA vector the entire tree is an image rendering algorithm that creates each pixel color and alpha value. The number of input dimension used by the Structure Tree determines if the system is 2D, 3D, or even 4D if the Tree uses global time input as well.
The number of inputs of a Component sets its dimension, the number of outputs sets its type (scalar or vector (2D to 5D)). Component are often refered to using the in-out number before component's name so that the component's type and dimension is clear. For example 31 perlin noise will refer to a 3D scalar noise function that has 3 inputs (3D) and 1 output (scalar).
A number of components allow you to access and process external images and movies (up to eight different movies or pictures can be accessed in a single Tree). These components are especially powerful for creating video special effects. Complex fades and wipes and sophisticated distortion and color-processing can all be animated and rendered as movies or image lists.
Components are described individually in the component reference html files organized by input/output dimensions. A particular component's reference can be invoqued from ArtMatic Designer with command-F (OnLine Help Menu) after selecting a Tile. The aim of a full interactive reference system accessible on line is to provide an accurate and scientific database of what each component does to make ArtMatic huge toolbox a seriously documented toolset usable not only in computer graphics but also for education in mathematics and computer science.
1D Components links:
11 components , 12 components , 13 components , 14 components
2D Components links:
21 components , 22 components , 23 components , 24 components , 25 components
3D Components links:
31 components , 32 components , 33 components , 34 components
4D Components links:
41 components , 42 components , 43 components , 44 components
A structure Tree can hold other structure trees in the form of Compiled Tree. That makes highly complex and rich systems with hundreds of components possible and easier to manage.
A structure Tree defines a mathematical system that can have many states depending on all the component's parameters settings.
The ensemble of parameters values in a Tree is sometimes refered to as the "parameter space". A point in the parameter space is just a set of all particular parameter values at that point. ArtMatic "parameter space" dimensions can be huge, often over hundred dimensions. Keyframes stores a a particular point in that space. Changing parameters moves the sytem to another point in parameter space and animation can be seen as a trajectory in the parameter space between keyframes "points".
Not all points in this giant space give interesting results but ArtMatic was designed to provide many ways to explore this space to find interesting places like randomisation, keyframe interpolation and the Mutation dialog.
ArtMatic's resolution is nearly infinite, both in depth and range. By default the canvas view is centered around zero and has a radius of Π. Moving the virtual camera or zooming it in or out can often reveal vastly different images from the same Tree. As a mathematical procedural function a Tree is resolution-independent. Some fractal function are nearly infinite in depth so you may zoom by several order of magnitude and still find details. The large set of procedural patterns and noises function provided by ArtMatic engine are only limited in extension by the range of what is representable in 64 bit floating point which is huge. Thus you can have a terrain than span an entire planet surface of 30 000 km square.
By default ArtMatic Designer shades 1D output Trees with the current Gradient by implicitely mapping the output values to the current gradient. Trees with 2 outputs are shaded likewise but both outputs gradient are blended into a single color. Trees with 3 outputs are interpreted as RGB Tree and the resulting color is taken directly from the RGB value. Trees with 4 output tile are interpreted as RGBA with the fourth output setting the transparency or Alpha channel. Negative and zero values are treated as transparent.
ArtMatic Tree systems that outputs RGBA can be rendered as PNG or TIFF images that includes an Alpha channel. PNG images can be rendered in 16 bit per channel allowing the maximum quality. Scalar Tree systems (a single-valued output) are usually rendered using specific shaders that maps the output to RGB and will be rendered without alpha channel as RGB tree systems.
The number of output Tile is not limited to 1. ArtMatic Voyager makes use of multi-outputs trees for various shading needs as documented for example in Shading DF Objects / Using extra outputs.
ArtMatic Designer can also render Multi outputs systems in the RGB Multi mode mode or using various shading options like depth cuing.
ArtMatic Engine refers to the toolbox and rendering engine that is shared by ArtMatic Designer, ArtMatic Voyager, V-Quartz and future Apps that will benefit from the same engine.
Structure Tree : The ArtMatic Structure Tree, often called ArtMatic system, is basically the set of Components connected together that define the procedural function described in Structure Tree & Components. An ArtMatic file is composed by its Structure Tree plus additional shading variables and optional gradients data.
Structure Tree design and editing is only available with ArtMatic Designer in the Design Room.
Most of the time you will modify existing trees by changing its components and eventually adding new functions. Advanced users may want to create complete trees from scratch. All the Tree building and editing tools needed for that are found in the Tree Editing & Shading Area.
Learn more about designing tree concepts in the Building trees page.
Compiled Tree : A Compiled Tree (CT for short) packs a Structure Tree in a single Component. With CTs, Structure Tree can be nested without any limit in levels (CTs can contains CTs that contains CTs). A single level can contain several CTs so there is no limit in the complexity of an ArtMatic Structure Tree.
In general Compiled trees that have the same number of inputs than outputs can be used in feedback mode for recursive computation. Compiled trees are described in more details for each Component type in the component references organized by input/output dimensions. For example 21 Compiled tree will discuss 2D scalar CTs while 33 Compiled tree will discuss 3D vector CTs.
Stream simply refers to the flow of data through a set of components. An RGB-stream refers to the series of components through which RGB or 3D vector data are flowing. RGBA streams are 4D vector data (that can be packed or not) and represents a color + alpha.
Band-limited. A function is band-limited when its frequency content falls within specific intervals. (You can think of frequency as a measure of the size of the function's features--high frequencies generate small-scale features and low frequencies generate large-scale features). The Perlin Noise function is a good example of a band-limited function whose output falls in a very narrow frequency band.
Continuity. A function is said to be continuous when its derivative (its local slope) does not exhibit any sudden changes. Continuity is an important issue for ArtMatic Voyager. Certain functions (such as the Step Quantize function) produce a non-derivable, non-continuous result. Many discontinuous functions have a "smooth" variant or a smoothing parameter that softens the discontinuity and makes the result continuous
Linearity. A function is said to be linear when its derivative (or slope) has a constant value. If you connect the derivative operator to a linear function (such as the plane Ax+ By +C component), you will just obtain a single color -- an expensive way to clear your canvas.
Multi-fractal. A Multi-fractal function is a function with a varying fractal dimension. Fractal dimension is a measure of statistical roughness. Multi-fractals are very good for capturing the complexity of natural textures.
Periodicity. A function is said to be periodic when it repeats itself ad infinitum with a specific period.
Almost everything that you can see in the user interface is active, including the text, icons and glyphs. Pretty much every graphic item can be clicked or dragged to perform a task. Like all U&I Software applications, most tools are accessible directly from the user interface.
Sets the overal aspect ratio of the canvas. The 16:8 (or 2:1) ratio is handy to build and visualize 360° environment maps or when using the Voyager 3D Sky Dome Global Input Matrix mode.
Determines the number of iterations used by fractal noises and certain iterative functions. The larger the value, the higher the resolution of these functions when zoomed in as iterations adds higher frequencies most of the time. With large values images may take longer to calculate. Setting this value high will produce more higher harmonics that lets you zoom far inside the fractal to discover lovely details found at the "microscopic" level. This will affects also the level of details of ArtMatic based terrains used in ArtMatic Voyager.
When ON this checkbox option will trigger an anti-aliased rendering after any changes in the ArtMatic Trees or its parameters. This is generally unneeded as it slows down the workflow and a hi-res render can always be done at will using the render hi-res eye icon below the canvas view.
Preview resolution sets the pixel size resolution of preview rendering and fullscreen animation playback. In main UI the animation playback uses an adaptative resolution and this number sets the lowest possible pixel size.
Note that "Preview Resolution" is set at 2 when ArtMatic Designer or Explorer launches.
Sets the skin of the ui among :
Precisely how the final output value is mapped to a color depends on the whether the tree is scalar or RGB-based. For RGB-based trees, the color is calculated directly from the 3 output values of the last Tree tile. If the tree is scalar or 2D (2 outputs), the color mapping is handled by the active Shading mode function that uses the main gradient to provides the colors. In most cases low values will be mapped to the left-hand color of the gradient and higher values are mapped to the colors further right.
Even when the Tree is RGB and don't use the Main Gradient it can have components that uses it to shade the component results like 13 Main Gradient .
What is a gradient? A gradient is a special type of palette that has a user-definable number of color slots. Each slot has its own color. ArtMatic automatically generates all the colors that lie between adjacent slots by linear interpolation ; so, with a few mouse clicks you can create rich palettes. For example, if you want to create a palette that goes from black to white with all the shades in between, you only need a gradient with two slots. Select black as the left-hand color and white as the right-hand color, and ArtMatic does the rest. Each keyframe can have its own gradient. You can store your own gradients in ArtMatic's gradient library. You can also export and import gradient libraries using the Gradient Editor.
Click on any color box of the gradient to choose another color. With shift key down the change is stored into all keyframes. Use the Edit gradient below for structural changes and more editing options.
This buttons calls the standard U&I Gradient editor to modify the Main Gradient.
This buttons lets you choose the Main Gradient among the built-in list of gradients.
This button reset the canvas view to the default scale (-Π,+Π) centered around zero. When shift key is pressed the default view scale and position will be stored in all keyframes as well.
Drag this button left-right to change the current canvas view zoom level. The image preview will be at lower resolution while dragging but should redraw at normal resolution when you let go. When shift key is pressed the new zoom level will be stored in all keyframes as well.
This button Trigger an anti-Aliased higher resolution rendering of the current canvas view. The left tool bar similar icon will trigger a full screen render.
The Structure Presets folder provides many structural starting points for Tree building in ArtMatic Designer design room. Use this pop up to choose a new tree structure template from the Structure presets folder. Unless you keep option key down the chosen structure tree will be automatically mutated. With option key down ArtMatic Designer will simply load the structure preset file.
You can add in the Structure Presets folder your own ArtMatic files when they can be used as a generic template.
The Global Input Matrix feeds information to the Structure Tree. In addition to the x and y canvas coordinates, time, audio analysis, and ArtMatic Voyager information can be sent to the tree. ArtMatic Voyager information is only sent to the tree when the ArtMatic structure is being used inside of ArtMatic Voyager. The other global inputs are generally used for one of two applications: 1) using time or audio input to influence the tree when rendering animation/movies, 2) using information from ArtMatic Voyager to create color maps influenced by elevation and/or slope.
The information passed out of global inputs (Z, W, A1, A2, A3, and A4) is determined by the Input Matrix mode. The x and y global inputs are always the (x,y) coordinates of the ArtMatic Canvas. The input matrix mode is set in the Input Matrix Setup dialog that is invoked by clicking on any label of the input matrix.
Z: relative time normalised (z flows from 0 to 1 during animation span, whatever its duration. This means that the speed of z will slow down when duration increases. Prior ArtMatic Engine 8.0.6 the z input was scaled by 4 ).
W: absolute time in seconds.
A1-A4: constant values;
The Z input is time as a percentage of completion of keyframe animation. When keyframe animation plays, Z will be 0 when the animation starts and 1 (representing 100%) when the animation reaches completion. The W input – which is expressed in absolute time in seconds – is useful when you want some sort of change in the animation to be unaffected by the number of keyframes or the duration of the animation. For example, if you want the canvas to rotate at a rate independent of the animation's duration, use W. The constant values A1-A4 that can be set in the Input Matrix Setup dialog offers an alternate ways to send global values to component inputs. Unlike the 11, 12 or 13 constant components the input matrix constant can easily be used in the tree and within several level of Compiled Trees with the guaranty that the values will be the same for all sub-functions, thus acting like a global.
For the sound analysis to affect the Tree you will need to use values provided by inputs A1 to A4 to modulate tree parameters. See the examples provided in Libaries/Master Audio Input/ to learn various technics about how to make a Tree sound sensitive.
The values in A1 through A4 represent the strength of the audio in the given frequency band. For example, connect a tile to A1 to have the bass frequencies influence the image. The audio can come from either live audio or an audio AIFF file. In audio input mode the following additional parameters are available: Input Device, Input Source, Audio Sensitivity, Sound In Inertia. The A1-A4 values are created by applying eight parallel DFT filters which are summed together in pairs. A1 is the sum of filters centered at 42 and 84 Hz. A2 is the sum of filters centered at 168 and 336 Hz. A3 is the sum of filters centered at 672 and 1344 Hz. A4 is the sum of filters centered at 7688 and 5376 Hz.
ArtMatic Engine uses 44100 hertz for sampling rate and audio files needs to be in 44.1 to work properly. When connecting to an input device make sure the device is set to 44.1 (Sample Rate). Depth of input should not matter as its converted to float internally. On certain hardware monophonic input devices seems not to be supported.
Audio Sensitivity is used to control how sensitive the system is to audio input. High values make the system more sensitive to audio. Sound In Inertia determines how smooth the transition between values is. When the inertia is low sudden changes in the audio can cause abrupt, jittery changes. Use inertia to smooth changes caused by the audio input.
Animation playback will run forever in main ui and Full screen preview when using Audio Input mode with live audio. To start playback and sound input capture use space bar.
TIP! When creating systems for audio control, you may find it useful to switch the Global Input mode to constant mode. While the dialog is open, you can change the constant values and observe how the system responds to the changes. This can give you an idea of what the A1 through A4 inputs do in the system without having to play audio.
There is an additional parameter, BPM adjust, which adjusts the speed of all the oscillators at once – allowing them to all be sped up or slowed down. The W value is an integer value that cycles from 1 to 32 at a rate determined by the frequency (in Hz) parameter. A1 through A4 are the output of four independent saw-wave oscillators. For those unsure of what an oscillator is, A1 through A4 generate floating-point values that increase steadily from 0 to 1 as time progresses and then reset to 0 and start climbing again to 1. The oscillators repeat this over and over at a speed determined by the Saw Cycle setting in the Input Matrix setup dialog. The saw waves are especially useful for creating continuous rotation when connected to the third input of the 32 z Rotate component.
This information is only passed in when the ArtMatic system is accessed from within ArtMatic Voyager. When an ArtMatic file is loaded into ArtMatic Voyager, it can receive various types of information from Voyager. This is covered in greater detail in the ArtMatic Voyager documentation. A1 and A2 are used to create complex color texture maps that allow color to be influenced by both elevation and slope. NOTE! Slope and elevation are only defined when the system is being used for the color texture/shading and cannot be used by those parts of a tree that define the elevation map (since slope and elevation only make sense after the elevation map has been calculated). In a tree that provides both color and the elevation map, the slope and Voyager elevation can only be used in that part of the tree that define the color. All values passed by Voyager through the X, Y and Z global inputs are scaled according to ArtMatic's view. The values passed through A2 are absolute and independent of the ArtMatic scale. Slope is only evaluated for color texture maps and at the color texture stage of combination mode planets. It has no meaning when the ArtMatic structure is being used as an elevation map.
The input mode "Voyager 3D sky dome" is suited to visualize in 2D a 3D 360° Voyager Sky dome or to create 360° environment images in ArtMatic. A spherical inverse projection is used implicitly to view the Sky Dome. X Y and Z global inputs will return 3D coordinates on a sphere (with a 2:1 ratio). At default view size top and bottom line will map to north and south pole and coordinates will loop in X.
Using 3D for the 360 environment has the advantage over 2D spherical mapping to have no deformation near the pole and can be viewed in spherical projection from any angle within Voyager.
A new component "3D sky dome planet" has been added to make creation of planets in 3D sky dome more easy.
Except for the viewing geometry this mode is equivalent to the ArtMatic Voyager input mode. A number of 3D sky domes based trees are provided in the "3D Cosmic Skies" folder. This folder shall be placed in Voyager Library/Skies/Environments 360 for direct access within ArtMatic Voyager.
Delete the current selected Tile. The functionnality is also provided within the tree pop up menu. Designer does its best to reconnect father(s) and son(s) automatically. Note you can't delete the last tile, as a Tree needs at least one tile.
Insert a component below the current selected Tile. The component will have the same number of inputs as its father outputs. The functionnality is also provided within the insert pop up menu.
When you need specific dimensions or/and specific output types more options are available in the insert menu.
Tip : When building complex trees or experimenting with mutations or random path animation, you may find it helpful to insert filter components to restrict the range or modify the values being fed into some but not all of a component's inputs (or outputs).
Insert a component above the current selected Tile. The same functionnality is also provided within the insert pop up menu.
Insert a similar component to the right of the current selected Tile and adds a mixing component below. The same functionnality is also provided within the replace pop up menu. This is a convenient way to complexify a particular feature of the tree.
Insert a similar component to the right and below the current selected Tile without connecting further. This is a handy way to start a new branch.The functionnality is also provided within the insert pop up menu. An alternative way to create a new branch is to use insert->add parallel branch function that will add a new similar component to the right and connected to the same father(s).
In most cases, ArtMatic uses the output of a single component (the first component of the last row) to create an image. Trees should generally be complete (i.e. have only one component–at the bottom of the tree–with an unconnected output) except for cases where an unconnected output is used for depth cueing or global shading or where the output is used by ArtMatic Voyager. Because you will often find yourself needing to connect parallel branches while editing tree structures (especially if you are creating a system with several pictures or 3D objects), the complete tree tool has been provided to automatically complete incomplete trees.
When the complete tree tool is clicked, ArtMatic will mix the branches of the tree by adding and connecting the appropriate components. For example, to mix two parallel RGB branches, ArtMatic will add any required pack components then mix the branches with a packed RGB mixer. Mixed systems that feature an RGB branch and a 1-output gradient-based branch will be mixed with the appropriate 4->3 mixing component. Multiple 1D branches will be mixed with a two or three to one mixer. In rare cases, ArtMatic may not be able to determine how to mix the system, in which case a beep will sound when the complete tree tool is pressed. If this happens, you will have to add some tiles yourself to complete the tree. If there is an RGB branch and a 2-output branch to mix, for instance, a 2D Scalar (2-in/1-out) component should be added at the end of the two output branch.
You can often save yourself a lot of work by using this tool.
Tip: Joining branches at the top. If a tree has parallel branches that you would like to connect at the top, choose the Insert menu's Insert Top Tile. For 2D trees a rotation tile is inserted at the top of the tree to which both branches are connected. You can change the component to something other than rotation if you desire.
This box display the names of current Tree and subtrees hierarchy. Click on the Name to rename the main Tree or the Compiled Tree if currently open for edition. This will open a dialog displaying some information about the trees and providing a text field where you can rename the Tree or Compiled Tree.
Available when editing a Compiled Tree this buttons will send you to the top of the tree hierarchy.
Shortcut : escape key.
Available when the selected Tile is a Compiled Tree this buttons will open and display the CT content for further editing.
Shortcut : Select a CT tile and type 'e'.
Available when the Tree use a Picture/Movie component , either black & White like 21 Pict/Movie or full Color like 24 RGBa Pict/Movie , this pop up menu allows you to choose which picture input channel is used by the component.
Choosing an empty slot prompts you to select a picture or movie that will be added as an available input source.
To further organise the inputs list select the "Setup inputs" item. The invoked dialog will let you delete or add new inputs. When using movies you will be able also to select a starting time and some playback speed options.
This group of tools relates to the Tree's color mapping and shading mode. They are available both in ArtMatic Designer and ArtMatic Explorer.
If the bottom tile of the tree has a single output and is passing out an RGB or RGBA packed stream, the tree is treated as an RGB or RGBA tree (rather than a scalar tree using gradient coloring) and the shading options are adjusted accordingly. ArtMatic Voyager will treat these as RGBA trees as well.
Scalar trees are rendered using various mappings involving the main gradient and optional components values.
The color used by Infinity, depth cuing when ON and certain Components like 44 Alpha Fade) or 23 Pict/Movie Overlay.
Auxiliary color A (default : dark red) is used by several scalar tree procedural shaders (see below) and by RGB Multi mode mode for Tree extra outputs. A couple of components uses this color as well like 44 RGB * alpha or 13 Shaded plain color in certain modes.
Auxiliary color B (default : green) is used by several scalar tree procedural shaders by RGB Multi mode mode for Tree extra outputs. A couple of components uses this color as well like 44 RGB * alpha in certain modes. S:P Logic &Profiles uses Aux color B to shaded the edges for example.
The Icon below the color squares controls the current shading algorithm or Shading mode. Note that Shading mode is global to a particular ArtMatic file so it is not stored in keyframes and can't be changed over the course of an animation.
Click here to pop up a list of the color shading algorithms which are described below. The contents of this menu changes depending on ArtMatic Tree output type.
For scalar trees (1 or 2 outputs) the shading algorithms are the following:
In addition to the color shading algorithms, there are two powerful shading options: depth cueing and global shading. Depth cueing provides fog and distance effects and global shade provides lighting and shadow control. Both of these options can be assigned either automatically by ArtMatic or manually by the user. These options are accessed via the Shading Options popup menu. Click here to pop up a list of various shading and rendering options.
RGB Bump (main out) and Geographic Clut uses the Tree elevation or alpha value to bump-shade the result implicitly. The Bump gain button lets you slide the amplitude of this bump shading. It is often quite useful to have a beter grasp of terrain relief features or DF field derivative.
For final renderings we recommand to use custom shaders where the derivative is shaded using the Structure Tree components to have a better control of the bump shading function (instead of relying on RGB Bump mode). Examples of customised advanced bump shading technics can be found in the Libraries/Textures/Shaded Surfaces/ folder
This popup turn on/off various grids mode to restrict the parameters settings to the selected grid. Options: no parameter grid, Integer Grid, Snap Grip (closely spaced grid), Pi/4 angle grid (this restricts rotation and other angle-based parameters to increments of 45 degrees), Pi/6 angle grid (this restricts rotation and other angle-based parameters to increments of 30 degrees).
Mutate the active gradient and the active Shading mode.
Randomize all of the structure's function assignments, parameter values and color assignments. Control-click randomizes the entire structure tree as well as the function assignments. Tiles whose parameters are completely locked are protected from Randomize All.
Randomize the parameters of all unlocked tiles. Repeatedly clicking this tool is one way to explore the possibilities of a particular system. The parameter locks can be used to prevent randomization of a particular parameter.
Invoque the Mutations Explorer dialog.
The Mutations Explorer is one of ArtMatic's most powerful tools and uses genetic algorithms to generate mutations while your choices takes the role of natural selection. It allows to quickly and easily explore the huge Parameter Space of ArtMatic systems and mutate the current ArtMatic Structure Tree algorithm by randomly mutating it's tiles functions.
When the mutations explorer first opens, the current canvas image is the parent (the large image in the upper-left). Clicking on the parent generates a new set of mutations. ArtMatic creates mutations by randomizing unlocked parameter values and the gradient and/or function assignments (depending on the selected options). Clicking any mutation (any 'child'), makes that mutation the new parent. If the auto-mutate option is turned on, clicking any mutation makes that child the parent and generates a new set of mutations.
The Mutate (dice buttom) triggers a new set of mutations. Interesting mutations can be stored in the Keyframes using the Add or Replace Keyframe buttons.
Clicking the OK icon button closes the dialog and validates the current state of the Tree.
Mutation rate :
The mutation rate slider controls the mutation probability. High values will let you explore a large region of parameter space. Low values are often used to fine-tune a system or to find small variations in very sensitive systems like fractals. 'Locked' parameters won't be mutated so you can use this property to protect certain parameter from mutations. Flow controllers like Iterations and Recursions parameters are not mutable, even unlocked.
Explore modes :
Several strategies are provided to explore the Parameter Space:
Invoke the Keyframes Parameters Envelop dialog that display time curves for each active parameter of the current selected tile. This dialog is available when more than 2 keyframes exists in ArtMatic Designer only. To create Keyframes visit the Timeline and Keyframes Area.
Theses popup menus gives you access to parameter-related functionalities and shortcuts for each used parameter :
Component's parameters are modified using the parameter sliders. Each tile in a structure has from 0 to 4 parameters (settings). Each keyframe in a file can have different settings. To modify a tile's current parameters, click on the tile then manipulate the parameter sliders. To see what a parameter controls, move the mouse over the slider and note the Tool Tips display. Drag a slider to change its value or option click to make a small changes. To store parameters changes in a keyframe you may need to replace the current keyframe. It is possible to edit the parameter enveloppe across keyframes directly using the Keyframes Parameters button.
The parameter locks (found to the right of the parameter sliders) allow function parameters and component assignments to be locked to prevent them from being changed by operations such as mutation that normally change parameter values. When a parameter is locked its animation is disabled as well.
To lock all tiles, shift-click any unlocked parameter. Locked parameters shows the lock icon in red. To unlock all tiles, shift-click any locked parameter. This makes it possible to use the Mutations dialog to explore variations of only a few parameters.
Function locking. It is possible to lock a tile's function assignment so that it is immune to mutation. To lock a tile so that its function will not be changed, lock all three parameter locks when the tile is selected. Even if the component has no parameters, all three locks must be locked to lock the tile.
Locking parameters and functions is a great way to explore ArtMatic systems. Parameter/function locking makes it possible to use mutations and the large die to explore subtle refinements. For example, you might have a system that uses a few tiles to provide the surface texture. You could lock all of the parameters and functions of the system except for the tiles that provide the texture and then use the big die or the Mutations window to discover new textures created by function mutation that affects only the few components that provide the texture.
Note: When parameters are locked, keyframe animation uses the last values assigned to the locked parameters when animating the system. As a result, any parameter changes stored between keyframes are ignored while the parameters are locked. The parameter changes are not lost however; they are just ignored. When the parameters are unlocked, any parameter changes stored in the keyframes will be honored during animation. Parameter locking is intended for refined mutation control and for investigating how a particular parameter affects the system.
Certain components uses an indexed gradient directly from the built-in gradients library like 13 Indexed Gradient . This gradient is displayed for editing when such a component's tile is selected and the button below may open the standard Gradient editing dialog if needed.
Certain components parameters sets a RGB color. This color pop up is available when such a component's tile is selected and can be use to edit the 3 RGB value at once. For example the 13 Set Constant tile sets a constant RGB color with its parameters.
This area is focused on Animation controls. It provides the Keyframes UI, the main timeline slider and various buttons to control keyframes. Keyframes stores not only all the current Tree parameters but also the current Canvas View Zoom and Position and the current Main Gradient. The animated sets of zoom and position stored in Keyframes constitute what we call the "camera path".
All components constituting the Tree can have its parameters animated as long as they are not locked. ArtMatic creates animation by changing the system's parameters over time morphing the values from keyframe to keyframe. Various modes of parameter interpolation are available : they can be chosen inside the Keyframes Parameters dialog. The default is using bezier curve to ensure a smooth interpolation.
Sound can be used to modulate ArtMatic animations when they are rendered, and a soundtrack can be added or generated (using the sound algorithm last used on the Sound page) when rendering. Audio modulation is a powerful technique to use for creating video for music videos and multimedia compositions. To modulate ArtMatic animation with audio, audio input must be routed from the Global Input Matrix into the Structure Tree. See the Global Input matrix section for more information about this topic.
Tip : Making global changes to all keyframes
Holding down the shift key when performing many operations applies the operation to all of the file's keyframes. (These operations include: gradient selection, zooming and scrolling the canvas, and changing parameter values.)
The Animation menu provides the following:
This is the main slider that controls global ArtMatic Designer time. The time flows from 0 to the given duration. You can use the time slider even when no keyframes are present when the ArtMatic tree is using one of the time global inputs.
You can click and drag on the time slider to preview the animation in non real time or simply click at a particular time to see a frame preview at that moment.
Keyframes store all tree's components current parameters values so they can be animated over time. They also store the current canvas view and the main gradient. The ArtMatic system's keyframes will be mapped in time so that all the keyframes play back over the course of the animation. When just 2 Keyframes are present the first represent the state of the system at time 0 and the second at time 1 (the end of the animation).
Keyframes are not limited to animation : they are often used to store interesting variations of the huge Parameter Space of ArtMatic Trees. Sliding the timeline will interpolate these parameters to let you discover more interesting points in the space of possibles.
Click on any empty slot to store a new keyframe from the current Tree parameters.
Click on a keyframe will select it. When selecting a keyframe the Tree parameters variables stored in the keyframe will be copied to the current Tree, with the exeption of parameters that were specifically LOCKED to not be animated. The time slider will also reflect the particular time position of the selected keyframe and send this time information to Voyager when the Voyager hot link toggle is ON. In Explore room it will hilit the published parameter envelop value if the parameter has an envelop. Then you can modify the keyframe parameter directly in the envelop as well as with the parameter slider. Altough you can edit the entire envelop it is safer to just move the hilited parameter to see the changes result.
Command-Click on a keyframe will replace it.
Option-Click on a keyframe will delete it.
Note : Keyframes thumbnails are not recomputed for every changes you can make so they may become misleading in certain cases. To force a full keyframe redraw you can lock/unlock any parameter.
Preview the current animation. The resolution adapts to the CPU load of the current Tree to keep fluidity of motion. Unlike in earlier versions the priority is given to frame rate to ensure at least 12 fps. Slow systems may playback very pixellated. The old small preview mode is gone but you can alteratively use the small animation preview provided by the Animation & Camera setup dialog that won't change the resolution.
Shortcut: Spacebar. Even without keyframes play will flow time so that time-sensitive or time connected components will be animated as well.
The watch icon is used to set the animation duration. Click and drag left or right to change the duration. Duration is displayed in MSF format (minutes, seconds, frames)
Delete the selected keyframe. Shortcut: option-click any keyframe to delete it.
Calculates a new keyframe that is halfway between the selected keyframe and the keyframe after it.
Add a new keyframe with the current Tree parameters. Shortcut: you can also click on the first blank keyframe to add a new keyframe.
Replaces selected keyframe with the current Tree parameters. You may also use command-click on a keyframe slot to perform the replacement.
This button echoes the File->Open command and will prompt you to locate an ArtMatic file (extension .artm).
This button echoes the File->Save command and will either directly save the current scene if the file already exists or prompt you to set a name to save the ArtMatic file.
Render the current scene fullscreen with Anti-Aliasing ON. Once the current image render is done you may animate the system using Space bar. The full screen animation preview is done at the preview resolution set in Preferences and won't be changed for slow systems. Frame rate may vary with the CPU load of the ArtMatic Tree. When the animation mode is set to "free run loop" or the global input matrix is set to audio input the fullscreen animation playback will loop forever. With fast ArtMatic Trees you can set the preview resolution to 1.
This button opens the Render Picture dialog that gather the settings to render image file(s).
Size pop up and size fields:
Common dimensions are provided by the Size pop up menu. The numeric fields accepts any entry up to 24000.
Over 15K size the rendering will be performed directly to disk and may take a while.
PNG 8 bit per channel,
PNG 16 bit per channel:
PNG is a lossless widespread format an is recommended. Use the 16 bit version for printing and high quality graphics. It will solve any banding or quantisation artefacts.
TIFF : Save the image in 8 bit per channel, TIFF format.
PDF : Save the image in 8 bit per channel, PDF format (.pdf).
JPG : Save the image in 8 bit per channel, jpeg format (.jpg). Note that jpg has no alpha channel. Use this for high compression Web application.
HeightMap 1025 16 bits,
HeightMap 2049 16 bits:
Save the image in RAW, 16 bit per channel gray scale image. This is suited to store terrain elevation in 1025 and 2049 square format for 3D applications like Unity 3D.
PNG HeightMap 16 bits:
16 bit per channel gray scale image of any size suited to store terrain elevation or high quality texture channel for bump mapping in 3D applications.
Render all keyframes (checkbox): When set ArtMatic will render one image for each stored keyframes. Keyframes can be used to store interesting variations of a given tree. In that case it may be quite useful to render the entire set instead of just the current image.
4 by 4 anti-aliasing:(checkbox)
Turn ON/OFF 16 samples 16 sample per pixel rendering mode. Use it to improve quality for fractals and systems with a lot of high-frequencies.
Click this button to set the image file path. By default the path is set to be in the same directory as the ArtMatic file. You don't have to set it for every save as it will remember the output directory. Note that no warning is given if you overwrite a file when saving without setting the path.
Click the Render Animation tool to render an animation. The file does not need keyframes to be animated. To stop a render, press the escape key.
Mode popup (movie or picture sequence)- The options are:
ArtMatic Engine 8 uses AVFundation to save animation in the .mov format. Possible codecs are :
H264 (no Alpha),
Apple ProRes 422 (no Alpha),
Apple ProRes 4444 (8 bit Alpha),
Apple ProRes 4444 (10 bit Alpha)
Apple ProRes 4444 will support alpha channels and the 10 bit version offers the best quality. H264 is more compressed and widely supported.
Note: Make sure you set the file path as no warning is given if you overwrite a .mov file.
List of Images (png),
List of Images (Tiff).
The "List" options render the movie frames as sequentially numbered image files (in either PNG for List of Pictures or TIFF for List of Tiff). Such sequences are recognized by most movie editing programs and by ArtMatic pict/movie inputs. Using image sequences is a good idea when performing a long render since nothing will be lost if the computer shuts down unexpectedly. (movies will likely be unplayable if the render is interrupted by anything else than escape key).
- The preset popup provides a list of common frame size/frame rate combinations. Choosing a preset cause the format and fps fields to be filled in with the appropriate values.
4 by 4 anti-aliasing:(checkbox)
Turn ON/OFF 16 samples per pixel rendering mode. Use it to improve quality for fractals, systems with a lot of high-frequencies or high contrast graphics with fine details. Rendering time will be multiplied by 4 with this option ON.
Note the default anti-aliasing is 2 by 2, that is, 4 samples per pixels.
Click this button to set the animation file path. By default the path is set to be in the same directory as the ArtMatic file. You don't have to set it for every save as it will remember the output directory. Note that no warning is given if you overwrite a file when saving without setting the path.
Available in Listen room this button will save the sound file produced by the current Tree. The file is AIFF and uses 44.1K for sampling rate.
Note that when rendering the sound to file the internal maths are more precise than in real time playback and the sound may slighly differs.
This button lets you turn ON and OFF the Hot link with ArtMatic Voyager. When hot link is ON, changes in parameters and Structure Tree will be communicated to Voyager through Apple Events. When Voyager recieves such an event it will pop up a floating preview of the 3D rendering.
It makes of course the design of terrains, textures and the construction of volumetric object much more friendly as you can see the 3D rendering interactively while adjusting parameters.
Transport time information is also transmitted when using the time slider or selecting a keyframe.
When the tree is structurally modified ArtMatic will send the new tree to Voyager using a temporary file so the original is preserved. Unless you save the file in ArtMatic or the voyager scene in Voyager you can always go back to the original.
Changes in artmatic globals like optional colors and the main gradient colors are not transmitted automatically. However they will be transmitted if you turn OFF and immedialty ON the hot link : when turning ON the entire file is send as explained above for structural changes.
- Using this feature along with published parameters changes of ArtMatic Tree within Voyager may lead to inconsistent situations. Make sure that if you use the Quick Edit ArtMatic params & shaders inspector and have changed the ArtMatic tree parameters inside Voyager to reload the file into ArtMatic again so that ArtMatic knows about the changes. Otherwise as soon as you modify the tree in ArtMatic it will undo the changes.
-If you use "save as" in Voyager that will de facto change the path of the ArtMatic file (ArtMatic files are stored within the Voyager bundle file) meaning the one opened in ArtMatic will no longer point to the right file location and still point to the original.
Again the solution is to reload the ArtMatic file into ArtMatic from Voyager after "save as" to make sure you edit the correct file.
If communication don't work as expected there are a number of thing to double-check :
-Is the Voyager hot link ON ?
-Is the current ArtMatic file pointing to the right one ? To be sure re-open the file from ArtMatic Voyager. Same thing if you have changed the file name in either softwares.
-Make sure ArtMatic and Voyager versions are compatible and the only one running. Use both CTX or 7.5/4.5 together and don't mix versions. If various versions are running simultaneously the OS may send the Apple Event to the wrong Application. -At last resort the OS Apple Events system is probably damaged and rebooting the computer usually fixes the problem.
Designer contains a library of components. Each a module you patch together in a structure tree. They all have a fixed number of inputs and outputs. When you click on a component in a "tree" a popup appears showing all the other components of the same Input/Output type. Click below for component descriptions: