JWildfire Coloring Types

JWildfire has numerous options for coloring your flames. Every point has an associated color. When a transformation maps a point to a new location, it also gives it a new color. Each transformation has a Coloring type, specified in the transform's Color tab. The default coloring types are suitable for most flames; the others provide alternatives to meet special needs.

NONE does not change the point's color; it will be the same as tne input point. This is the default for final transforms since using a different type would reduce the color range.

DIFFUSION is the standard flame coloring type invented by Scott Draves and used in all flame fractal programs such as Apophysis and Chaotica, and is the default for normal transforms. It is based on a gradient, which can be selected and edited in the Gradient tab, and uses an index to the gradient between 0 (leftmost color) and 1 (rightmost color) to set the flame colors. There are two controls: Color and Speed. Color specifies the target gradient index for the transform. On each iteration, the index for the point will move towards the target index. Speed controls how fast it moves; 0 will move the index halfway between the current and target indices. Higher values will move it less than halfway (more slowly); the highest value of 1 means it won't move at all; the color won't change. Negative Speed values will move it more than halfway (more quickly); the extreme of -1 means it moves all the way; the new color will be the gradient color matching the Color value.

TARGET ignores the gradient. The Color setting is a target color instead of a target gradient index. On each iteration, the point's color will be be interpolated between the current color and the target color. Speed works in the same way as DIFFUSION: 0 will make the color halfway between the current and target colors, 1 will not change the color, and -1 will set the color to the target color.

TARGETG is like TARGET, but uses the gradient to set the target color. So the target color will change when a new gradient is selected, but the color is more likely to be consistent with other gradient colors. The point's color is interpolated with the target color as with TARGET rather than moving along the gradient.

DISTANCE uses the gradient indexed by the distance the transform moved the point. Color determines the starting point and Speed controls how far along the gradient each unit of distance moves from there. Like other coloring types, Speed -1 sets the color to the specified color. But the input color is ignored, so unlike the other coloring types, Speed 1 will still change the color. DISTANCE is especially effective for coloring flames made with a single non-blur transform, which are otherwise quite difficult to color.

CYCLIC uses the gradient, but simply shifts the gradient index right the amount specified by Speed. If it goes off the end of the gradient, it wraps around to the other side. CYCLIC will not converge to a color when iterated, so doesn't work as the only coloring type in a flame; some other iterated transform needs to use DIFFUSION to get a stable color that CYCLIC can use as a starting point. Normally, Speed is set to m/n, where m and n are small integers; this makes the colors cycle through n gradient colors, and is especially useful for coloring tilings.


Some variations will set the color of the new point, so provide additional coloring options. There are two types.

Direct Color was one of the features added to Apophysis 7X by George Kiehne (xyrus02), and included in JWildfire. Direct Color variations set the gradient index directly, overriding the value computed by the DIFFUSION method. The coloring type for transforms that use Direct Color variations must be DIFFUSION since the other methods ignore the gradient index.

True Color (sometimes called RGB Color) variations set the actual color of the target point directly. These variations override the coloring type. But they don't set the gradient index, so other transforms using the default DIFFUSION coloring type will not preserve the colors. To do so, set the coloring type for the other transforms to NONE, TARGET, or TARGETG.