6ba16888e3
-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. |
||
---|---|---|
archive | ||
Builds | ||
Data | ||
debian | ||
Deps/CL | ||
Source | ||
.bzrignore | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
main.pro | ||
package-linux.sh | ||
README.md |
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