Help documentation for Incendia 1.2


Operating Systems: INCENDIA has been tested in Windows XP Home and Pro, Vista and in Mac using Parallel Desktop and Wine.
The documentation of INCENDIA is divided in the various panels that it uses. These panels are:

The Fractal and Main Control Panel

This is INCENDIA main panel.

Pasted Graphic 4

The elements are:

The Fractal Selector Control

Pasted Graphic 5

Here you can select the fractal itself by clicking on the fractal name. Use the slider or the arrows in this control to move around the list of fractals. Once you select the fractal, a set of random parameters are assigned to the fractal, so it can appears in the view windows.


Information Panels

Pasted Graphic 6

These panels can give brief information about the selected fractal.
In the case of the top panel, the information is:

* The Fractal Name.
* Number of transformation used.
* Number of base shapes used.
* The selected resolution for the rendering.
* The 2XAA (AntiAliasing) option (visible only if it's enabled).


The Load and Save Parameters Buttons

Pasted Graphic 7

These buttons save and load a text file on which is defined the entire program parameters used in a given moment. The file extension used is “.par”.
The content of the buffers aren’t saved with these buttons.


The Load and Save Buffers Buttons

Pasted Graphic 8

These two buttons save all of the program parameters and buffers in a given moment.

The resolution used on the program defines the size of the resultant file. Mind that if you plan to save a big (8192×8192, for example) resolution fractal.

The file extension used is “.zb3” and the content of the file is binary.


The Save and Load Scripts Buttons

Script

These two buttons save works by saving and loading Incendia Scripts.

The Save Script button is visible in certain fractal types, allowing the user to export the selected fractal to an script. Incendia prompts for a filename and the script is saved with the ".prg" file extension. The script can be modified in any text program such as notepad.exe

The Load Script Button is only visible when the Incendia Script fractal is selected. With this button you can load any Incendia Script. For more information on the Scripts and their formats, looks at the Incendia Script section of the documentation.


The New Fractal Button

Pasted Graphic 9

Once you have selected a fractal type, you can play dice with the fractal parameters with this button. This produces a new fractal every time. Since the parameters are randomly (but not completely random, there are some rules that controls the shape of the fractal) selected, the previous one is completely erased.


The Preview and Draw Buttons

Pasted Graphic 10

These two buttons are mainly used for alternating between the actual fractal iterations (white points) and a fast preview of the fractal (shaded and textured).

Also, they can be used to lock and unlock the trackball controls of the camera and the zoom slider. When rendering, use the Preview button to see how the fractal develops.


Mouse Controls and the Preview Windows

Pasted Graphic 11

If you have selected the Draw Button, you can control the fractal with the mouse:

The Left Mouse Button controls the trackball rotation (you can restrict the trackball rotation axis with the rotation control).

The Right Mouse Button controls the panning around the fractal (this can be restricted to an specific axe, using the position control).

The Mouse Wheel controls the zoom factor. (if you don’t have a mouse wheel, you can use the zoom slider)

Once you get an interesting view, you can press the Preview Button:

Pasted Graphic 12

If you dont like the image, just adjust it with the mouse controls.
Note: This only works while the program isn’t rendering a fractal.


The Render, Stop and Continue Buttons

Pasted Graphic 13

These buttons start, stop and continue the renders process, they work in the following way:

The Render Button starts the rendering process, erasing all of the content of the buffers first. Mind that if you have a previous fractal in the buffers. The first time it just starts the render process since there’s nothing in the buffers. If you have stopped the rendering process and press again the Render button, it will show a warning message telling you that the previous content of the buffers will be erased.

Pasted Graphic 14

Answer “Yes” if you want to erase all or “No” if you don’t want to lose the previous content of the buffer.
Once the render process has started, this button disappears, and the Stop button becomes visible.

The Stop Button just stops the renders process. You can use it to interrupt all of the threads on the program that are rendering the fractal. By pressing this button, also it makes visible both Render and Continue Buttons.

The Continue Button works in the same way that the Render Button does, by starting the rendering process, but with the difference that it doesn’t erase the content of the buffers.

This is useful if you have stopped the fractal rendering process (for saving, an image for example) and want to continue. A word of warning: Since the Continue button didn’t erase the content of the buffers, if you stop the render process and rotate, zoom ,pan or change any parameter of the fractal, both new and old contents will be shown (you will get for example, double images).

An important note: By the pressing the Render or the Continue button, the preview panel will turn black. Use the Preview button to see the fractal while its being calculated).


The Render Wheel

Pasted Graphic 15

This is a green wheel that appears once the rendering process started (by pressing the Start or the Continue button). It begins to rotate while the fractal is being calculated. It disappears once you press the Stop button.


The View Controls

These are three controls, where zoom, rotation and pan are defined. These are:


Rotation Control

Pasted Graphic 16

Labelled “Rot”, this control has four options:* TBll, Free trackball rotation
* Xr, X axis rotation.
* Yr, Y axis rotation.
* Zr, Z axis rotation.

Use the left mouse button over the view window to make the desired rotations.


Position Control

Pasted Graphic 17

Labelled “Trans”, this control defines the position, of the fractal on the view window.
Its has four options:* XYt, Free X and Y translations.
* Xt, Translations only in the X axis.
* Yt, Translations only in the Y axis.
* Zt, Translations in the Z axis.

