To help you understand the way Ultra Fractal executes the various sections in all formula types, here is an overview of the execution sequence per pixel, written in pseudo-code similar to the formula language.
Before calculating the image, the global sections are executed:
for each transformation execute global section of transformation execute global section of fractal formula execute global section of inside coloring algorithm execute global section of outside coloring algorithm
Then, for each pixel, the following calculations are performed:
for each transformation
#solid = false
execute transform section of transformation
if #solid == true
stop and give pixel the solid mapping color
endfor
execute init section of fractal formula
execute init section of inside coloring algorithm (if it exists)
execute init section of outside coloring algorithm (if it exists)
int iter = 0
repeat
execute loop section of fractal formula
bool b = the expression in the bailout section of the fractal formula
if b == true
; not yet bailed out
execute loop section of inside coloring algorithm (if it exists)
execute loop section of outside coloring algorithm (if it exists)
endif
iter = iter + 1
until (b == false) || (iter == #maxiter)
#numiter = iter
if #numiter == #maxiter
; pixel is inside
execute final section of the inside coloring algorithm
else
; pixel is outside
execute final section of the outside coloring algorithm
endif
color the pixel
Next: Invalid operations
See Also
Writing transformations
Writing fractal formulas
Writing coloring algorithms
Global sections