--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"?>
<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 UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?>
<?define Manufacturer="Fractorium"?>
@ -13,7 +13,7 @@
<!--
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)">
<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
{
#define EMBER_VERSION "0.9.9.3"
#define EMBER_VERSION "0.9.9.4"
#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 ISAAC_SIZE 4

View File

@ -541,6 +541,11 @@ public:
size_t PostSize() const { return m_PostVariations.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:
/// <summary>
/// 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
FILEVERSION 0,9,9,3
PRODUCTVERSION 0,9,9,3
FILEVERSION 0,9,9,4
PRODUCTVERSION 0,9,9,4
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -67,12 +67,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Open Source"
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 "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3"
VALUE "OriginalFilename", "EmberAnimate.exe"
VALUE "ProductName", "Ember Animate"
VALUE "ProductVersion", "0.9.9.3"
VALUE "ProductVersion", "0.9.9.4"
END
END
BLOCK "VarFileInfo"

View File

@ -35,6 +35,10 @@ enum class eOptionIDs : et
OPT_DUMP_ARGS,
OPT_PROGRESS,
OPT_DUMP_OPENCL_INFO,
OPT_ALL_VARS,
OPT_REG_VARS,
OPT_PRE_VARS,
OPT_POST_VARS,
//Boolean args.
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(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(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.
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"));
@ -448,6 +456,10 @@ public:
PARSEBOOLOPTION(eOptionIDs::OPT_DUMP_ARGS, DumpArgs);
PARSEBOOLOPTION(eOptionIDs::OPT_PROGRESS, DoProgress);
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_EARLYCLIP, EarlyClip);
PARSEBOOLOPTION(eOptionIDs::OPT_POS_Y_UP, YAxisUp);
@ -708,6 +720,10 @@ public:
Eob DumpArgs;
Eob DoProgress;
Eob OpenCLInfo;
Eob AllVars;
Eob RegVars;
Eob PreVars;
Eob PostVars;
Eob EmberCL;//Value bool.
Eob EarlyClip;

View File

@ -64,6 +64,39 @@ bool EmberGenome(EmberOptions& opt)
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.
Timing t;
bool exactTimeMatch, randomMode, didColor, seqFlag;

View File

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

View File

@ -49,8 +49,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,9,9,3
PRODUCTVERSION 0,9,9,3
FILEVERSION 0,9,9,4
PRODUCTVERSION 0,9,9,4
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -67,12 +67,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Open Source"
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 "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3"
VALUE "OriginalFilename", "EmberRender.exe"
VALUE "ProductName", "Ember Render"
VALUE "ProductVersion", "0.9.9.3"
VALUE "ProductVersion", "0.9.9.4"
END
END
BLOCK "VarFileInfo"

View File

@ -58,7 +58,7 @@
<enum>QFrame::NoFrame</enum>
</property>
<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 name="textFormat">
<enum>Qt::RichText</enum>

Binary file not shown.