1.0.0.4 07/01/2017 Release

This commit is contained in:
Person 2017-07-01 09:18:01 -07:00
parent f66a278c73
commit f192bc7ae4
7 changed files with 74 additions and 30 deletions

View File

@ -1,4 +1,4 @@
VERSION = 1.0.0.2
VERSION = 1.0.0.4
win32:CONFIG += skip_target_version_ext
CONFIG += c++14
#message(PWD: $$absolute_path($$PWD))

View File

@ -1,3 +1,38 @@
1.0.0.4 07/01/2017
--User changes
-Add support for adjusting xform color indices in the palette editor. Fixed palettes can now be displayed there, but they will have no color arrows as they are not editable.
-Add support for independent dimension scaling in the EmberRender and EmberAnimate programs to bring them in line with the final render dialog Fractorium. The options are -ws, -hs and -scaletype.
-Limit size of the left side of the palette editor.
-dark.qss is now per-OS.
--Bug fixes
-Opacity was accidentally being set to zero sometimes which could cause flickering when animating.
-Fractorium would occasionally freeze after dismissing the final render dialog because some values were not properly re-initialized.
-File paths with a space in them did not work in the command line programs.
-Any Xml file in the search paths would erroneously be treated as a palette file.
-The following variations were wrong: coshq, cothq.
-During iteration, the color index could become nan if all xform color speeds were negative. This could lead to bad results on the GPU. Fix to check for nan. Minimal speed difference.
-Fix crash when opening palette editor with a flame whose palette specifies no originating file.
-Any measurement of time which was sub-millisecond was wrong.
--Code changes
-Remove VS 2013 build files.
-Qualify many calls with std:: to avoid colliding with glm::
-Change some for loops to while loops when iterating through xforms.
-Allow FractoriumEmberController<T>::UpdateXform() to be able to apply the action to an xform at a specific index.
-Remove old code blocks build files that were never used.
-Make GetPath() return empty string if no path is present in the passed in file path.
-GetTotalXform() was always counting the final xform, even if it was unused.
-Make the following variations safer by using Zeps(): sinq, sinhq, secq, sechq, tanq, tanhq, cosq, coshq, cotq, cothq, cscq, cschq, estiq.
-Always pass -cl-no-signed-zeros -cl-denorms-are-zero to kernel compiles for both single and double.
-Flush all denormals to zero for all executable programs. This will likely lead to a speedup for badly behaving flames.
-Make the following variations safer by using Zeps(): conic, bipolar, edisc, whorl, tan, csc, cot, tanh, sech, csch, coth, auger, bwraps, hypertile3d, hypertile3d1, ortho, poincare, rational3, barycentroid, sschecks, cscq, cschq, scry_3D, splitbrdr, hexcrop, nblur, crob.
-Small optimization for gdoffs, use precalcAtanYX.
-Properly propagate z through circlesplit, cylinder2 and tile_log variations.
-Some values in truchet_fill could've been NaN.
-Make most installation files read only.
-Use auto in more places.
1.0.0.3 04/06/2017
--User changes
-Remove opacity adjustment from legacy flam3 code base, it can lead to erroneous results.

View File

@ -203,6 +203,7 @@ string IterOpenCLKernelCreator<T>::CreateIterKernelString(const Ember<T>& ember,
}
xformFuncs << "\toutPoint->m_ColorX = tempColor + xform->m_DirectColor * (outPoint->m_ColorX - tempColor);\n";
xformFuncs << "\n";
xformFuncs << "\tif (isnan(outPoint->m_ColorX))\n";
xformFuncs << "\t outPoint->m_ColorX = 0.0; \n";
xformFuncs << "}\n"

View File

@ -1029,7 +1029,7 @@ bool OpenCLWrapper::CreateSPK(const string& name, const string& program, const s
if (doublePrecision)
err = spk.m_Program.build(m_DeviceVec, "-cl-mad-enable -cl-no-signed-zeros -cl-denorms-are-zero");//Tinker with other options later.
else
err = spk.m_Program.build(m_DeviceVec, "-cl-mad-enable -cl-no-signed-zeros -cl-single-precision-constant -cl-denorms-are-zero");
err = spk.m_Program.build(m_DeviceVec, "-cl-mad-enable -cl-no-signed-zeros -cl-denorms-are-zero -cl-single-precision-constant");
//err = spk.m_Program.build(m_DeviceVec, "-cl-single-precision-constant");
//err = spk.m_Program.build(m_DeviceVec, "-cl-mad-enable -cl-single-precision-constant");

View File

@ -1039,18 +1039,20 @@ bool TestConstants()
void TestFuncs()
{
//auto vlf(VariationList<float>::Instance());
//vector<string> stringVec;
//stringVec.push_back("/ (");
////stringVec.push_back("log(");
//for (size_t i = 0; i < vlf->Size(); i++)
//{
// auto var = vlf->GetVariation(i);
// if (SearchVar(var, stringVec, false))
// {
// cout << var->Name() << endl;
// }
//}
auto vlf(VariationList<float>::Instance());
vector<string> stringVec;
stringVec.push_back("M_PI");
//stringVec.push_back("log(");
for (size_t i = 0; i < vlf->Size(); i++)
{
auto var = vlf->GetVariation(i);
if (SearchVar(var, stringVec, false))
{
cout << var->Name() << endl;
}
}
}
bool TestGlobalFuncs()
@ -1963,8 +1965,8 @@ int _tmain(int argc, _TCHAR* argv[])
vector<Ember<double>> dv;
list<Ember<float>> fl;
list<Ember<double>> dl;
/* TestFuncs();
string line = "title=\"cj_aerie\" smooth=no", delim = " =\"";
TestFuncs();
/* string line = "title=\"cj_aerie\" smooth=no", delim = " =\"";
auto vec = Split(line, delim, true);
for (auto& s : vec) cout << s << endl;
@ -1990,25 +1992,25 @@ int _tmain(int argc, _TCHAR* argv[])
return 1;
*/
//MakeTestAllVarsRegPrePostComboFile("testallvarsout.flame");
/* return 0;
return 0;
/*
TestThreadedKernel();
TestThreadedKernel();
auto palf = PaletteList<float>::Instance();
Palette<float>* pal = palf->GetRandomPalette();
auto palf = PaletteList<float>::Instance();
Palette<float>* pal = palf->GetRandomPalette();
cout << pal->Size() << endl;
cout << pal->Size() << endl;
double d = 1;
double d = 1;
for (int i = 0; i < 10; i++)
{
cout << "log10(" << d << ") = " << std::max<uint>(1u, uint(std::log10(d)) + 1u) << endl;
d *= 10;
}
for (int i = 0; i < 10; i++)
{
cout << "log10(" << d << ") = " << std::max<uint>(1u, uint(std::log10(d)) + 1u) << endl;
d *= 10;
}
return 0;*/
return 0;*/
/*
uint i, iters = (uint)10e7;
size_t total = 0;

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
fractorium (1.0.0.4-0ubuntu1) xenial; urgency=low
* release 1.0.0.4
-- Matt Feemster <matt.feemster@gmail.com> Sat, 01 Jul 2017 08:54:30 -0700
fractorium (1.0.0.3-0ubuntu1) xenial; urgency=low
* release 1.0.0.3

View File

@ -115,7 +115,7 @@ tar --exclude='package-linux.sh' \
./Data/tatasz_pack_02_dark.gradient \
./Data/tatasz_pack_02_warmer.gradient \
./Data/tatasz_pack_03.gradient \
./Data/dark.qss \
./Data/dark_linux.qss \
.
[ $? -ne 0 ] && echo "Tar command failed." && exit 2