Use the left mouse button over the view window to make the desired translations.


The Zoom Control

Pasted Graphic 18

This control defines how much the fractal is zoomed in the view windows. It is a slider that you can move using the left mouse button. You can also zoom using the mouse wheel.


The Help and Quit buttons.

Pasted Graphic 19

The Help button for the moment brings you an online help (situated at www.incendia.net), and the Quit button just closes the program.

The Render Panel

The principal functionality of this panel is to define the shading options for the fractal renders.

Pasted Graphic 20

Material, Export and Clear Buttons

Material, Export and Clear Buttons

The Save Bitmap Button

Pasted Graphic 31

This button save the fractal to Bitmap (*.BMP) file. If you press it while the fractal is being rendered, the rendering process stops, and the program begins to save the file. The saving speed is determined by various factor, such as the resolution and the resampling quality. There’s a percent indicator in the lower right of the view panel that show you the progress of the save process. Once the file is saved, you can continue the render process by pressing the Continue button or start a new one by pressing the Render button.


The Save and Load Materials Buttons

Pasted Graphic 32

These buttons save and load the actual configuration of the materials, including the textures assigned to the material slots (by the name reference, not the actual texture data).


The Clear Fog Button

Pasted Graphic 33

This button clears the volumetric fog buffer. Use it if you want to restart the volumetric fog calculations.


The Clear Shadows Button

Pasted Graphic 34

This Button clears the shadow buffer. By clearing it you can get a shadowless scene. Once the rendering process continues, the shadow calculations also begins to fill the buffer.


Material Tabs

This Tab panel is divided in three control tabs:
*The Materials and Textures Tab, for defining the materials parameters.
*The Enviroment Tab, for changing and defining various enviroment parameters.
*The Shaders Tab, for setting diferent shaders effects to the final image.


The Materials and Textures Tab

Material Tab 1

This Tab has the following controls:

Ambient and Diffuse Texture Images

Pasted Graphic 24

These two images show the selected textures for both ambient and diffuse elements.
The top one is the Ambient element and the bottom one is the Diffuse element for the current material slot.
The explanation of these material elements are on the Material Parameters Panel.


The Material Selector

Pasted Graphic 21

This consists in a numeric display and two control arrows. The numeric display show the material slot where the ambient and diffuse textures are applied.
There are 10 material definition slots on Incendia, and these are used by the baseshapes.
In the case of a fractal that doesn’t use baseshapes, the material slot “0” is applied.


The Ambient and Diffuse Texture Buttons

Pasted Graphic 22

When you press these buttons, a texture panel appears:

Pasted Graphic 23

In this panel, you can select the texture that will be applied to the desired material component that you have selected (Ambient or Diffuse) for the current material slot.

The panel consists in a texture preview window, two navigation arrows in one side and five buttons ("Color", "Grad.", “Ext. Texture”, “Cancel” and “Ok”). Also, if there’s a previous selected texture, it will appears surrounded by a green lit square.

You can use the arrows to navigate in the texture library, and click on the desired texture to select it. Once that is done, you can press the “Ok” button to apply it to the selected material slot. If you don’t want to apply the texture, just press the Cancel button. Also, if you want to use a texture that doesn’t appears on the material editor, you can press the “Ext. Texture” button. This button opens a file panel and lets you navigate in your hard drive to get the desired texture.
A note on external textures: Incendia use BMP files (*.bmp), with are very common in Windows systems. In the next beta release I will add other file formats such as PNG and JPG.

Color Gradients appears in this panel labeled by a little "G"

Color Gradients

The Color Button is used for defining an specific color to the texture. if you select it a color selector panel will appear:

ColorPanel

The Gradient (grad.) Button is used for loading a Fractint color map file, that will be used for iluminating the surface of the fractal with the different colors of the map file. The program will prompt you for the Fractint map file and once it is loaded, the gradient will appear on the Ambient and Diffuse texture buttons, being the lower part the area less illuminated and the upper part, the most illuminated area:

Gradients

The Material Parameters Panel

Pasted Graphic 26
In this panel there are defined several parameters that controls the actual appearance of the materials.
Is important to note that the material parameters are exclusive for every texture slot, unlike previous Incendia versions on where they where applied to all slots.

They are defined as follow:

The Ambient, Diffuse and Specular elements.
These parameters controls the material surface properties, they are defined as follow:

The Ambient parameter controls how bright or dark the ambient texture will be. For example, if you set it to 0.5, the Ambient texture brightness will be half of the actual texture values. If you set it to 2.0, for example, the brightness will be twice of the original texture
This parameter isn’t affected by the light source, its defines the color of the surface of the fractal.

