--User changes

-Add 4 new possible arguments to EmberGenome:
  --allvars: Print the names of all supported variations.
  --regvars: Print the names of all supported regular variations.
  --prevars: Print the names of all supported pre variations.
  --postvars: Print the names of all supported post variations.
This commit is contained in:
mfeemster 2016-02-15 12:02:37 -08:00
parent 10c12b5250
commit 73356301da
12 changed files with 70 additions and 16 deletions

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.3" ?> <?define ProductVersion="0.9.9.4" ?>
<?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="{58FF62C1-C530-4CE6-9A7E-92261342E12C}"?> <?define ProductCode="{32F67E77-1C34-45B0-9436-B20B4E4D4F02}"?>
<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

@ -40,7 +40,7 @@ static void sincos(float x, float* s, float* c)
namespace EmberNs namespace EmberNs
{ {
#define EMBER_VERSION "0.9.9.3" #define EMBER_VERSION "0.9.9.4"
#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

@ -541,6 +541,11 @@ public:
size_t PostSize() const { return m_PostVariations.size(); } size_t PostSize() const { return m_PostVariations.size(); }
size_t ParametricSize() const { return m_ParametricVariations.size(); } size_t ParametricSize() const { return m_ParametricVariations.size(); }
const vector<Variation<T>*>& AllVars() const { return m_Variations; }
const vector<Variation<T>*>& RegVars() const { return m_RegVariations; }
const vector<Variation<T>*>& PreVars() const { return m_PreVariations; }
const vector<Variation<T>*>& PostVars() const { return m_PostVariations; }
private: private:
/// <summary> /// <summary>
/// Make a dyncamically allocated copy of a variation and assign it a specified weight. /// Make a dyncamically allocated copy of a variation and assign it a specified weight.

View File

@ -49,8 +49,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,9,9,3 FILEVERSION 0,9,9,4
PRODUCTVERSION 0,9,9,3 PRODUCTVERSION 0,9,9,4
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.3" VALUE "FileVersion", "0.9.9.4"
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.3" VALUE "ProductVersion", "0.9.9.4"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -35,6 +35,10 @@ enum class eOptionIDs : et
OPT_DUMP_ARGS, OPT_DUMP_ARGS,
OPT_PROGRESS, OPT_PROGRESS,
OPT_DUMP_OPENCL_INFO, OPT_DUMP_OPENCL_INFO,
OPT_ALL_VARS,
OPT_REG_VARS,
OPT_PRE_VARS,
OPT_POST_VARS,
//Boolean args. //Boolean args.
OPT_OPENCL, OPT_OPENCL,
@ -306,6 +310,10 @@ public:
INITBOOLOPTION(DumpArgs, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_DUMP_ARGS, _T("--dumpargs"), false, SO_NONE, "\t--dumpargs Print all arguments entered from either the command line or environment variables.\n")); INITBOOLOPTION(DumpArgs, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_DUMP_ARGS, _T("--dumpargs"), false, SO_NONE, "\t--dumpargs Print all arguments entered from either the command line or environment variables.\n"));
INITBOOLOPTION(DoProgress, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_PROGRESS, _T("--progress"), false, SO_NONE, "\t--progress Display progress. This will slow down processing by about 10%%.\n")); INITBOOLOPTION(DoProgress, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_PROGRESS, _T("--progress"), false, SO_NONE, "\t--progress Display progress. This will slow down processing by about 10%%.\n"));
INITBOOLOPTION(OpenCLInfo, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_DUMP_OPENCL_INFO, _T("--openclinfo"), false, SO_NONE, "\t--openclinfo Display platforms and devices for OpenCL.\n")); INITBOOLOPTION(OpenCLInfo, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_DUMP_OPENCL_INFO, _T("--openclinfo"), false, SO_NONE, "\t--openclinfo Display platforms and devices for OpenCL.\n"));
INITBOOLOPTION(AllVars, Eob(eOptionUse::OPT_USE_GENOME, eOptionIDs::OPT_ALL_VARS, _T("--allvars"), false, SO_NONE, "\t--allvars Display the names of all supported variations.\n"));
INITBOOLOPTION(RegVars, Eob(eOptionUse::OPT_USE_GENOME, eOptionIDs::OPT_REG_VARS, _T("--regvars"), false, SO_NONE, "\t--regvars Display the names of all supported regular variations.\n"));
INITBOOLOPTION(PreVars, Eob(eOptionUse::OPT_USE_GENOME, eOptionIDs::OPT_PRE_VARS, _T("--prevars"), false, SO_NONE, "\t--prevars Display the names of all supported pre variations.\n"));
INITBOOLOPTION(PostVars, Eob(eOptionUse::OPT_USE_GENOME, eOptionIDs::OPT_POST_VARS, _T("--postvars"), false, SO_NONE, "\t--postvars Display the names of all supported post variations.\n"));
//Execution bools. //Execution bools.
INITBOOLOPTION(EmberCL, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_OPENCL, _T("--opencl"), false, SO_NONE, "\t--opencl Use OpenCL renderer (EmberCL) for rendering [default: false].\n")); INITBOOLOPTION(EmberCL, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_OPENCL, _T("--opencl"), false, SO_NONE, "\t--opencl Use OpenCL renderer (EmberCL) for rendering [default: false].\n"));
INITBOOLOPTION(EarlyClip, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_EARLYCLIP, _T("--earlyclip"), false, SO_NONE, "\t--earlyclip Perform clipping of RGB values before spatial filtering for better antialiasing and resizing [default: false].\n")); INITBOOLOPTION(EarlyClip, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_EARLYCLIP, _T("--earlyclip"), false, SO_NONE, "\t--earlyclip Perform clipping of RGB values before spatial filtering for better antialiasing and resizing [default: false].\n"));
@ -448,6 +456,10 @@ public:
PARSEBOOLOPTION(eOptionIDs::OPT_DUMP_ARGS, DumpArgs); PARSEBOOLOPTION(eOptionIDs::OPT_DUMP_ARGS, DumpArgs);
PARSEBOOLOPTION(eOptionIDs::OPT_PROGRESS, DoProgress); PARSEBOOLOPTION(eOptionIDs::OPT_PROGRESS, DoProgress);
PARSEBOOLOPTION(eOptionIDs::OPT_DUMP_OPENCL_INFO, OpenCLInfo); PARSEBOOLOPTION(eOptionIDs::OPT_DUMP_OPENCL_INFO, OpenCLInfo);
PARSEBOOLOPTION(eOptionIDs::OPT_ALL_VARS, AllVars);
PARSEBOOLOPTION(eOptionIDs::OPT_REG_VARS, RegVars);
PARSEBOOLOPTION(eOptionIDs::OPT_PRE_VARS, PreVars);
PARSEBOOLOPTION(eOptionIDs::OPT_POST_VARS, PostVars);
PARSEBOOLOPTION(eOptionIDs::OPT_OPENCL, EmberCL); PARSEBOOLOPTION(eOptionIDs::OPT_OPENCL, EmberCL);
PARSEBOOLOPTION(eOptionIDs::OPT_EARLYCLIP, EarlyClip); PARSEBOOLOPTION(eOptionIDs::OPT_EARLYCLIP, EarlyClip);
PARSEBOOLOPTION(eOptionIDs::OPT_POS_Y_UP, YAxisUp); PARSEBOOLOPTION(eOptionIDs::OPT_POS_Y_UP, YAxisUp);
@ -708,6 +720,10 @@ public:
Eob DumpArgs; Eob DumpArgs;
Eob DoProgress; Eob DoProgress;
Eob OpenCLInfo; Eob OpenCLInfo;
Eob AllVars;
Eob RegVars;
Eob PreVars;
Eob PostVars;
Eob EmberCL;//Value bool. Eob EmberCL;//Value bool.
Eob EarlyClip; Eob EarlyClip;

