2014-07-08 03:11:14 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Precompiled header file. Place all system includes here with appropriate #defines for different operating systems and compilers.
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
#define NOMINMAX
|
|
|
|
#define WIN32_LEAN_AND_MEAN//Exclude rarely-used stuff from Windows headers.
|
|
|
|
#define _USE_MATH_DEFINES
|
|
|
|
|
2014-12-05 21:30:46 -05:00
|
|
|
#include "Timing.h"
|
|
|
|
#include "Renderer.h"
|
|
|
|
|
2015-01-14 05:40:24 -05:00
|
|
|
#if defined(_WIN32)
|
2014-07-08 03:11:14 -04:00
|
|
|
#include <windows.h>
|
|
|
|
#include <SDKDDKVer.h>
|
2015-01-14 05:40:24 -05:00
|
|
|
#elif defined(__APPLE__)
|
|
|
|
#include <OpenGL/gl.h>
|
2014-12-05 21:30:46 -05:00
|
|
|
#else
|
|
|
|
#include "GL/glx.h"
|
2014-07-08 03:11:14 -04:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <utility>
|
|
|
|
#include <CL/cl.hpp>
|
|
|
|
|
|
|
|
#include <algorithm>
|
|
|
|
#include <cstdio>
|
|
|
|
#include <cstdlib>
|
|
|
|
#include <fstream>
|
|
|
|
#include <iostream>
|
|
|
|
#include <string>
|
|
|
|
#include <iterator>
|
|
|
|
#include <time.h>
|
|
|
|
|
2014-12-05 21:30:46 -05:00
|
|
|
#ifdef _WIN32
|
|
|
|
#if defined(BUILDING_EMBERCL)
|
|
|
|
#define EMBERCL_API __declspec(dllexport)
|
|
|
|
#else
|
|
|
|
#define EMBERCL_API __declspec(dllimport)
|
|
|
|
#endif
|
2014-07-08 03:11:14 -04:00
|
|
|
#else
|
2014-12-05 21:30:46 -05:00
|
|
|
#define EMBERCL_API
|
2014-07-08 03:11:14 -04:00
|
|
|
#endif
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
using namespace EmberNs;
|
Numerous fixes
0.4.0.5 Beta 07/18/2014
--User Changes
Allow for vibrancy values > 1.
Add flatten and unflatten menu items.
Automatically flatten like Apophysis does.
Add plugin and new_linear tags to Xml to be compatible with Apophysis.
--Bug Fixes
Fix blur, blur3d, bubble, cropn, cross, curl, curl3d, epispiral, ho,
julia3d, julia3dz, loonie, mirror_x, mirror_y, mirror_z, rotate_x,
sinusoidal, spherical, spherical3d, stripes.
Unique filename on final render was completely broken.
Two severe OpenCL bugs. Random seeds were biased and fusing was being
reset too often leading to results that differ from the CPU.
Subtle, but sometimes severe bug in the setup of the xaos weights.
Use properly defined epsilon by getting the value from
std::numeric_limits, rather than hard coding 1e-6 or 1e-10.
Omit incorrect usage of epsilon everywhere. It should not be
automatically added to denominators. Rather, it should only be used if
the denominator is zero.
Force final render progress bars to 100 on completion. Sometimes they
didn't seem to make it there.
Make variation name and params comparisons be case insensitive.
--Code Changes
Make ForEach and FindIf wrappers around std::for_each and std::find_if.
2014-07-19 02:33:18 -04:00
|
|
|
//#define TEST_CL 1
|
2014-12-05 21:30:46 -05:00
|
|
|
//#define TEST_CL_BUFFERS 1
|