The Diffuse parameter works in the same way that the Ambient parameter, controlling how bright or dark the texture will be. This parameter is affected by the light source, being illuminated by it (or shadowed if the light source is blocked.

The Specular parameters controls the specular elements of the specular reflection. They are divided in:
Specular: This parameter controls how concentrated the specular reflection is. If you set it to lower values, the specular reflection will be diffused over the illuminated face of the fractal.
Specular Intensity: This controls the brightness of the specular element.

Fresnel Equation Parameters (Fresnel Ext., Fresnel Int.)
These parameters define the Fresnel coefficients (external reflection and internal refraction) for the surface of the fractal. The colors of the refracted and reflected light are taken from the skylight equations or a bitmap background.

The Shadow Depth parameter.
This parameter determines the darkness of the shadows. If you set it to 1.0, the shadows disappears.

The Reset Materials Button

Pasted Graphic 29

This button restore the default values in the material parameters panel for current slot.


The Materials and Textures Tab

Material Tab 2
This Tab has the following controls:

The Shading Options panel

Pasted Graphic 25

In this panel there are defined various shading options that INCENDIA uses.
These options are:

Enable Fog: Activates or deactivates the use of Fog in the render. By activating it, the Fog Color Control becomes visible. This fog isn’t affected by the illumination parameters of the fractal.

White Shader: Activates a Charcoal render style, made of grey random pixels. There are no colors in the render.

Black and White: Its like the Charcoal render, but instead of using grey shades, it uses only black pixel over a white background.

Volumetric Fog: Activates the calculation of the Volumetric Fog (do not confuse it with the standard fog, This fog is affected by the light that illuminates the fractal, being shadowed if the fractal blocks the light over it.

Background: Activates the use of the background either using skylight equations or a simple bitmap file.
When this option is selected, the following control appears:

Background Control
The Skylight Background: This background follows the light position around the fractal and generates realistic sunrises and sunsets. The calculation of the skylight colors are based on the “A Practical Analytic Model for Daylight” paper, located at http://www.cs.utah.edu/vissim/papers/sunsky/

Skylight Background

The Bitmap Background: This option let you use a simple bitmap for a background. Use the load button for loading the image.

Bitmap Background

Fresnel Eq.: This enables the Fresnel equations for the surface of the fractal, creating the effect of a cristalized image. The colors are taken from the background (skylight or bitmap), and they are added to the current material (texture, gradient or color) value.

Drawing: This option select an special drawing mode, that consist in three drawing types. When you select it, a control will become visible:

Drawing Type

The Standard Drawing: This option tries to mimic a drawing on a paper..

Standard Drawing

Radial Gradient: This option uses slope of a gradient. You can change the gradient values from greyscale to an specific gradient by loading it in the Ambient section of the material definition.

Radial Gradient

Angular Gradient: This option defines the color of the gradient by looking at the angle of the slope in the fractal surface. You can change the gradient values from greyscale to an specific gradient by loading it in the Ambient section of the material definition.

Angular Gradient


The Standard Fog Color control

Fog Control

This control is only visible if fog is enabled, and consists in three (Red, Green and Blue) bars that you can use for defining the the actual color of the fog.


The Enviroment Controls

Enviroment

The Enviroment Control let you change many of the enviroment parameters. This control has the following options:

Fog Parameters (“Fog P. A” and “Fog P. B” )
These fog parameters define how dense and the spread of the fog.
Fog P. A: Fog density, lower the value, higher the density of the fog
Fog P. B: Starting position of the fog, or how much it spreads. At higher values, the fog spread more. (needs revisions) .
The Fog color is defined in the Fog Color control.

Sun Turbidity (Sun T.)
This parameter determines the amount of dust in the air for the skylight atmospheric calculations. The effect is to redden the atmosphere at higher values.

Volumetric Fog color components
These three parameters controls the Red, Green and Blue elements of the volumetric fog. If the values are positive, the fog color is added to the image, by the contrary, if they are negative, the fog will be subtracted from the image . A good example of this is in the following images:

Light Volumetric Fog

Pasted Graphic 27

Dark Volumetric Fog

Pasted Graphic 28


The Reset Enviroment Parameters Button

Pasted Graphic 29

This button restore the default values in the enviroment parameters.


The Shaders Tab

Material Tab 3

This Tab has the following controls:

The Ligth Distribution control

Light Distribution

Defines how the Diffuse light will be mapped over the surface of the fractal.
The options are:
*Standard: The distribution of the diffuse light is calculated in the standard way.
*Sine Stripes: The distribution of the diffuse light is perturbed by a sine wave.
*Cosine Stripes: The distribution of the diffuse light is perturbed by a cosine wave.
*Exponential: The light intensity is calculated by using an exponential function
*Random: The light intensity is perturbed by an small random value
*Interference: The distribution of the diffuse light calculated by an interference pattern.
*Soft Light: The light intensity is evenly distributed over the surface of the fractal.


Standard Sine Cosine Exponential Random Interference Soft Light


The Surface Average Filter control

Surface Average

These averaging filters are used for smoothing the noise over the fractal surface.
The options are:
*No Average: No averaging is calculated for the surface.
*Median: The surface is averaged by a Median filter.
*Mean: The surface is averaged by using a Mean filter.
*Mid Range: The Mid Range filter is applied to the surface.
*Sobel: The Sobel gradient filter is used for averaging the surface.


Standard Sine Cosine Exponential Random


TheAmbient Occlusion Shader

Ambient Occlusion

This control enables or disables two variations of the Ambient Occlusion shader.
These variations are:

Per Pixel Ambient Occlusion: Calculates the ambient occlusion for every pixel. When this option is selected, the ambient occlusion control becomes visible,

Ambient Occlusion Control

The parameters are:
Samples: Number of samples tested for every pixel. Larger the number, slower the calculation, but more precise.
Radius: Maximun distance (in pixels) from the selected pixel that a sample could reach.
Per Pixel calculation of ambient occlusion is slow, specially on large fractal scenes, but it increased the 3D perception of the fractal surface.


Averaged Ambient Occlusion: Calculates the ambient occlusion from an scaled down rendering of the scene. When this option is selected, the ambient occlusion control becomes visible,

Ambient Occlusion Control

The parameters are:
Samples: Number of samples tested for every pixel. Larger the number, slower the calculation, but more precise.
Radius: Maximun distance (in pixels) from the selected pixel that a sample could reach.
This version of the shader is faster than the previous one, but has the drawback of the low resolution used (512x512). The calculation starts when the program begins to save a bitmap.

No Ambient Occlusion Per Pixel Ambient Occlusion Averaged Ambient Occlusion Averaged and Per Pixel Ambient Occlusion





The Camera and Light Source panel

In this panel there are the basic projection, resolution and light direction controls.

Pasted Graphic 36

The controls are:

The Resolution Control

Pasted Graphic 37

This control defines the fractal resolution in pixels. You can select the resolution and apply it by pressing the Change button. The 2XAA option is for AntiAliasing. When this option is active, Incendia internally doubles the current resolution and scale it down when the user request to save the image. The overhall effect of this is in the quality of the image, since it becomes smoother.


The Light Direction Control

Pasted Graphic 38

This control consists in a central green ball and a small golden ball. You can move the golden ball by using the left mouse button (even behind the green ball), and it defines the light direction vector.

Since this vector is used to calculate the shadows on the fractal, move it before starting the fractal calculation, because if you move it while the fractal is being calculated, the shadows will look incorrect.

This control also defines the position of the sun if you have enabled the Skylight option in the render panel.
Hint: Move it behind the green ball, near the middle and enable the Skylight option if you want to get a sunset background.


The Projection Selector

Pasted Graphic 39

This selector is used to define the type of projection that the virtual camera will use.

The values are: Orthographic Projection and Perspective Projection

When this projection is selected, a perspective aperture control becomes visible. Use it to define the aperture of the virtual camera. (Needs to fix this, cameras doesn’t have negative apertures :| )


The Shadow selector:

Shadow Selector

This selector enables or disables the shadow calculation for the current image.
Since shadow calculations are slowdowns the image generation, you can disable the shadow generation while rendering and once its is finished, you can start the shadow calculation (use the CONTINUE button instead of the RENDER button, because the last one will clear the display).


The Cycles selector:

Pasted Graphic 40

This selector is used to define how many iteration cycles (in thousands) are calculated in every render loop. This is mainly used to define how many cpu cycles Incendia will use. For example, if you set it to 32, Incendia will not use too much cpu cycles and it doesn’t have too much impact on the overall computer environment. Set it to 256 and you will notice that the computer will concentrate all of the cpu cycles in the rendering process. The effect of this is an slowness in the controls and in any other program that is running on the computer. Use this when you want to leave the machine alone rendering fractals.


The Camera Reset buttons

Pasted Graphic 41

These buttons are used to reset the fractal position, rotations and scaling.

- The Reset Position button: centers the fractal on the view window.
- The Reset Rotation button: cancels any rotation that was applied to the fractal.
- The Rescale button: Cancels any scaling applied to the fractal.


The Grid Selector

Pasted Graphic 42

This control let you chose between four types of grids in the preview window

(IMPORTANT: these grids are only guides, the doesn’t affect the image renders)

They are:


None
No grid is show.

Cross
A green cross that divides the view panel in four areas and marks the center of it.

Thirds
It divides the the view panel in thirds. If you want to create some artistic fractals, center the most important part of the composition in one of the four crosses that appears when the lines cross.

Divine 1
Divides the plane with a golden mean (divine) proportion for the square panel. Once again, try to center the most important part of your composition in one of the four crosses.

Divine 2
Just like the previous option, but this time the sides of the composition follows the golden mean.

The Baseshape Editor Panel

This panel controls the baseshape operations

Pasted Graphic 43

The elements are:

The Edit Control

Pasted Graphic 44

This control opens and closes the baseshape editor.
It also, changes the view windows from the standard point based render, to a vector representation of the fractal elements.


The Open Button

Pasted Graphic 45

This button opens all of the elements of the editor. Works only if there are baseshapes.


The New and Delete Buttons

Pasted Graphic 46

These buttons creates and remove baseshapes.


The New Button opens the baseshape selector and once a baseshape is selected, it opens the parameter controls.

The Delete Button deletes the current baseshape.


The Baseshape Browser Arrows

Pasted Graphic 47

These two arrows let you to move into the baseshape list.
In the View Windows, the selected baseshape are in red, while the unselected ones are green.


The Selected Baseshape Label

Pasted Graphic 48

This label shows the number of the current baseshape.


The Append, Load and Save Buttons

Pasted Graphic 49

These buttons are used for saving, restoring and appending baseshapes from a file.

The Save Button Saves the baseshapes to a file.

The Load Button Imports baseshapes from a file, replacing current ones.

The Append Button Appends baseshapes to the current ones from a file.


The Baseshape Selector

Pasted Graphic 50

This control let you to choose the baseshape, by clicking on the baseshape image. You can use the arrows (situated on the right side of the control) to move around the baseshape list.
Once the baseshape is selected, the Baseshape Parameters Control will be visible.


The Baseshape Parameter Control

Pasted Graphic 51

This Control determines the baseshape iteration depth, size and many other parameters that baseshapes requires. they are:

Depth: This parameter determines how many fractal iteration are calculated for the baseshape. If you set it to 1, no fractal iterations are calculated.

Radius: This parameter determines the actual size of the baseshape.

P1..P13: These are baseshape specific parameters. They are different in every baseshapes (for example, in the Torus, P1, determines the size of the torus inner circle). You can use the Tab control to move around the different parameter sets.

The Random Button: Randomizes the parameters of the current baseshape (not works in all baseshapes).


The Show Baseshape Option

Pasted Graphic 52

This option allow to show or hide the un-iterated baseshape. This come handy in fractals like the quaternion julia set, because the original baseshape can be bigger than the iterated ones, effectively hiding them.
This is an example of the effect of this option:

Pasted Graphic 53

The show baseshape option turned off and on.


The Baseshape Scaling, Rotation and Shear Controls


The Scale Control

Pasted Graphic 54

This control let you change the scaling of the baseshape in X, y and Z direction (Don’t confuse it with the radius parameter, that gives an uniform scaling).


The Shear Control

Pasted Graphic 55

This control let you shear the baseshape in many directions.


The Rotation control

Pasted Graphic 56

This control uses a small trackball to determine the rotation of the baseshape. Theres a little selector on the left side of the control that you can use to restrict the rotation. The options are:

T, Full trackball rotation.

X, Rotation restricted in the X axis.

Y, Rotation restricted in the Y axis.

Z, Rotation restricted in the Z axis.

0, Resets the rotation of the baseshape.

The Panel and View Window Selectors
These selectors determine how are rendered the viewports and the controls of them in the View Windows. They are:

The Panel Selector

Pasted Graphic 57

This selector alternates between the vector representation of the elements of the scene, and the actual camera itself. The options are:

Vector, The Standard editor representation.

Points, A real time view of the fractal. Use it if you want to fine tune the baseshape parameters.
Note: The mouse controls of the Vector representation remains in this view mode.


The View Window Selector

Pasted Graphic 58

This selector let you chosse between four types of viewports:

Camera: The actual camera angle, you can rotate and pan the camera (using the mouse buttons). The baseshape and viewport movements are restricted to the (X,Z) plane.

Front: This is a front viewport (+Z). Here you can use the right mouse button to change the baseshape position in the (X,Y) plane. The left mouse button let you pan over the plane, and the zoom slider let you zoom in it.

Left: In this vieport (-X), you can control the movement of the baseshape in the (Y,Z) plane with the right mouse button. The left mouse button let you pan over the plane, and the zoom slider let you zoom in it.

Top: In this vieport (+Y), you can control the movement of the baseshape in the (X,Z) plane with the right mouse button. The left mouse button let you pan over the plane, and the zoom slider let you zoom in it.


The Control Selector

Pasted Graphic 59

This selector is mainly used to control how the left mouse button operates in the Camera viewport. The options are:

Rotate, left mouse button will rotate the camera.

Pan, the left mouse button, will be used to pan around the scene.


The Material Selector

Pasted Graphic 60

This selector assigns a material slot to the current baseshape. Use it when you want to render multiple baseshapes with various materials.


The Editor Window

Pasted Graphic 61

The Baseshape Editor Window shows the following elements:

The Selected Baseshape: This is a vector representation of the actual baseshape, every change in the editor are reflected on this representation. This element has a red color.

Unselected Baseshapes: This is a vector representation of the various baseshapes that are in the scene. These elements has a green color.

Transformations: The Transformations aren’t used in this editor, but they appears here as 3 dotted circles centered on the transformation axes. These elements has a blue color.

The Scene Center: This element points to the center of the scene (camera rotations happens around this point), and its represented as a green cube.

Iterations Points: These points are the actual iteration of the whole fractal components (baseshapes and transformations). They are white colored and serve as a guide for editing the elements.


Displacement Mapping Baseshapes

Displacement Maps

The Displacement Mapping Baseshapes (dmaps), are an special case of baseshapes, that uses bitmap files as a displacement maps. These baseshapes are colored in gold instead of green.
They are six and when one is selected, a button labeled "Load DMap" becomes visible
This button let you load a bitmap. This bitmap is converted on a heightmap (by selecting the highest value for every RGB point), and its mapped over the surface of the baseshape. If the value of a pixel is black (0,0,0 in RGB), the pixel is considered transparent, and this is mapped into the heightmap as a hole.
The six baseshapes are:

Displacement Plane (DPlane)

Displacement Maps

This is the simplest displacement map baseshape, consists basically in a small square plane with a dmap extrusion in one side (the other remains flat).

Dual Displacement Plane (DDPlane)

Displacement Maps

This is the second displacement map plane baseshape, works in the same way than the first one, but unlike, the first, the dmap extrusion goes to both sides.

Displacement Column (DColumn)

Displacement Maps

This is a column dmap. In this case, the dmap is repeated four times in the x direction over the column surface.

Displacement Cylinder (DCylinder)

Displacement Maps

This dmap looks like the previous one, but the mapping happens at the cylinder radius, extruding in both inward and outward directions from the cylinder center.

Displacement Disc (DDisc)

Displacement Maps

On this displacement baseshape, the dmap is mapped into the surface of a disc, extruding in both upward and downward directions.

Displacement Cylinder SQ(DCylinderSQ)

Displacement Maps

Works in the same way that the DCylinder baseshape works, but instead of defining a circular cylinder, this in a square fashion.


The Transformation Editor

This panel controls the baseshape operations

Pasted Graphic 62

The elements are:


The Edit Control

Pasted Graphic 63

This control opens and closes the Tranformation editor.
It also, changes the view windows from the standard point based render, to a vector representation of the fractal elements.


The New and Delete Buttons

Pasted Graphic 64

These buttons creates and remove transformations.

The New Button generates a new transformations.

The Delete Button deletes the current transformation.


The Transformation Browser Arrows

Pasted Graphic 65

These two arrows let you to move into the transformation list.
In the View Windows, the selected transformation are in yellow, while the unselected ones are blue.


The Save and Load Buttons

Pasted Graphic 66

These buttons saves and load the current set of tranformations to a file.

The Save Button Saves the set of tranformations to a file.

The Load Button Load a set of tranformations from a file (it changes the current fractal type if the transformations are from a different fractal).


The Selected Transformation Label

Pasted Graphic 67

This label shows the number of the current transformation.


The Flame Variations Control

Pasted Graphic 68

This controls is only useable when you have selected the Flame Fractal type.
You can use the selectors (located in the left side of the panel) to activate the variations. Also, you can use the right side sliders to change the variations weights (negative weights are allowed, and they give interesting results).
As for the moment, only 10 variations are supported, in next beta releases, this number will be increased.


The Transformation Scaling, Rotation and Shear Controls

The Scale Control

Pasted Graphic 69

This control let you change the scaling of the transformation in X, y and Z direction. The Uniform option let you scale uniformly along the three axes.


The Shear Control

Pasted Graphic 70

This control let you shear the transformations in many directions.


The Rotation control

Pasted Graphic 71

This control uses a small trackball to determine the rotation of the transformation. Theres a little selector on the left side of the control that you can use to restrict the rotation. The options are:

T, Full trackball rotation.

X, Rotation restricted in the X axis.

Y, Rotation restricted in the Y axis.

Z, Rotation restricted in the Z axis.

0, Resets the rotation of the transformation.


The Weight Controls

Pasted Graphic 72

These controls are used to manipulate the weights of every transformation, ther are:

The Weight Parameter Control
This slider is used to control the actual weight of the transformation. Note: The sum of all weights must be 1.0

The Normalize Button
Since the sum of all transformations must be 1.0, this control sums the weights of all transformations and divides it by the result. This scales down the weights and causes that the sum of all will become 1.0

The Equalize Button
This button divides 1.0 by the number of transformations. This cause that every transformation has the same weight value.

The Panel and View Window Selectors
These selectors determine how are rendered the viewports and the controls of them in the View Windows. They are:

The Panel Selector

Pasted Graphic 73

This selector alternates between the vector representation of the elements of the scene, and the actual camera itself. The options are:

Vector, The Standard editor representation.

Points, A real time view of the fractal. Use it if you want to fine tune the transformation parameters (specially useful for variations).
Note: The mouse controls of the Vector representation remains in this view mode.


The View Window Selector

Pasted Graphic 74

This selector let you chosse between four types of viewports:

Camera: The actual camera angle, you can rotate and pan the camera (using the mouse buttons). The transformation and viewport movements are restricted to the (X,Z) plane.

Front: This is a front viewport (+Z). Here you can use the right mouse button to change the transformation position in the (X,Y) plane. The left mouse button let you pan over the plane, and the zoom slider let you zoom in it.

Left: In this vieport (-X), you can control the movement of the baseshape in the (Y,Z) plane with the right mouse button. The left mouse button let you pan over the plane, and the zoom slider let you zoom in it.

Top: In this vieport (+Y), you can control the movement of the baseshape in the (X,Z) plane with the right mouse button. The left mouse button let you pan over the plane, and the zoom slider let you zoom in it.


The Control Selector

Pasted Graphic 75

This selector is mainly used to control how the left mouse button operates in the Camera viewport. The options are:

Rotate, left mouse button will rotate the camera.

Pan, the left mouse button, will be used to pan around the scene.


The Editor Window

Pasted Graphic 76

The Transformation Editor Window shows the following elements:

The Selected Transformation: In INCENDIA, the transformations are represented as Dotted Circles. While this representation is clear for showing parameters like rotation, scaling and shear, it will fails on variations. I’m still deciding if this will remains. In the case of the selected transformation, it is colored in bright Yellow.

Unselected Transformations: The unselected transformations are colored in Blue.

Baseshapes: The Baseshapes aren’t used in this editor, but they appears here colored in Green.

The Scene Center: This element points to the center of the scene (camera rotations happens around this point), and its represented as a green cube.

Iterations Preview Points: These points are the actual iteration of the whole fractal components (baseshapes and transformations). They are White colored and serve as a guide for editing the elements.

Incendia Script

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:


;This script defines a simple sierpinski tetrahedron, composed of four transformations.
tform
probability 0.5
scale 0.5 0.5 0.5

tform
probability 0.5
scale 0.5 0.5 0.5
translate 1 0 0

tform
probability 0.5
scale 0.5 0.5 0.5
translate 0 1 0

tform
probability 0.5
scale 0.5 0.5 0.5
translate 0 0 1



Rules:
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 erroneus 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.

General Commands
tform
probability

Affine Transformations Commands
scale
translate
rotate
rotate_rnd
matrix_3d
matrix_2d

Transformation Commands
sphere_inv
fn_sphere
fn_stereo
hyper_sphere
mobius
mobius_circle

Fractal Commands
julia_2
julia_2z
julia_2m
julia_3

Flame Commands
These are some of the starndard 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:
flame_sinusoidal
flame_spherical
flame_swirl3d
flame_hyper
flame_fisheye
flame_horns
flame_radsin
flame_qsqrt
flame_gnarl
flame2_sinusoidal
flame2_spherical
flame2_swirl3d
flame2_hyper
flame2_fisheye
flame2_horns
flame2_radsin
flame2_qsqrt
flame2_gnarl

Conditional Commands
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:
baseshape
bool_sphere
bool_cube
bool_gyroid

tform
defines a new transformation
all commands are assigned to that trasformation until a new tform is found

probability    p
sets the probability for the current transformation.
Since the sum of probabilities are normalized, theres no problem if the value is greater than 1.
Example:
probability 0.5

scale    sx  sy  sz
Performs scaling in the X,Y, Z axis
sx, scale in the x axis
sz, scale in the z axis
sy, scale in the y axis
Example:
scale  0.5  0.5  0.5

translate    x  y  z
Performs a translation to (x,y,z)
Example:
translate 1.0 -1.0 1.0

rotate    angle  vx  vy  vz
Performs a 3d quaternionic rotation pointing toward the vector (vx, vy, vz)
parameters:
angle, angle in degrees
vx,vy,vz, direction of the vector
Example:
rotate  45  0  1  0

rotate_rnd    angle  vx  vy  vz
Performs a random 3d quaternionic rotation pointing toward the vector (vx,vy,vz)
parameters:
angle, angle in degrees (randomized)
vx,vy,vz, direction of the vector
Example:
rotate_rnd   90  0.0  1.0  0.0 

matrix_3d    a  b  c  d  e  f  g  h  i 
Performs a 3D affine transformation from the matrix:

 
a b c
d e f
g h i
 


parameters:
a b c d e f g h i, matrix elements
Example:
matrix_3d 0.5  0.0  0.0  0.0  0.5  0.0  0.0  0.0  0.5

matrix_2d    a  b  c  d
Performs a 2D affine transformation from the matrix:

 
a b
c d
 


in the (X,Z) plane
parameters:
a b c d, matrix elements
Example:
matrix_2d 0.307602 -0.039045 0.036243 0.306079

sphere_inv    radius  x  y  z 
Calculates an sphere inversion
parameters:
radius, sphere radius
x,y,z, coordinates of the center of the sphere
Example:
sphere_inv 0.5 0.0 0.0 0.0

fn_sphere    radius
Spherified the point with a given radius
parameters:
radius, radius of the sphere

fn_stereo   sx  sz  sy
Maps the 3d space into an stereosphere with sy extrusion
parameters:
sx, scale in the x axis
sz, scale in the z axis
sy, scale in the y axis

hyper_sphere   radius
Performs an hypersphere variation.
parameters:
radius, size of the hypersphere

mobius   Ar  Ai  Br  Bi  Cr  Ci  Dr  Di
Calculates a mobius transformation in the (x,z) plane from the matrix in the form

z*a+b
z*c+d


parameters:
Ar, real part of a
Ai, imaginary part of a
Br, real part of b
Bi, imaginary part of b
Cr, real part of c
Ci, imaginary part of c
Dr, real part of d
Di, imaginary part of d

mobius_circle    radius  cx  cz  mr  mi
Calculates a mobius transformation from the matrix in the form

z*a+b
z*c+d


from a circle of radius r, centered at (cx,cz), with a complex variable m
parameters:
Example script:


;This script defines a set of five mobius transformation.
tform
probability 0.2500
mobius_circle 0.707107 0.0 1.0 1 0

tform
probability 0.2500
mobius_circle 0.707107 0.0 -1.0 1 0

tform
probability 0.2500
mobius_circle 0.707107 1.0 0.0 1 0

tform
probability 0.2500
mobius_circle 0.707107 -1.0 0.0 1 0

tform
probability 0.2500
;change the last parameter from 0.0 to 0.1 to get some spirals
mobius_circle 0.292893 0.0 0.0 1.0 0.0


julia_2    cr  ci
calculates an inverse julia set on the x,z plane, the equation is:

(z - c)

parameters:
cr, real part of the julia constant
ci, imaginary part of the julia constant

julia_2z    cr  ci
Calculates an inverse julia set on the x,z plane and also computes the y height.
parameters:
cr, real part of the julia constant
ci, imaginary part of the julia constant

julia_2m    cr  ci  dr  di
calculates an inverse julia set for:

(z - c)
(z - d)

on the x,z plane
parameters:
cr, real part of the julia constant
ci, imaginary part of the julia constant
dr, real part of the julia constant
di, imaginary part of the julia constant

julia_3    cr  ci
calculates the cubic inverse julia set on the x,z plane

3(z - c)

parameters:
cr, real part of the julia constant
ci, imaginary part of the julia constant

flame_sinusoidal    weight  mx  my  mz
3D Sinusoidal flame variation
parameters:
weight, flame2 weight
mx,my,mz, flame multipliers

flame_spherical    weight
3D Spherical flame variation
parameters:
weight, flame2 weight

flame_spherical    weight
3D Spherical flame variation
parameters:
weight, flame2 weight

flame_swirl3d    weight
3D Swirl flame2 variation
parameters:
weight, flame weight

flame_hyper    weight
3D Hyperbolic flame2 variation
parameters:
weight, flame weight

flame_fisheye    weight
3D FishEye flame2 variation
parameters:
weight, flame weight

flame_horns    weight
3D Horns flame2 variation
parameters:
weight, flame weight

flame_radsin    weight  mx  my  mz
3D Radial-Sinusoidal flame2 variation
parameters:
weight, flame weight
mx,my,mz, flame multipliers

flame_qsqrt    weight
Quaternionic flame2 variation
parameters:
weight, flame weight

The Flame2 algorithm: In the standard flame algorithm, the flames functions are calculated by the values of the actual iteration and they are added to a new (weighted) value.
In the case of the flame2 algorithms, after the calculation of the first flame function (a linear transformation), the subsecuent flame functions are incrementaly calculated by the solution of the previous one. Then, they are weighted and added to the previous value.
This is a more mathematical representation:

The standard flame algorithm with a sinusoidal variation
Xn=weight1*(a*x+b*y+e)+weight2*sin(x);
Yn=weight1*(c*x+d*y+f)+weight2*sin(y);

The Flame2 version:
Xn=weight1*(a*x+b*y+e);
Yn=weight1*(c*x+d*y+f);
Xn=Xn+weight2*sin(Xn);
Yn=Yn+weight2*sin(Yn);

flame2_sinusoidal    weight  mx  my  mz
3D Sinusoidal flame2 variation
parameters:
weight, flame weight
mx,my,mz, flame multipliers

flame2_spherical    weight
3D Spherical flame2 variation
parameters:
weight, flame weight

flame2_spherical    weight
3D Spherical flame2 variation
parameters:
weight, flame weight

flame2_swirl3d    weight
3D Swirl flame2 variation
parameters:
weight, flame weight

flame2_hyper    weight
3D Hyperbolic flame2 variation
parameters:
weight, flame weight

flame2_fisheye    weight
3D FishEye flame2 variation
parameters:
weight, flame weight

flame2_horns    weight
3D Horns flame2 variation
parameters:
weight, flame weight

flame2_radsin    weight  mx  my  mz
3D Radial-Sinusoidal flame2 variation
parameters:
weight, flame weight
mx,my,mz, flame multipliers

flame2_qsqrt    weight
Quaternionic flame2 variation
parameters:
weight, flame weight

baseshape   id
If the selected baseshape index is equal to id, the commands that are below the declaration are executed.
This is intended for creating different fractal transformations for every baseshape.
parameters:
id, index of the baseshape

bool_sphere   x  y  z  radius  (inside/outside)
Check if the current iteration point is inside or outside of an sphere centered at x,y,z with the defined radius
parameters:
radius, radius of the test sphere
x,y,z, center of the test sphere
inside/outside, defines if the commands below this one are executed (if current iteration value is inside or outside)
Example script:


;Incendia Script 1.0
;An effect of the bool_sphere command
;the last parameter determines how the boolean operation is performed:
;inside: if the iterations falls inside of the sphere, the commands are executed
;outside: if the iterations falls outside of the sphere. the commands are executed
;remove the whole command to get a simple fractal rectangle
;

tform
probability 0.5000
scale 0.5 0.5 0.5
bool_sphere 0 0 0 1 inside
translate 1 1 0

tform
probability 0.5000
scale 0.5 0.5 0.5
translate -1 -1 0

tform
probability 0.5000
scale 0.5 0.5 0.5
translate 1 -1 0

tform
probability 0.5000
scale 0.5 0.5 0.5
translate -1 1 0


bool_cube   x  y  z  side   (inside/outside)
Check if the current iteration point is inside or outside of an cube centered at x,y,z with a size of side.
parameters:
side, side diameter of the test cube
x,y,z, center of the test cube
inside/outside, defines if the commands below this one are executed (if current iteration value is inside or outside)

bool_gyroid   side  fx  fy  fz  (negative/positive)
Check if the current iteration point is in the negative or positive section of the gyroid labyrinth with frecuencies fx,fy,fz..
parameters:
fx,fy,fz, gyroid frecuencies in x, y and z
negative/positive, position filter inside of the gyroid
For more information about gyroids, follow this Wikipedia link:Gyroid