View File

@ -64,6 +64,39 @@ bool EmberGenome(EmberOptions& opt)
return true; return true;
} }
if (opt.AllVars() || opt.RegVars() || opt.PreVars() || opt.PostVars())
{
VariationList<T> vl;
if (opt.AllVars())
{
auto& vars = vl.AllVars();
for (auto& v : vars)
cout << v->Name() << "\n";
return true;
}
else
{
vector<Variation<T>*> vars;
if (opt.RegVars())
vars.insert(vars.end(), vl.RegVars().begin(), vl.RegVars().end());
if (opt.PreVars())
vars.insert(vars.end(), vl.PreVars().begin(), vl.PreVars().end());
if (opt.PostVars())
vars.insert(vars.end(), vl.PostVars().begin(), vl.PostVars().end());
for (auto& v : vars)
cout << v->Name() << "\n";
}
return true;
}
//Regular variables. //Regular variables.
Timing t; Timing t;
bool exactTimeMatch, randomMode, didColor, seqFlag; bool exactTimeMatch, randomMode, didColor, seqFlag;

View File

@ -49,8 +49,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,9,9,3 FILEVERSION 0,9,9,4
PRODUCTVERSION 0,9,9,3 PRODUCTVERSION 0,9,9,4
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.3" VALUE "FileVersion", "0.9.9.4"
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.3" VALUE "ProductVersion", "0.9.9.4"
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,3 FILEVERSION 0,9,9,4
PRODUCTVERSION 0,9,9,3 PRODUCTVERSION 0,9,9,4
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.3" VALUE "FileVersion", "0.9.9.4"
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.3" VALUE "ProductVersion", "0.9.9.4"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

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.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> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;br/&gt;Fractorium 0.9.9.4 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.