diff --git a/Builds/CB/Ember.cbp b/Builds/CB/Ember.cbp
index dfed5cc..c61eb57 100644
--- a/Builds/CB/Ember.cbp
+++ b/Builds/CB/Ember.cbp
@@ -98,6 +98,7 @@
+
diff --git a/Builds/CB/Ember.depend b/Builds/CB/Ember.depend
index 751d8d5..a8ca286 100644
--- a/Builds/CB/Ember.depend
+++ b/Builds/CB/Ember.depend
@@ -1,5 +1,5 @@
# depslib dependency file v1.0
-1417901704 source:/home/heretic/Dev/fractorium/Source/Ember/Affine2D.cpp
+1418024487 source:/home/heretic/Dev/fractorium/Source/Ember/Affine2D.cpp
"EmberPch.h"
"Affine2D.h"
@@ -40,7 +40,7 @@
"glm/gtc/type_ptr.hpp"
"glm/gtx/string_cast.hpp"
-1402664682 /usr/include/libxml2/libxml/parser.h
+1413491506 /usr/include/libxml2/libxml/parser.h
@@ -54,13 +54,13 @@
-1402664682 /usr/include/libxml2/libxml/xmlversion.h
+1413491506 /usr/include/libxml2/libxml/xmlversion.h
-1402664682 /usr/include/libxml2/libxml/xmlexports.h
+1413491506 /usr/include/libxml2/libxml/xmlexports.h
-1402664682 /usr/include/libxml2/libxml/tree.h
+1413491506 /usr/include/libxml2/libxml/tree.h
@@ -68,31 +68,31 @@
-1402664682 /usr/include/libxml2/libxml/xmlstring.h
+1413491506 /usr/include/libxml2/libxml/xmlstring.h
-1402664682 /usr/include/libxml2/libxml/xmlregexp.h
+1413491506 /usr/include/libxml2/libxml/xmlregexp.h
-1402664682 /usr/include/libxml2/libxml/dict.h
+1413491506 /usr/include/libxml2/libxml/dict.h
-1402664682 /usr/include/libxml2/libxml/xmlmemory.h
+1413491506 /usr/include/libxml2/libxml/xmlmemory.h
-1402664682 /usr/include/libxml2/libxml/threads.h
+1413491506 /usr/include/libxml2/libxml/threads.h
-1402664682 /usr/include/libxml2/libxml/globals.h
+1413491506 /usr/include/libxml2/libxml/globals.h
@@ -101,33 +101,33 @@
-1402664682 /usr/include/libxml2/libxml/xmlerror.h
+1413491506 /usr/include/libxml2/libxml/xmlerror.h
-1402664682 /usr/include/libxml2/libxml/SAX.h
+1413491506 /usr/include/libxml2/libxml/SAX.h
-1402664682 /usr/include/libxml2/libxml/xlink.h
+1413491506 /usr/include/libxml2/libxml/xlink.h
-1402664682 /usr/include/libxml2/libxml/SAX2.h
+1413491506 /usr/include/libxml2/libxml/SAX2.h
-1402664682 /usr/include/libxml2/libxml/hash.h
+1413491506 /usr/include/libxml2/libxml/hash.h
-1402664682 /usr/include/libxml2/libxml/valid.h
+1413491506 /usr/include/libxml2/libxml/valid.h
@@ -135,25 +135,25 @@
-1402664682 /usr/include/libxml2/libxml/list.h
+1413491506 /usr/include/libxml2/libxml/list.h
-1402664682 /usr/include/libxml2/libxml/xmlautomata.h
+1413491506 /usr/include/libxml2/libxml/xmlautomata.h
-1402664682 /usr/include/libxml2/libxml/entities.h
+1413491506 /usr/include/libxml2/libxml/entities.h
-1402664682 /usr/include/libxml2/libxml/encoding.h
+1413491506 /usr/include/libxml2/libxml/encoding.h
-1402664682 /usr/include/libxml2/libxml/xmlIO.h
+1413491506 /usr/include/libxml2/libxml/xmlIO.h
diff --git a/Builds/CB/fractorium.workspace.layout b/Builds/CB/fractorium.workspace.layout
index db9effd..c845abd 100644
--- a/Builds/CB/fractorium.workspace.layout
+++ b/Builds/CB/fractorium.workspace.layout
@@ -1,5 +1,4 @@
-
-
+
diff --git a/Builds/QtCreator/Ember/Ember.pro b/Builds/QtCreator/Ember/Ember.pro
new file mode 100644
index 0000000..7abfbd4
--- /dev/null
+++ b/Builds/QtCreator/Ember/Ember.pro
@@ -0,0 +1,92 @@
+TEMPLATE = lib
+CONFIG += shared
+CONFIG += warn_off
+CONFIG -= app_bundle
+CONFIG -= qt
+VERSION = 0.1.4.7
+
+DESTDIR = ../../../Bin
+
+LIBS += -L/usr/lib -ltbb
+LIBS += -L/usr/lib/x86_64-linux-gnu -lxml2
+
+INCLUDEPATH += /usr/include/glm
+INCLUDEPATH += /usr/include/tbb
+INCLUDEPATH += /usr/include/libxml2
+
+QMAKE_CXXFLAGS += -O2
+QMAKE_CXXFLAGS += -march=k8
+QMAKE_CXXFLAGS += -fPIC
+QMAKE_CXXFLAGS += -fpermissive
+QMAKE_CXXFLAGS += -fomit-frame-pointer
+QMAKE_CXXFLAGS += -pedantic
+QMAKE_CXXFLAGS += -std=c++11
+QMAKE_CXXFLAGS += -Wnon-virtual-dtor
+QMAKE_CXXFLAGS += -Wshadow
+QMAKE_CXXFLAGS += -Winit-self
+QMAKE_CXXFLAGS += -Wredundant-decls
+QMAKE_CXXFLAGS += -Wcast-align
+QMAKE_CXXFLAGS += -Winline
+QMAKE_CXXFLAGS += -Wunreachable-code
+QMAKE_CXXFLAGS += -Wmissing-include-dirs
+QMAKE_CXXFLAGS += -Wswitch-enum
+QMAKE_CXXFLAGS += -Wswitch-default
+QMAKE_CXXFLAGS += -Wmain
+QMAKE_CXXFLAGS += -Wzero-as-null-pointer-constant
+QMAKE_CXXFLAGS += -Wfatal-errors
+QMAKE_CXXFLAGS += -Wall -fpermissive
+QMAKE_CXXFLAGS += -Wold-style-cast
+QMAKE_CXXFLAGS += -Wno-unused-parameter
+QMAKE_CXXFLAGS += -Wno-unused-function
+QMAKE_CXXFLAGS += -Wold-style-cast
+QMAKE_CXXFLAGS += -D_M_X64
+QMAKE_CXXFLAGS += -D_USRDLL
+QMAKE_CXXFLAGS += -DNDEBUG
+QMAKE_CXXFLAGS += -D_CONSOLE
+QMAKE_CXXFLAGS += -DBUILDING_EMBER
+
+QMAKE_LFLAGS += -s
+
+SOURCES += \
+ ../../../Source/Ember/Affine2D.cpp \
+ ../../../Source/Ember/DllMain.cpp \
+ ../../../Source/Ember/Ember.cpp \
+ ../../../Source/Ember/EmberPch.cpp \
+ ../../../Source/Ember/Renderer.cpp \
+ ../../../Source/Ember/RendererBase.cpp
+
+include(deployment.pri)
+qtcAddDeployment()
+
+HEADERS += \
+ ../../../Source/Ember/Affine2D.h \
+ ../../../Source/Ember/CarToRas.h \
+ ../../../Source/Ember/DensityFilter.h \
+ ../../../Source/Ember/Ember.h \
+ ../../../Source/Ember/EmberDefines.h \
+ ../../../Source/Ember/EmberPch.h \
+ ../../../Source/Ember/EmberToXml.h \
+ ../../../Source/Ember/Interpolate.h \
+ ../../../Source/Ember/Isaac.h \
+ ../../../Source/Ember/Iterator.h \
+ ../../../Source/Ember/Palette.h \
+ ../../../Source/Ember/PaletteList.h \
+ ../../../Source/Ember/Point.h \
+ ../../../Source/Ember/Renderer.h \
+ ../../../Source/Ember/RendererBase.h \
+ ../../../Source/Ember/SheepTools.h \
+ ../../../Source/Ember/SpatialFilter.h \
+ ../../../Source/Ember/TemporalFilter.h \
+ ../../../Source/Ember/Timing.h \
+ ../../../Source/Ember/Utils.h \
+ ../../../Source/Ember/Variation.h \
+ ../../../Source/Ember/VariationList.h \
+ ../../../Source/Ember/Variations01.h \
+ ../../../Source/Ember/Variations02.h \
+ ../../../Source/Ember/Variations03.h \
+ ../../../Source/Ember/Variations04.h \
+ ../../../Source/Ember/Variations05.h \
+ ../../../Source/Ember/VariationsDC.h \
+ ../../../Source/Ember/Xform.h \
+ ../../../Source/Ember/XmlToEmber.h
+
diff --git a/Builds/QtCreator/Ember/deployment.pri b/Builds/QtCreator/Ember/deployment.pri
new file mode 100644
index 0000000..f9403df
--- /dev/null
+++ b/Builds/QtCreator/Ember/deployment.pri
@@ -0,0 +1,193 @@
+# This file was generated by an application wizard of Qt Creator.
+# The code below handles deployment to Android and Maemo, aswell as copying
+# of the application data to shadow build directories on desktop.
+# It is recommended not to modify this file, since newer versions of Qt Creator
+# may offer an updated version of it.
+
+defineTest(qtcAddDeployment) {
+for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ greaterThan(QT_MAJOR_VERSION, 4) {
+ itemsources = $${item}.files
+ } else {
+ itemsources = $${item}.sources
+ }
+ $$itemsources = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath= $$eval($${deploymentfolder}.target)
+ export($$itemsources)
+ export($$itempath)
+ DEPLOYMENT += $$item
+}
+
+MAINPROFILEPWD = $$PWD
+
+android-no-sdk {
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = /data/user/qt/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ target.path = /data/user/qt
+
+ export(target.path)
+ INSTALLS += target
+} else:android {
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = /assets/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ x86 {
+ target.path = /libs/x86
+ } else: armeabi-v7a {
+ target.path = /libs/armeabi-v7a
+ } else {
+ target.path = /libs/armeabi
+ }
+
+ export(target.path)
+ INSTALLS += target
+} else:win32 {
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, /, \\)
+ sourcePathSegments = $$split(source, \\)
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
+ target = $$replace(target, /, \\)
+ target ~= s,\\\\\\.?\\\\,\\,
+ !isEqual(source,$$target) {
+ !isEmpty(copyCommand):copyCommand += &&
+ isEqual(QMAKE_DIR_SEP, \\) {
+ copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
+ } else {
+ source = $$replace(source, \\\\, /)
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+ target = $$replace(target, \\\\, /)
+ copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
+ }
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = @echo Copying application data... && $$copyCommand
+ copydeploymentfolders.commands = $$copyCommand
+ first.depends = $(first) copydeploymentfolders
+ export(first.depends)
+ export(copydeploymentfolders.commands)
+ QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+ }
+} else:ios {
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, \\\\, /)
+ target = $CODESIGNING_FOLDER_PATH/$$eval($${deploymentfolder}.target)
+ target = $$replace(target, \\\\, /)
+ sourcePathSegments = $$split(source, /)
+ targetFullPath = $$target/$$last(sourcePathSegments)
+ targetFullPath ~= s,/\\.?/,/,
+ !isEqual(source,$$targetFullPath) {
+ !isEmpty(copyCommand):copyCommand += &&
+ copyCommand += mkdir -p \"$$target\"
+ copyCommand += && cp -r \"$$source\" \"$$target\"
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = echo Copying application data... && $$copyCommand
+ !isEmpty(QMAKE_POST_LINK): QMAKE_POST_LINK += ";"
+ QMAKE_POST_LINK += "$$copyCommand"
+ export(QMAKE_POST_LINK)
+ }
+} else:unix {
+ maemo5 {
+ desktopfile.files = $${TARGET}.desktop
+ desktopfile.path = /usr/share/applications/hildon
+ icon.files = $${TARGET}64.png
+ icon.path = /usr/share/icons/hicolor/64x64/apps
+ } else:!isEmpty(MEEGO_VERSION_MAJOR) {
+ desktopfile.files = $${TARGET}_harmattan.desktop
+ desktopfile.path = /usr/share/applications
+ icon.files = $${TARGET}80.png
+ icon.path = /usr/share/icons/hicolor/80x80/apps
+ } else { # Assumed to be a Desktop Unix
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, \\\\, /)
+ macx {
+ target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+ } else {
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+ }
+ target = $$replace(target, \\\\, /)
+ sourcePathSegments = $$split(source, /)
+ targetFullPath = $$target/$$last(sourcePathSegments)
+ targetFullPath ~= s,/\\.?/,/,
+ !isEqual(source,$$targetFullPath) {
+ !isEmpty(copyCommand):copyCommand += &&
+ copyCommand += $(MKDIR) \"$$target\"
+ copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = @echo Copying application data... && $$copyCommand
+ copydeploymentfolders.commands = $$copyCommand
+ first.depends = $(first) copydeploymentfolders
+ export(first.depends)
+ export(copydeploymentfolders.commands)
+ QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+ }
+ }
+ !isEmpty(target.path) {
+ installPrefix = $${target.path}
+ } else {
+ installPrefix = /opt/$${TARGET}
+ }
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ !isEmpty(desktopfile.path) {
+ export(icon.files)
+ export(icon.path)
+ export(desktopfile.files)
+ export(desktopfile.path)
+ INSTALLS += icon desktopfile
+ }
+
+ isEmpty(target.path) {
+ target.path = $${installPrefix}/bin
+ export(target.path)
+ }
+ INSTALLS += target
+}
+
+export (ICON)
+export (INSTALLS)
+export (DEPLOYMENT)
+export (LIBS)
+export (QMAKE_EXTRA_TARGETS)
+}
+
+OTHER_FILES +=
+
diff --git a/Builds/QtCreator/EmberCL/EmberCL.pro b/Builds/QtCreator/EmberCL/EmberCL.pro
new file mode 100644
index 0000000..45037bb
--- /dev/null
+++ b/Builds/QtCreator/EmberCL/EmberCL.pro
@@ -0,0 +1,73 @@
+TEMPLATE = lib
+CONFIG += shared
+CONFIG += warn_off
+CONFIG -= app_bundle
+CONFIG -= qt
+VERSION = 0.1.4.7
+
+DESTDIR = ../../../Bin
+
+LIBS += -L/usr/lib -lOpenCL
+LIBS += -L/usr/lib -lGL
+
+INCLUDEPATH += /usr/include/CL
+INCLUDEPATH += /usr/include/GL
+INCLUDEPATH += /usr/include/glm
+INCLUDEPATH += /usr/include/tbb
+INCLUDEPATH += /usr/include/libxml2
+INCLUDEPATH += ../../../Source/Ember
+
+QMAKE_CXXFLAGS += -O2
+QMAKE_CXXFLAGS += -march=k8
+QMAKE_CXXFLAGS += -fPIC
+QMAKE_CXXFLAGS += -fpermissive
+QMAKE_CXXFLAGS += -fomit-frame-pointer
+QMAKE_CXXFLAGS += -pedantic
+QMAKE_CXXFLAGS += -std=c++11
+QMAKE_CXXFLAGS += -Wnon-virtual-dtor
+QMAKE_CXXFLAGS += -Wshadow
+QMAKE_CXXFLAGS += -Winit-self
+QMAKE_CXXFLAGS += -Wredundant-decls
+QMAKE_CXXFLAGS += -Wcast-align
+QMAKE_CXXFLAGS += -Winline
+QMAKE_CXXFLAGS += -Wunreachable-code
+QMAKE_CXXFLAGS += -Wmissing-include-dirs
+QMAKE_CXXFLAGS += -Wswitch-enum
+QMAKE_CXXFLAGS += -Wswitch-default
+QMAKE_CXXFLAGS += -Wmain
+QMAKE_CXXFLAGS += -Wzero-as-null-pointer-constant
+QMAKE_CXXFLAGS += -Wfatal-errors
+QMAKE_CXXFLAGS += -Wall -fpermissive
+QMAKE_CXXFLAGS += -Wold-style-cast
+QMAKE_CXXFLAGS += -Wno-unused-parameter
+QMAKE_CXXFLAGS += -Wno-unused-function
+QMAKE_CXXFLAGS += -Wold-style-cast
+QMAKE_CXXFLAGS += -D_M_X64
+QMAKE_CXXFLAGS += -D_USRDLL
+QMAKE_CXXFLAGS += -DNDEBUG
+QMAKE_CXXFLAGS += -D_CONSOLE
+QMAKE_CXXFLAGS += -DBUILDING_EMBER
+
+QMAKE_LFLAGS += -s
+
+SOURCES += \
+ ../../../Source/EmberCL/DllMain.cpp \
+ ../../../Source/EmberCL/FinalAccumOpenCLKernelCreator.cpp \
+ ../../../Source/EmberCL/IterOpenCLKernelCreator.cpp \
+ ../../../Source/EmberCL/OpenCLWrapper.cpp \
+ ../../../Source/EmberCL/RendererCL.cpp \
+ ../../../Source/EmberCL/DEOpenCLKernelCreator.cpp
+
+include(deployment.pri)
+qtcAddDeployment()
+
+HEADERS += \
+ ../../../Source/EmberCL/DEOpenCLKernelCreator.h \
+ ../../../Source/EmberCL/EmberCLFunctions.h \
+ ../../../Source/EmberCL/EmberCLPch.h \
+ ../../../Source/EmberCL/EmberCLStructs.h \
+ ../../../Source/EmberCL/FinalAccumOpenCLKernelCreator.h \
+ ../../../Source/EmberCL/IterOpenCLKernelCreator.h \
+ ../../../Source/EmberCL/OpenCLWrapper.h \
+ ../../../Source/EmberCL/RendererCL.h
+
diff --git a/Builds/QtCreator/EmberCL/deployment.pri b/Builds/QtCreator/EmberCL/deployment.pri
new file mode 100644
index 0000000..5f1749f
--- /dev/null
+++ b/Builds/QtCreator/EmberCL/deployment.pri
@@ -0,0 +1,191 @@
+# This file was generated by an application wizard of Qt Creator.
+# The code below handles deployment to Android and Maemo, aswell as copying
+# of the application data to shadow build directories on desktop.
+# It is recommended not to modify this file, since newer versions of Qt Creator
+# may offer an updated version of it.
+
+defineTest(qtcAddDeployment) {
+for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ greaterThan(QT_MAJOR_VERSION, 4) {
+ itemsources = $${item}.files
+ } else {
+ itemsources = $${item}.sources
+ }
+ $$itemsources = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath= $$eval($${deploymentfolder}.target)
+ export($$itemsources)
+ export($$itempath)
+ DEPLOYMENT += $$item
+}
+
+MAINPROFILEPWD = $$PWD
+
+android-no-sdk {
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = /data/user/qt/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ target.path = /data/user/qt
+
+ export(target.path)
+ INSTALLS += target
+} else:android {
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = /assets/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ x86 {
+ target.path = /libs/x86
+ } else: armeabi-v7a {
+ target.path = /libs/armeabi-v7a
+ } else {
+ target.path = /libs/armeabi
+ }
+
+ export(target.path)
+ INSTALLS += target
+} else:win32 {
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, /, \\)
+ sourcePathSegments = $$split(source, \\)
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
+ target = $$replace(target, /, \\)
+ target ~= s,\\\\\\.?\\\\,\\,
+ !isEqual(source,$$target) {
+ !isEmpty(copyCommand):copyCommand += &&
+ isEqual(QMAKE_DIR_SEP, \\) {
+ copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
+ } else {
+ source = $$replace(source, \\\\, /)
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+ target = $$replace(target, \\\\, /)
+ copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
+ }
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = @echo Copying application data... && $$copyCommand
+ copydeploymentfolders.commands = $$copyCommand
+ first.depends = $(first) copydeploymentfolders
+ export(first.depends)
+ export(copydeploymentfolders.commands)
+ QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+ }
+} else:ios {
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, \\\\, /)
+ target = $CODESIGNING_FOLDER_PATH/$$eval($${deploymentfolder}.target)
+ target = $$replace(target, \\\\, /)
+ sourcePathSegments = $$split(source, /)
+ targetFullPath = $$target/$$last(sourcePathSegments)
+ targetFullPath ~= s,/\\.?/,/,
+ !isEqual(source,$$targetFullPath) {
+ !isEmpty(copyCommand):copyCommand += &&
+ copyCommand += mkdir -p \"$$target\"
+ copyCommand += && cp -r \"$$source\" \"$$target\"
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = echo Copying application data... && $$copyCommand
+ !isEmpty(QMAKE_POST_LINK): QMAKE_POST_LINK += ";"
+ QMAKE_POST_LINK += "$$copyCommand"
+ export(QMAKE_POST_LINK)
+ }
+} else:unix {
+ maemo5 {
+ desktopfile.files = $${TARGET}.desktop
+ desktopfile.path = /usr/share/applications/hildon
+ icon.files = $${TARGET}64.png
+ icon.path = /usr/share/icons/hicolor/64x64/apps
+ } else:!isEmpty(MEEGO_VERSION_MAJOR) {
+ desktopfile.files = $${TARGET}_harmattan.desktop
+ desktopfile.path = /usr/share/applications
+ icon.files = $${TARGET}80.png
+ icon.path = /usr/share/icons/hicolor/80x80/apps
+ } else { # Assumed to be a Desktop Unix
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, \\\\, /)
+ macx {
+ target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+ } else {
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+ }
+ target = $$replace(target, \\\\, /)
+ sourcePathSegments = $$split(source, /)
+ targetFullPath = $$target/$$last(sourcePathSegments)
+ targetFullPath ~= s,/\\.?/,/,
+ !isEqual(source,$$targetFullPath) {
+ !isEmpty(copyCommand):copyCommand += &&
+ copyCommand += $(MKDIR) \"$$target\"
+ copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = @echo Copying application data... && $$copyCommand
+ copydeploymentfolders.commands = $$copyCommand
+ first.depends = $(first) copydeploymentfolders
+ export(first.depends)
+ export(copydeploymentfolders.commands)
+ QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+ }
+ }
+ !isEmpty(target.path) {
+ installPrefix = $${target.path}
+ } else {
+ installPrefix = /opt/$${TARGET}
+ }
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ !isEmpty(desktopfile.path) {
+ export(icon.files)
+ export(icon.path)
+ export(desktopfile.files)
+ export(desktopfile.path)
+ INSTALLS += icon desktopfile
+ }
+
+ isEmpty(target.path) {
+ target.path = $${installPrefix}/bin
+ export(target.path)
+ }
+ INSTALLS += target
+}
+
+export (ICON)
+export (INSTALLS)
+export (DEPLOYMENT)
+export (LIBS)
+export (QMAKE_EXTRA_TARGETS)
+}
+
diff --git a/Builds/QtCreator/EmberRender/EmberRender.pro b/Builds/QtCreator/EmberRender/EmberRender.pro
new file mode 100644
index 0000000..9632ac2
--- /dev/null
+++ b/Builds/QtCreator/EmberRender/EmberRender.pro
@@ -0,0 +1,75 @@
+TEMPLATE = app
+CONFIG += console
+CONFIG += warn_off
+CONFIG -= app_bundle
+CONFIG -= qt
+VERSION = 0.1.4.7
+
+DESTDIR = ../../../Bin
+
+LIBS += -L/usr/lib -lOpenCL
+LIBS += -L/usr/lib -lGL
+LIBS += -L/usr/lib -ljpeg
+LIBS += -L/usr/lib -lpng
+LIBS += -L/usr/lib/x86_64-linux-gnu -lxml2
+LIBS += -L../../../Bin -lEmber
+LIBS += -L../../../Bin -lEmberCL
+
+INCLUDEPATH += /usr/include/CL
+INCLUDEPATH += /usr/include/GL
+INCLUDEPATH += /usr/include/glm
+INCLUDEPATH += /usr/include/tbb
+INCLUDEPATH += /usr/include/libxml2
+INCLUDEPATH += ../../../Source/Ember
+INCLUDEPATH += ../../../Source/EmberCL
+INCLUDEPATH += ../../../Source/EmberCommon
+
+QMAKE_CXXFLAGS += -O2
+QMAKE_CXXFLAGS += -march=k8
+QMAKE_CXXFLAGS += -fPIC
+QMAKE_CXXFLAGS += -fpermissive
+QMAKE_CXXFLAGS += -fomit-frame-pointer
+QMAKE_CXXFLAGS += -pedantic
+QMAKE_CXXFLAGS += -std=c++11
+QMAKE_CXXFLAGS += -Wnon-virtual-dtor
+QMAKE_CXXFLAGS += -Wshadow
+QMAKE_CXXFLAGS += -Winit-self
+QMAKE_CXXFLAGS += -Wredundant-decls
+QMAKE_CXXFLAGS += -Wcast-align
+QMAKE_CXXFLAGS += -Winline
+QMAKE_CXXFLAGS += -Wunreachable-code
+QMAKE_CXXFLAGS += -Wmissing-include-dirs
+QMAKE_CXXFLAGS += -Wswitch-enum
+QMAKE_CXXFLAGS += -Wswitch-default
+QMAKE_CXXFLAGS += -Wmain
+QMAKE_CXXFLAGS += -Wzero-as-null-pointer-constant
+QMAKE_CXXFLAGS += -Wfatal-errors
+QMAKE_CXXFLAGS += -Wall -fpermissive
+QMAKE_CXXFLAGS += -Wold-style-cast
+QMAKE_CXXFLAGS += -Wno-unused-parameter
+QMAKE_CXXFLAGS += -Wno-unused-function
+QMAKE_CXXFLAGS += -Wold-style-cast
+QMAKE_CXXFLAGS += -D_M_X64
+QMAKE_CXXFLAGS += -D_USRDLL
+QMAKE_CXXFLAGS += -DNDEBUG
+QMAKE_CXXFLAGS += -D_CONSOLE
+QMAKE_CXXFLAGS += -DBUILDING_EMBER
+
+QMAKE_LFLAGS += -s
+
+SOURCES += \
+ ../../../Source/EmberRender/EmberRender.cpp \
+ ../../../Source/EmberCommon/EmberCommonPch.cpp
+
+include(deployment.pri)
+qtcAddDeployment()
+
+HEADERS += \
+ ../../../Source/EmberRender/EmberRender.h \
+ ../../../Source/EmberCommon/EmberCommon.h \
+ ../../../Source/EmberCommon/EmberCommonPch.h \
+ ../../../Source/EmberCommon/EmberOptions.h \
+ ../../../Source/EmberCommon/JpegUtils.h \
+ ../../../Source/EmberCommon/SimpleGlob.h \
+ ../../../Source/EmberCommon/SimpleOpt.h
+
diff --git a/Builds/QtCreator/EmberRender/deployment.pri b/Builds/QtCreator/EmberRender/deployment.pri
new file mode 100644
index 0000000..5f1749f
--- /dev/null
+++ b/Builds/QtCreator/EmberRender/deployment.pri
@@ -0,0 +1,191 @@
+# This file was generated by an application wizard of Qt Creator.
+# The code below handles deployment to Android and Maemo, aswell as copying
+# of the application data to shadow build directories on desktop.
+# It is recommended not to modify this file, since newer versions of Qt Creator
+# may offer an updated version of it.
+
+defineTest(qtcAddDeployment) {
+for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ greaterThan(QT_MAJOR_VERSION, 4) {
+ itemsources = $${item}.files
+ } else {
+ itemsources = $${item}.sources
+ }
+ $$itemsources = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath= $$eval($${deploymentfolder}.target)
+ export($$itemsources)
+ export($$itempath)
+ DEPLOYMENT += $$item
+}
+
+MAINPROFILEPWD = $$PWD
+
+android-no-sdk {
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = /data/user/qt/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ target.path = /data/user/qt
+
+ export(target.path)
+ INSTALLS += target
+} else:android {
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = /assets/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ x86 {
+ target.path = /libs/x86
+ } else: armeabi-v7a {
+ target.path = /libs/armeabi-v7a
+ } else {
+ target.path = /libs/armeabi
+ }
+
+ export(target.path)
+ INSTALLS += target
+} else:win32 {
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, /, \\)
+ sourcePathSegments = $$split(source, \\)
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
+ target = $$replace(target, /, \\)
+ target ~= s,\\\\\\.?\\\\,\\,
+ !isEqual(source,$$target) {
+ !isEmpty(copyCommand):copyCommand += &&
+ isEqual(QMAKE_DIR_SEP, \\) {
+ copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
+ } else {
+ source = $$replace(source, \\\\, /)
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+ target = $$replace(target, \\\\, /)
+ copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
+ }
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = @echo Copying application data... && $$copyCommand
+ copydeploymentfolders.commands = $$copyCommand
+ first.depends = $(first) copydeploymentfolders
+ export(first.depends)
+ export(copydeploymentfolders.commands)
+ QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+ }
+} else:ios {
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, \\\\, /)
+ target = $CODESIGNING_FOLDER_PATH/$$eval($${deploymentfolder}.target)
+ target = $$replace(target, \\\\, /)
+ sourcePathSegments = $$split(source, /)
+ targetFullPath = $$target/$$last(sourcePathSegments)
+ targetFullPath ~= s,/\\.?/,/,
+ !isEqual(source,$$targetFullPath) {
+ !isEmpty(copyCommand):copyCommand += &&
+ copyCommand += mkdir -p \"$$target\"
+ copyCommand += && cp -r \"$$source\" \"$$target\"
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = echo Copying application data... && $$copyCommand
+ !isEmpty(QMAKE_POST_LINK): QMAKE_POST_LINK += ";"
+ QMAKE_POST_LINK += "$$copyCommand"
+ export(QMAKE_POST_LINK)
+ }
+} else:unix {
+ maemo5 {
+ desktopfile.files = $${TARGET}.desktop
+ desktopfile.path = /usr/share/applications/hildon
+ icon.files = $${TARGET}64.png
+ icon.path = /usr/share/icons/hicolor/64x64/apps
+ } else:!isEmpty(MEEGO_VERSION_MAJOR) {
+ desktopfile.files = $${TARGET}_harmattan.desktop
+ desktopfile.path = /usr/share/applications
+ icon.files = $${TARGET}80.png
+ icon.path = /usr/share/icons/hicolor/80x80/apps
+ } else { # Assumed to be a Desktop Unix
+ copyCommand =
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
+ source = $$replace(source, \\\\, /)
+ macx {
+ target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
+ } else {
+ target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
+ }
+ target = $$replace(target, \\\\, /)
+ sourcePathSegments = $$split(source, /)
+ targetFullPath = $$target/$$last(sourcePathSegments)
+ targetFullPath ~= s,/\\.?/,/,
+ !isEqual(source,$$targetFullPath) {
+ !isEmpty(copyCommand):copyCommand += &&
+ copyCommand += $(MKDIR) \"$$target\"
+ copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
+ }
+ }
+ !isEmpty(copyCommand) {
+ copyCommand = @echo Copying application data... && $$copyCommand
+ copydeploymentfolders.commands = $$copyCommand
+ first.depends = $(first) copydeploymentfolders
+ export(first.depends)
+ export(copydeploymentfolders.commands)
+ QMAKE_EXTRA_TARGETS += first copydeploymentfolders
+ }
+ }
+ !isEmpty(target.path) {
+ installPrefix = $${target.path}
+ } else {
+ installPrefix = /opt/$${TARGET}
+ }
+ for(deploymentfolder, DEPLOYMENTFOLDERS) {
+ item = item$${deploymentfolder}
+ itemfiles = $${item}.files
+ $$itemfiles = $$eval($${deploymentfolder}.source)
+ itempath = $${item}.path
+ $$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target)
+ export($$itemfiles)
+ export($$itempath)
+ INSTALLS += $$item
+ }
+
+ !isEmpty(desktopfile.path) {
+ export(icon.files)
+ export(icon.path)
+ export(desktopfile.files)
+ export(desktopfile.path)
+ INSTALLS += icon desktopfile
+ }
+
+ isEmpty(target.path) {
+ target.path = $${installPrefix}/bin
+ export(target.path)
+ }
+ INSTALLS += target
+}
+
+export (ICON)
+export (INSTALLS)
+export (DEPLOYMENT)
+export (LIBS)
+export (QMAKE_EXTRA_TARGETS)
+}
+
diff --git a/Source/Ember/Timing.cpp b/Source/Ember/Timing.cpp
deleted file mode 100644
index 1734bbd..0000000
--- a/Source/Ember/Timing.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "stdafx.h"
-#include "Timing.h"
-
-namespace Flam3
-{
-
-}
\ No newline at end of file
diff --git a/Source/EmberCL/DllMain.cpp b/Source/EmberCL/DllMain.cpp
index 443e6be..fb2b05f 100644
--- a/Source/EmberCL/DllMain.cpp
+++ b/Source/EmberCL/DllMain.cpp
@@ -19,4 +19,4 @@ BOOL APIENTRY DllMain( HMODULE hModule,
}
return TRUE;
}
-#endif
\ No newline at end of file
+#endif