--0.9.9.3 Release

This commit is contained in:
mfeemster 2016-01-17 16:10:06 -08:00
parent c94c1eba66
commit 79a2a28694
14 changed files with 86 additions and 23 deletions

View File

@ -6,7 +6,7 @@
<ProductVersion>3.7</ProductVersion> <ProductVersion>3.7</ProductVersion>
<ProjectGuid>{c8096c47-e358-438c-a520-146d46b0637d}</ProjectGuid> <ProjectGuid>{c8096c47-e358-438c-a520-146d46b0637d}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion> <SchemaVersion>2.0</SchemaVersion>
<OutputName>Fractorium_Beta_0.9.9.2</OutputName> <OutputName>Fractorium_Beta_0.9.9.3</OutputName>
<OutputType>Package</OutputType> <OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath> <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath> <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define ProductVersion="0.9.9.2" ?> <?define ProductVersion="0.9.9.3" ?>
<?define ProductName="Fractorium Beta $(var.ProductVersion) ($(var.GpuType))" ?> <?define ProductName="Fractorium Beta $(var.ProductVersion) ($(var.GpuType))" ?>
<?define UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?> <?define UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?>
<?define Manufacturer="Fractorium"?> <?define Manufacturer="Fractorium"?>
@ -13,7 +13,7 @@
<!-- <!--
Change this for every release. Change this for every release.
--> -->
<?define ProductCode="{014775A8-6BA5-4C73-A08F-AF0827588C31}"?> <?define ProductCode="{58FF62C1-C530-4CE6-9A7E-92261342E12C}"?>
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)"> <Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package <Package

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,52 @@
0.9.9.3 01/17/2016
--User changes
-Add new variations: crackle, dc_perlin and post_smartcrop.
-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.
-Add the following modes to synth:
-MODE_SHIFTNSTRETCH 14
-MODE_SHIFTTANGENT 15
-MODE_XMIRROR 17
-MODE_XYMIRROR 18
-MODE_SPHERICAL2 19
-Clamp synth_mode, synth_*_type and synth_*_layer to valid values.
--Bug fixes
-Crash on linux when saving style due to null pointer in m_Theme variable.
-Omit duplicate entries in error reports.
-Properly report missing palette file in command line programs.
-Direct color calculations were wrong.
-Flattening was not applied to final xform.
-Fix "pure virtual function call" error on shutdown.
-Wrong point assignment in hexaplay3D, hexnix3D.
-Improper Z assignment in rblur.
-Fix inconsistency with original in circlecrop.
-synth was broken due to passing synth_mode to Interpolate, rather than synth_smooth.
-Changes in the xaos grid were not always being processed due to rounding.
-Long standing animation looping but that goes all the way back to flam3.
--Code changes
-Qualify math function with std::
-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.
-Convert all enums to class enum to be consistent with C++11 style.
-Convert some if/else statements in filter classes to case statements.
-Add overloaded stream operators to print various enums.
-Optimize crob, nBlur.
-Fix weird assignment statement in falloff3.
-Replace fabs() with std::abs().
-General cleanup.
0.9.9.2 11/22/2015 0.9.9.2 11/22/2015
--User changes --User changes
-Add a new dialog for editing QSS stylesheets. Allow for saving, reloading and setting styles as default. -Add a new dialog for editing QSS stylesheets. Allow for saving, reloading and setting styles as default.

View File

@ -40,7 +40,7 @@ static void sincos(float x, float* s, float* c)
namespace EmberNs namespace EmberNs
{ {
#define EMBER_VERSION "0.9.9.2" #define EMBER_VERSION "0.9.9.3"
#define EPS6 T(1e-6) #define EPS6 T(1e-6)
#define EPS std::numeric_limits<T>::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way. #define EPS std::numeric_limits<T>::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way.
#define ISAAC_SIZE 4 #define ISAAC_SIZE 4

View File

@ -3918,7 +3918,7 @@ template <typename T>
class EMBER_API PostSmartcropVariation : public ParametricVariation<T> class EMBER_API PostSmartcropVariation : public ParametricVariation<T>
{ {
public: public:
PostSmartcropVariation(T weight = 1.0) : ParametricVariation<T>("post_smartcrop", eVariationId::VAR_POST_SMARTCROP, weight, true) PostSmartcropVariation(T weight = 1.0) : ParametricVariation<T>("post_smartcrop", eVariationId::VAR_POST_SMARTCROP, weight)
{ {
m_AssignType = eVariationAssignType::ASSIGNTYPE_SET; m_AssignType = eVariationAssignType::ASSIGNTYPE_SET;
m_VarType = eVariationType::VARTYPE_POST;//Very special usage, post only. m_VarType = eVariationType::VARTYPE_POST;//Very special usage, post only.

View File

@ -1249,7 +1249,7 @@ public:
virtual vector<string> OpenCLGlobalFuncNames() const override virtual vector<string> OpenCLGlobalFuncNames() const override
{ {
return vector<string> { "Zeps", "SimplexNoise3D", "PerlinNoise3D" }; return vector<string> { "Zeps", "Sqr", "SimplexNoise3D", "PerlinNoise3D" };
} }
virtual vector<string> OpenCLGlobalDataNames() const override virtual vector<string> OpenCLGlobalDataNames() const override

View File

@ -49,8 +49,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,9,9,2 FILEVERSION 0,9,9,3
PRODUCTVERSION 0,9,9,2 PRODUCTVERSION 0,9,9,3
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -67,12 +67,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Open Source" VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Renders fractal flames as animations with motion blur" VALUE "FileDescription", "Renders fractal flames as animations with motion blur"
VALUE "FileVersion", "0.9.9.2" VALUE "FileVersion", "0.9.9.3"
VALUE "InternalName", "EmberAnimate.exe" VALUE "InternalName", "EmberAnimate.exe"
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3"
VALUE "OriginalFilename", "EmberAnimate.exe" VALUE "OriginalFilename", "EmberAnimate.exe"
VALUE "ProductName", "Ember Animate" VALUE "ProductName", "Ember Animate"
VALUE "ProductVersion", "0.9.9.2" VALUE "ProductVersion", "0.9.9.3"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -49,8 +49,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,9,9,2 FILEVERSION 0,9,9,3
PRODUCTVERSION 0,9,9,2 PRODUCTVERSION 0,9,9,3
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -67,12 +67,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Open Source" VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Manipulates fractal flames parameter files" VALUE "FileDescription", "Manipulates fractal flames parameter files"
VALUE "FileVersion", "0.9.9.2" VALUE "FileVersion", "0.9.9.3"
VALUE "InternalName", "EmberGenome.exe" VALUE "InternalName", "EmberGenome.exe"
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3"
VALUE "OriginalFilename", "EmberGenome.exe" VALUE "OriginalFilename", "EmberGenome.exe"
VALUE "ProductName", "Ember Genome" VALUE "ProductName", "Ember Genome"
VALUE "ProductVersion", "0.9.9.2" VALUE "ProductVersion", "0.9.9.3"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -49,8 +49,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,9,9,2 FILEVERSION 0,9,9,3
PRODUCTVERSION 0,9,9,2 PRODUCTVERSION 0,9,9,3
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -67,12 +67,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Open Source" VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Renders fractal flames as single images" VALUE "FileDescription", "Renders fractal flames as single images"
VALUE "FileVersion", "0.9.9.2" VALUE "FileVersion", "0.9.9.3"
VALUE "InternalName", "EmberRender.exe" VALUE "InternalName", "EmberRender.exe"
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3"
VALUE "OriginalFilename", "EmberRender.exe" VALUE "OriginalFilename", "EmberRender.exe"
VALUE "ProductName", "Ember Render" VALUE "ProductName", "Ember Render"
VALUE "ProductVersion", "0.9.9.2" VALUE "ProductVersion", "0.9.9.3"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -1495,6 +1495,15 @@ bool TestAllVarsCLBuild(size_t platform, size_t device, bool printSuccess = true
{ {
renderer.SetEmber(it); renderer.SetEmber(it);
if (platform != 0 &&
((it.GetXform(0)->GetVariationById(eVariationId::VAR_SYNTH) != nullptr) ||//Nvidia OpenCL driver crashes when building too many synths.
(it.GetXform(0)->GetVariationById(eVariationId::VAR_PRE_SYNTH) != nullptr) ||
(it.GetXform(0)->GetVariationById(eVariationId::VAR_POST_SYNTH) != nullptr)))
{
cout << "Skipping synth.\n";
continue;
}
if (renderer.BuildIterProgramForEmber()) if (renderer.BuildIterProgramForEmber())
{ {
if (printSuccess) if (printSuccess)
@ -1954,6 +1963,8 @@ void DistribTester()
} }
} }
#define DO_NVIDIA 1
int _tmain(int argc, _TCHAR* argv[]) int _tmain(int argc, _TCHAR* argv[])
{ {
//int i; //int i;
@ -2152,16 +2163,17 @@ int _tmain(int argc, _TCHAR* argv[])
//t.Tic(); //t.Tic();
//TestCpuGpuResults<float>(); //TestCpuGpuResults<float>();
//t.Toc("TestCpuGpuResults<float>()"); //t.Toc("TestCpuGpuResults<float>()");
t.Tic();
//t.Tic(); b = TestAllVarsCLBuild<float>(0, 0, true);
//b = TestAllVarsCLBuild<float>(0, 0, true); t.Toc("TestAllVarsCLBuild<float>()");
//t.Toc("TestAllVarsCLBuild<float>()");
if (b) if (b)
{ {
#ifdef DO_NVIDIA
t.Tic(); t.Tic();
b = TestAllVarsCLBuild<float>(1, 0, true); b = TestAllVarsCLBuild<float>(1, 0, true);
t.Toc("TestAllVarsCLBuild<float>()"); t.Toc("TestAllVarsCLBuild<float>()");
#endif
} }
#ifdef DO_DOUBLE #ifdef DO_DOUBLE
@ -2177,9 +2189,11 @@ int _tmain(int argc, _TCHAR* argv[])
if (b) if (b)
{ {
#ifdef DO_NVIDIA
t.Tic(); t.Tic();
TestAllVarsCLBuild<double>(1, 0, true); TestAllVarsCLBuild<double>(1, 0, true);
t.Toc("TestAllVarsCLBuild<double>()"); t.Toc("TestAllVarsCLBuild<double>()");
#endif
} }
} }

View File

@ -58,7 +58,7 @@
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;br/&gt;Fractorium 0.9.9.2 Beta&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;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.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Lead: Matt Feemster&lt;br/&gt;Contributors: Simon Detheridge&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;br/&gt;Fractorium 0.9.9.3 Beta&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;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.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Lead: Matt Feemster&lt;br/&gt;Contributors: Simon Detheridge&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::RichText</enum> <enum>Qt::RichText</enum>

Binary file not shown.