Incendia Script consists in a series of fractal transformations on where every transformation is a set of predefined commands with given parameters.
The scripts are defined in a text format and are saved with a ".prg" file extension. You can edit them in any text editor such as notepad.exe
Many of the fractals defined on Incendia can be exported as scripts, so they can provide an starting point for making modifications.
The general method for defining scripts consists in starting with transformation command "tform", with marks the start of a transformation set. Next to this definition is the "probability" command, that is used to defining a probability for the current transformation.
After defining these two main commands, the transformation commands are used, commands such as "scale", "translate" and "rotate", for example. The command definitions for the current transformation continues until another "tform" command is found, that defines the start of a new transformation. Heres an example of a simple script:
1. All commands must be in lowercase, uppercase or incomplete commands are ignored.
2. Every command has a finite number of parameters, if theres a missing commands or an erroneous parameter, the command is ignored.
3. If the ";" character is found on a line, the entire line will be ignored. This is for inserting comments on the scripts.
Affine Transformations Commands
These are some of the standard flame variations, most of them consist in simple functions with a weight factor that are added to the current iteration value.
In the case of the flame2 commands, they are a variation on the flame algorithm :
The Flame commands are:
These commands acts as filters for the transformation elements, allowing the execution of the rest of the commands if their conditional is true, or else, bailing out.
In the case of the baseshape command, if the selected baseshape is equal to the one defined by the command, the nexts commands on the transformation are executed. The index of the baseshapes are visible on the Baseshape editor.
The Boolean commands are:
These commands are for adding the baseshapes to the actual script.
Heres an example of a simple script:
The baseshape commands are: