Styrofoam IFS - Basics

Why another fractal program?

XenoDream which is the only program I know of that is exploring 3D IFS fractals using the chaos game was not really what I was looking for. Primarily I was missing an easy way to do arbitrary rotations to a transform.
So this is my take at creating that program myself. Nec Spe Nec Metu.

The fractals are defined by editing text files instead of using a graphical user interface. The main reason is that I really don't like creating user interfaces, especially not in C/C++. There is no text editor provided, because others have done good ones already, no use inventing the wheel again.


OpenCL 1.1 and 64-bit Windows

Files and folders

StyrofoamIFS.exe - The main user interface.
user.config - Will be created during first run, stores settings.

anim - All movie images created will be stored here. Note that old images might be overwritten.

autosave - All non-movie images created will be stored here. Filenames have date and time and old images won't be overwritten.

background/*.cl - Examples of OpenCL source code for backgrounds.

bin/create_ifs_cache_cpp.exe - Creates the point-cloud and stores it in the cache folder. Several instances of this program will run simultaneously.
bin/raytrace_cl_cpp.exe - Raytraces the point-cloud and creates the final image.
bin/join_png_cpp.exe - Joins several image parts to a single image.
bin/Cloo.dll - Used by the user interface to get the list of OpenCL platforms and devices.
bin/Parameters.dll - Some common functionality.
bin/*.cl - OpenCL source files used by the raytracer.

cache/*.tmp - The point-cloud cache files.
cache/_raytrace_cl_parameters.txt - The list of cache files that will be rendered by the raytracer. Written after the point-cloud has been created.

ifs/*.ifs - Fractal definition files. All .ifs files in this folder will be listed in the IFS list in the user interface.
ifs/*.grp - Fractal definition group files. All .grp files in this folder will be listed in the IFS list in the user interface.
ifs/*.scene - Raytrace parameter files. All .scene files in this folder will be listed in the Scene list in the user interface.

Tools used

OpenCL by Khronos group
OpenGL Mathematics ( by G-Truc Creation
libpng by Glenn Randers-Pehrson
tinyxml2 by Lee Thomason
Cloo by Fatjon Sakiqi

StyrofoamIFS was developed using Microsoft Visual Studio Community 2013

Special thanks to John C. Hart for his 1991 paper: Computer display of linear fractal surfaces.
The .ifs file fractal definitions are based on the definitions used in this paper.