mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-01-21 05:00:06 -05:00
1.0.0.4 07/01/2017 Release
This commit is contained in:
parent
f66a278c73
commit
f192bc7ae4
@ -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))
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
@ -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");
|
||||
|
@ -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
6
debian/changelog
vendored
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user