XenoDream X makes objects from building blocks called holons. Holons have several types:
When you add a constructor, the constructors toolbar appears, with icons for each constructor shape. Most are procedurally defined in code, and there are also constructors to open a mesh or point cloud file.
Each constructor has up to 12 parameters to define the shape, allowing for many variations.
Here are six variations of the Cube constructor and six variations of other constructors (shown in grey to illustrate the shapes.)
Each holon can be modified by combinations of metamorphs, which mutate the shape in simple or complex ways. Metamorphs can do many things: make copies in various arrangements; cut holes or patterns; displace in various ways; make Julia, Kleinian, Quaternion or circle limit fractals, and more.
Examples of a constructor with a Copier metamorph. |
Examples of a constructor with various other metamorphs. |
Examples of a constructor with a Cutter metamorph. |
Holons can have up to six metamorphs, which can be connected in several ways (serial, parallel, drive, bypass, or alt UVW to drive coloring) and be modulated by earlier metamorphs. Metamorphs have up to 12 parameters, and their own transforms. Metamorph presets allow saving useful or favorite settings. |
Iterator holons allow replication. One iterator with a constructor makes copies in a line or spiral. Two or more iterators with a constructor make copies in a fractal shape. Two or more iterators alone make a pure fractal shape, by iterating each other. Holons can limit the number of iterations, hide one or more initial iterations, or opt out of iteration.
A single iterator with a metamorph in the Fractal category can make a fractal by itself. When iterated, Fractal metamorphs do internal branching into fractal patterns depending on the formula used. Constructors can be added too.
Group holons allow for independent structures in a scene, by limiting iteration to within each group. Groups can be nested, allowing structures to be iterated within other structures. Groups can also have metamorphs to modify whole structures. The Structure panel shows a tree view of the holons and their metamorphs, and you can drag and drop holons between groups. A top level holon must be a group, so it is convenient to add objects from parameter files. In the scene below, the trees and table are in their own groups.
Objects have intrinsic coloring from the holons. The color can be mixed from up to three sources, mostly from metamorphs. Iterators can inherit the pattern and/or gradient from other holons, override it, or a mixture, and shift each iteration. This allows the coloring to follow the holon shapes in many different ways. For rendering images, the materials can use holon coloring or override it with textures.