Go to file
mfeemster 6ba16888e3 --User changes
-Add new variations: crackle, dc_perlin.
 -Make default palette interp mode be linear instead of step.
 -Make summary tab the selected one in the Info tab.
 -Allow for highlight power of up to 10. It was previously limited to 2.

--Bug fixes
 -Direct color calculations were wrong.
 -Flattening was not applied to final xform.
 -Fix "pure virtual function call" error on shutdown.

--Code changes
 -Allow for array precalc params in variations by adding a size member to the ParamWithName class.
  -In IterOpenCLKernelCreator, memcpy precalc params instead of a direct assign since they can now be of variable length.
 -Add new file VarFuncs to consolidate some functions that are common to multiple variations. This also contains texture data for crackle and dc_perlin.
  -Place OpenCL versions of these functions in the FunctionMapper class in the EmberCL project.
 -Add new Singleton class that uses CRTP, is thread safe, and deletes after the last reference goes away. This fixes the usual "delete after main()" problem with singletons that use the static local function variable pattern.
 -Began saving files with AStyle autoformatter turned on. This will eventually touch all files as they are worked on.
 -Add missing backslash to CUDA include and library paths for builds on Nvidia systems.
 -Add missing gl.h include for Windows.
 -Remove glew include paths from Fractorium, it's not used.
 -Remove any Nvidia specific #defines and build targets, they are no longer needed with OpenCL 1.2.
 -Fix bad paths on linux build.
 -General cleanup.
2015-12-31 13:41:59 -08:00
archive resurrect previous build scripts for reference 2015-12-11 11:55:36 +00:00
Builds --User changes 2015-12-31 13:41:59 -08:00
Data --User changes 2015-12-31 13:41:59 -08:00
debian remove autotools from deps 2015-12-09 16:05:09 +00:00
Deps/CL Add CL header missing on osx 2015-01-14 10:35:38 +00:00
Source --User changes 2015-12-31 13:41:59 -08:00
.bzrignore --User changes 2015-12-31 13:41:59 -08:00
.gitignore --User changes 2015-12-31 13:41:59 -08:00
.travis.yml Branch sync 2015-07-31 19:50:13 -07:00
LICENSE Initial commit 2014-07-08 00:05:16 -07:00
main.pro squashed linux packaging commits 2015-12-08 11:49:19 +00:00
package-linux.sh better options 2015-12-10 18:16:46 +00:00
README.md remove checkinstall suggestion 2015-12-10 18:21:20 +00:00

Fractorium

A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.

Download

Windows: TODO

Linux: TODO

Mac OS/X (10.9+): TODO

Building from git

Windows

TODO

Linux

Install git and clone the repository:

sudo apt-get install git
git clone https://github.com/mfeemster/fractorium

Install the dependencies:

sudo apt-get install g++ libdbus-1-dev libgl1-mesa-dev libgl-dev libglm-dev libjpeg-dev libpng12-dev libtbb-dev libxml2-dev qt5-default qt5-qmake qtbase5-dev libqt5opengl5-dev opencl-headers nvidia-opencl-dev

Compile the binary:

cd fractorium
qmake
make

Run the binary from the release folder:

cd Bin/release
./fractorium

sudo make install will install the files directly. sudo make uninstall is also available.

You can also compile a .deb package to install locally. A few more tools will be necessary:

sudo apt-get install bzr bzr-builddeb dh-make debhelper

A helper script is available, use package-linux.sh in the project root. It will create ~/PPA/fractorium-VERSION as a work folder, by default it builds a signed source package.

For local use you probably want an unsigned binary package:

cd fractorium
./package-linux.sh --binary-only --unsigned

Mac OS/X 10.9+

Install Xcode from the App Store. Install homebrew.

Install git and clone the repository:

brew install git
git clone https://github.com/mfeemster/fractorium

Install the dependencies:

brew install qt5 tbb glm dbus jpeg libpng glib libxml2

TODO: Confirm if glib and libxml2 are actually needed.

Add the Qt bin folder to PATH to make qmake available. In ~/.bash_profile or ~/.bashrc:

PATH=/usr/local/opt/qt5/bin:$PATH
export PATH

Compile the binary:

cd fractorium
qmake CONFIG-=app_bundle
make

Run the binary from the release folder:

cd Bin/release
./fractorium

OpenCL tips

Nvidia, Ati, Intel.

Windows

TODO

Linux

TODO

Mac OS/X

TODO