From 5f3a97e825289006491d369ce6a1ab019934b7d4 Mon Sep 17 00:00:00 2001 From: Person Date: Tue, 18 Sep 2018 20:49:38 -0700 Subject: [PATCH] --User changes -Further work on the About box. --Change qss files to make the text box in the About box be the same color as the one in the style dialog, so the link text is easier to see. --This requires reloading the qss file. --Bug fixes -Pre/post assign method was wrong for Sphereblur, Concentric, RandCubes and PixelFlow. --Code changes -Make Hypershift2 use MwcNextRange() instead of MwcNext() %. -Add m_HasPre to Xform similar to m_HasPost, to skip application of the affine if it's the ID matrix (in this case just assign the input x and y points). This gives a 5% speedup. --- Data/dark_linux.qss | 8 ++++++++ Data/dark_mac.qss | 8 ++++++++ Data/dark_windows.qss | 8 ++++++++ Source/Ember/Variations04.h | 14 +++++++------- Source/Ember/Variations07.h | 6 +++--- Source/Ember/VariationsDC.h | 4 ++-- Source/Ember/Xform.h | 19 +++++++++++++++++-- Source/EmberTester/EmberTester.cpp | 14 +++++++------- Source/Fractorium/AboutDialog.cpp | 2 ++ Source/Fractorium/AboutDialog.ui | 19 ++++++++++++++----- 10 files changed, 76 insertions(+), 26 deletions(-) diff --git a/Data/dark_linux.qss b/Data/dark_linux.qss index f224796..fc7f74d 100644 --- a/Data/dark_linux.qss +++ b/Data/dark_linux.qss @@ -81,6 +81,14 @@ QLineEdit, QTextEdit selection-background-color: darkgray; } +QTextEdit#CreditsTextBrowser +{ + border: 1px solid gray; + color: darkgray; + background-color: #FFFCE1; + selection-background-color: darkgray; +} + QToolTip { background-color: darkgray; diff --git a/Data/dark_mac.qss b/Data/dark_mac.qss index 97385cf..11b0347 100644 --- a/Data/dark_mac.qss +++ b/Data/dark_mac.qss @@ -81,6 +81,14 @@ QLineEdit, QTextEdit selection-background-color: darkgray; } +QTextEdit#CreditsTextBrowser +{ + border: 1px solid gray; + color: darkgray; + background-color: #FFFCE1; + selection-background-color: darkgray; +} + QToolTip { background-color: darkgray; diff --git a/Data/dark_windows.qss b/Data/dark_windows.qss index c6b260b..b5c604a 100644 --- a/Data/dark_windows.qss +++ b/Data/dark_windows.qss @@ -81,6 +81,14 @@ QLineEdit, QTextEdit selection-background-color: darkgray; } +QTextEdit#CreditsTextBrowser +{ + border: 1px solid gray; + color: darkgray; + background-color: #FFFCE1; + selection-background-color: darkgray; +} + QToolTip { background-color: darkgray; diff --git a/Source/Ember/Variations04.h b/Source/Ember/Variations04.h index 941533d..f5103bc 100644 --- a/Source/Ember/Variations04.h +++ b/Source/Ember/Variations04.h @@ -4515,8 +4515,8 @@ public: string cy = "parVars[" + ToUpper(m_Params[i++].Name()) + index; string b = "parVars[" + ToUpper(m_Params[i++].Name()) + index; ss << "\t{\n" - << "\t\treal_t oscX = GdoffsFosc(" << dx << ", 1);\n" - << "\t\treal_t oscY = GdoffsFosc(" << dy << ", 1);\n" + << "\t\treal_t oscX = GdoffsFosc_(" << dx << ", 1);\n" + << "\t\treal_t oscY = GdoffsFosc_(" << dy << ", 1);\n" << "\t\treal_t inX = vIn.x + " << cx << ";\n" << "\t\treal_t inY = vIn.y + " << cy << ";\n" << "\t\treal_t outX;\n" @@ -4524,13 +4524,13 @@ public: << "\n" << "\t\tif (" << square << " != 0)\n" << "\t\t{\n" - << "\t\t outX = GdoffsFlip(GdoffsFlip(inX, GdoffsFosc(inX, 4), oscX), GdoffsFosc(GdoffsFclp(" << b << " * inX), 4), oscX);\n" - << "\t\t outY = GdoffsFlip(GdoffsFlip(inY, GdoffsFosc(inY, 4), oscX), GdoffsFosc(GdoffsFclp(" << b << " * inY), 4), oscX);\n" + << "\t\t outX = GdoffsFlip(GdoffsFlip(inX, GdoffsFosc_(inX, 4), oscX), GdoffsFosc_(GdoffsFclp(" << b << " * inX), 4), oscX);\n" + << "\t\t outY = GdoffsFlip(GdoffsFlip(inY, GdoffsFosc_(inY, 4), oscX), GdoffsFosc_(GdoffsFclp(" << b << " * inY), 4), oscX);\n" << "\t\t}\n" << "\t\telse\n" << "\t\t{\n" - << "\t\t outX = GdoffsFlip(GdoffsFlip(inX, GdoffsFosc(inX, 4), oscX), GdoffsFosc(GdoffsFclp(" << b << " * inX), 4), oscX);\n" - << "\t\t outY = GdoffsFlip(GdoffsFlip(inY, GdoffsFosc(inY, 4), oscY), GdoffsFosc(GdoffsFclp(" << b << " * inY), 4), oscY);\n" + << "\t\t outX = GdoffsFlip(GdoffsFlip(inX, GdoffsFosc_(inX, 4), oscX), GdoffsFosc_(GdoffsFclp(" << b << " * inX), 4), oscX);\n" + << "\t\t outY = GdoffsFlip(GdoffsFlip(inY, GdoffsFosc_(inY, 4), oscY), GdoffsFosc_(GdoffsFclp(" << b << " * inY), 4), oscY);\n" << "\t\t}\n" << "\n" << "\t\tvOut.x = " << weight << " * outX;\n" @@ -4546,7 +4546,7 @@ public: "inline real_t GdoffsFcip(real_t a) { return (real_t)((a < 0) ? -((int)(fabs(a)) + 1) : 0) + ((a > 1) ? ((int)(a)) : 0); }\n" "inline real_t GdoffsFclp(real_t a) { return ((a < 0) ? -(fmod(fabs(a), 1)) : fmod(fabs(a), 1)); }\n" "inline real_t GdoffsFscl(real_t a) { return GdoffsFclp((a + 1) / 2); }\n" - "inline real_t GdoffsFosc(real_t p, real_t a) { return GdoffsFscl(-1 * cos(p * a * M_2PI)); }\n" + "inline real_t GdoffsFosc_(real_t p, real_t a) { return GdoffsFscl(-1 * cos(p * a * M_2PI)); }\n"//Underscore added to name to prevent false detection with the global function Fosc() in TestGlobalFuncs() in EmberTester. "inline real_t GdoffsFlip(real_t a, real_t b, real_t c) { return fma(c, (b - a), a); }\n" "\n"; } diff --git a/Source/Ember/Variations07.h b/Source/Ember/Variations07.h index 93238af..8195ac9 100644 --- a/Source/Ember/Variations07.h +++ b/Source/Ember/Variations07.h @@ -2214,7 +2214,7 @@ public: << "\t\treal_t x = rad * fx + " << shift << ";\n" << "\t\treal_t y = rad * fy;\n" << "\t\trad = " << weight << " * " << shift << " / Zeps(fma(x, x, SQR(y)));\n" - << "\t\treal_t angle = ((MwcNext(mwc) % (int)" << p << ") * 2 + 1) * M_PI / " << p << ";\n" + << "\t\treal_t angle = (MwcNextRange(mwc, (int)" << p << ") * 2 + 1) * M_PI / " << p << ";\n" << "\t\treal_t X = fma(rad, x, " << shift << ");\n" << "\t\treal_t Y = rad * y;\n" << "\t\treal_t cosa = cos(angle);\n" @@ -2287,9 +2287,9 @@ MAKEPREPOSTVAR(Panorama2, panorama2, PANORAMA2) //MAKEPREPOSTPARVAR(Arcsinh, arcsinh, ARCSINH) MAKEPREPOSTPARVAR(Helicoid, helicoid, HELICOID) MAKEPREPOSTPARVAR(Helix, helix, HELIX) -MAKEPREPOSTPARVAR(Sphereblur, sphereblur, SPHEREBLUR) +MAKEPREPOSTPARVARASSIGN(Sphereblur, sphereblur, SPHEREBLUR, eVariationAssignType::ASSIGNTYPE_SUM) MAKEPREPOSTPARVAR(Cpow3, cpow3, CPOW3) -MAKEPREPOSTPARVAR(Concentric, concentric, CONCENTRIC) +MAKEPREPOSTPARVARASSIGN(Concentric, concentric, CONCENTRIC, eVariationAssignType::ASSIGNTYPE_SUM) MAKEPREPOSTPARVAR(Hypercrop, hypercrop, HYPERCROP) MAKEPREPOSTPARVAR(Hypershift2, hypershift2, HYPERSHIFT2) } diff --git a/Source/Ember/VariationsDC.h b/Source/Ember/VariationsDC.h index 9ce3cd0..73b70dc 100644 --- a/Source/Ember/VariationsDC.h +++ b/Source/Ember/VariationsDC.h @@ -1657,6 +1657,6 @@ MAKEPREPOSTPARVAR(DCLinear, dc_linear, DC_LINEAR) MAKEPREPOSTPARVAR(DCTriangle, dc_triangle, DC_TRIANGLE) MAKEPREPOSTPARVAR(DCZTransl, dc_ztransl, DC_ZTRANSL) MAKEPREPOSTPARVAR(DCPerlin, dc_perlin, DC_PERLIN) -MAKEPREPOSTPARVAR(RandCubes, randCubes, RAND_CUBES) -MAKEPREPOSTPARVARASSIGN(PixelFlow, pixel_flow, PIXEL_FLOW, eVariationAssignType::ASSIGNTYPE_SUM) +MAKEPREPOSTPARVARASSIGN(RandCubes, randCubes, RAND_CUBES, eVariationAssignType::ASSIGNTYPE_SUM) +MAKEPREPOSTPARVAR(PixelFlow, pixel_flow, PIXEL_FLOW) } diff --git a/Source/Ember/Xform.h b/Source/Ember/Xform.h index 4f50d1e..77af5db 100644 --- a/Source/Ember/Xform.h +++ b/Source/Ember/Xform.h @@ -88,6 +88,7 @@ public: m_Post.D(pd); m_Post.E(pe); m_Post.F(pf); + m_HasPre = !m_Affine.IsID(); m_HasPost = !m_Post.IsID(); m_HasPreOrRegularVars = PreVariationCount() > 0 || VariationCount() > 0; CacheColorVals();//Init already called this, but must call again since color was assigned above. @@ -155,6 +156,7 @@ public: m_Animate = T(xform.m_Animate); m_Opacity = T(xform.m_Opacity); CacheColorVals(); + m_HasPre = xform.HasPre(); m_HasPost = xform.HasPost(); m_HasPreOrRegularVars = xform.PreVariationCount() > 0 || xform.VariationCount() > 0; m_Wind[0] = T(xform.m_Wind[0]); @@ -262,6 +264,7 @@ public: m_NeedPrecalcAngles = false; m_NeedPrecalcAtanXY = false; m_NeedPrecalcAtanYX = false; + m_HasPre = false; m_HasPost = false; m_HasPreOrRegularVars = false; m_ParentEmber = nullptr; @@ -605,8 +608,17 @@ public: //Compute the pre affine portion of the transform. //These x, y values are what get passed to the variations below. //Note that they are not changed after this, except in the case of pre_ variations. - iterHelper.m_TransX = (m_Affine.A() * inPoint->m_X) + (m_Affine.B() * inPoint->m_Y) + m_Affine.C(); - iterHelper.m_TransY = (m_Affine.D() * inPoint->m_X) + (m_Affine.E() * inPoint->m_Y) + m_Affine.F(); + if (m_HasPre) + { + iterHelper.m_TransX = (m_Affine.A() * inPoint->m_X) + (m_Affine.B() * inPoint->m_Y) + m_Affine.C(); + iterHelper.m_TransY = (m_Affine.D() * inPoint->m_X) + (m_Affine.E() * inPoint->m_Y) + m_Affine.F(); + } + else + { + iterHelper.m_TransX = inPoint->m_X; + iterHelper.m_TransY = inPoint->m_Y; + } + iterHelper.m_TransZ = inPoint->m_Z; //Apply pre_ variations, these don't affect outPoint, only iterHelper.m_TransX, Y, Z. @@ -786,6 +798,7 @@ public: inline bool NeedPrecalcAtanXY() const { return m_NeedPrecalcAtanXY; } inline bool NeedPrecalcAtanYX() const { return m_NeedPrecalcAtanYX; } inline bool NeedAnyPrecalc() const { return NeedPrecalcSumSquares() || NeedPrecalcSqrtSumSquares() || NeedPrecalcAngles() || NeedPrecalcAtanXY() || NeedPrecalcAtanYX(); } + bool HasPre() const { return m_HasPre; } bool HasPost() const { return m_HasPost; } size_t PreVariationCount() const { return m_PreVariations.size(); } size_t VariationCount() const { return m_Variations.size(); } @@ -812,6 +825,7 @@ public: m_NeedPrecalcAngles = false; m_NeedPrecalcAtanXY = false; m_NeedPrecalcAtanYX = false; + m_HasPre = !m_Affine.IsID(); m_HasPost = !m_Post.IsID(); m_HasPreOrRegularVars = PreVariationCount() > 0 || VariationCount() > 0; @@ -1184,6 +1198,7 @@ public: private: vector*> m_PreVariations;//The list of pre variations to call when applying this xform. vector*> m_Variations;//The list of variations to call when applying this xform. + bool m_HasPre;//Whether a pre affine transform is present. bool m_HasPost;//Whether a post affine transform is present. public: diff --git a/Source/EmberTester/EmberTester.cpp b/Source/EmberTester/EmberTester.cpp index 316b88b..b25d30f 100644 --- a/Source/EmberTester/EmberTester.cpp +++ b/Source/EmberTester/EmberTester.cpp @@ -2088,10 +2088,10 @@ int _tmain(int argc, _TCHAR* argv[]) for (auto& pix : pixels) { - pix.r = 1.0; - pix.b = 0.0; - pix.a = 1.0; - //pix.r = std::numeric_limits::max(); + pix.r = 1.0; + pix.b = 0.0; + pix.a = 1.0; + //pix.r = std::numeric_limits::max(); } writeRgba1(filename.c_str(), pixels.data(), w, h); @@ -2123,12 +2123,12 @@ int _tmain(int argc, _TCHAR* argv[]) */ //MakeTestAllVarsRegPrePostComboFile("testallvarsout.flame"); //cout << (10.0 / 2.0 * 5.0) << endl; - FindFmaCandidates(); + //FindFmaCandidates(); //FindFmaImplemented(); //cout << 5 * 3 + 2 << endl; //cout << 2 + 5 * 3 << endl; - return 0; - /* + /* return 0; + TestThreadedKernel(); auto palf = PaletteList::Instance(); diff --git a/Source/Fractorium/AboutDialog.cpp b/Source/Fractorium/AboutDialog.cpp index 1fdeeda..88ee20c 100644 --- a/Source/Fractorium/AboutDialog.cpp +++ b/Source/Fractorium/AboutDialog.cpp @@ -16,4 +16,6 @@ FractoriumAboutDialog::FractoriumAboutDialog(QWidget* p, Qt::WindowFlags f) setMaximumHeight(height()); setMinimumWidth(width()); setMaximumWidth(width()); + ui.CreditsTextBrowser->setOpenLinks(true); + ui.CreditsTextBrowser->setOpenExternalLinks(true); } diff --git a/Source/Fractorium/AboutDialog.ui b/Source/Fractorium/AboutDialog.ui index 632f976..e9c83b3 100644 --- a/Source/Fractorium/AboutDialog.ui +++ b/Source/Fractorium/AboutDialog.ui @@ -93,7 +93,7 @@ - + true @@ -106,12 +106,12 @@ p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.875pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Developers:</span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Lead: Matt Feemster<br />Contributors: </span><a href="http://blog.highlyillogical.org/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Simon Detheridge</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/triptychaos"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Michel Mastriani.</span></a></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Lead: </span><a href="http://www.fractorium.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Matt Feemster</span></a><span style=" font-size:10pt;"><br />Contributors: </span><a href="http://blog.highlyillogical.org/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Simon Detheridge</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/triptychaos"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Michel Mastriani.</span></a></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Builders, Testers and Advisors:</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Linux deployment: </span><a href="https://launchpad.net/~fractorium"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Gambhiro Bhikkhu</span></a><span style=" font-size:10pt;">.</span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Testing and Feedback: </span><a href="http://snicker02.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Brad Stefanov</span></a><span style=" font-size:10pt;">, </span><a href="http://www.fxysw.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Fengda</span></a><span style=" font-size:10pt;">, </span><a href="http://b33rheart.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Gabor Timar</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/jeddaka"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Jeddaka,</span></a><span style=" font-size:10pt;"> </span><a href="http://boosthardware.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Patrick Shirkey</span></a><span style=" font-size:10pt;">, </span><a href="http://nightmaretf.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Richard Vollebregt</span></a><span style=" font-size:10pt;">, </span><a href="http://blog.highlyillogical.org/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Simon Detheridge</span></a><span style=" font-size:10pt;">, Tai.</span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Code and theory questions: </span><a href="https://github.com/scottdraves/flam3"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Erik Reckase</span></a><span style=" font-size:10pt;">, </span><a href="http://fractron9000.sourceforge.net/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Mike Thiesen</span></a><span style=" font-size:10pt;">, </span><a href="https://github.com/scottdraves/flam3"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Scott Draves</span></a><span style=" font-size:10pt;">, </span><a href="https://github.com/stevenrobertson/cuburn"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Steve Robertson</span></a><span style=" font-size:10pt;">, </span><a href="http://www.chaoticafractals.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Thomas Ludwig</span></a><span style=" font-size:10pt;">.</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Testing and Feedback: </span><a href="http://snicker02.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Brad Stefanov</span></a><span style=" font-size:10pt;">, </span><a href="http://www.fxysw.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Fengda</span></a><span style=" font-size:10pt;">, </span><a href="http://b33rheart.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Gabor Timar</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/jeddaka"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Jeddaka,</span></a><span style=" font-size:10pt;"> </span><a href="http://boosthardware.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Patrick Shirkey</span></a><span style=" font-size:10pt;">, </span><a href="http://nightmaretf.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Richard Vollebregt</span></a><span style=" font-size:10pt;">, </span><a href="http://blog.highlyillogical.org/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Simon Detheridge</span></a><span style=" font-size:10pt;">, Tai.</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Code and theory questions: </span><a href="https://github.com/scottdraves/flam3"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Erik Reckase</span></a><span style=" font-size:10pt;">, </span><a href="http://fractron9000.sourceforge.net/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Mike Thiesen</span></a><span style=" font-size:10pt;">, </span><a href="https://github.com/scottdraves/flam3"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Scott Draves</span></a><span style=" font-size:10pt;">, </span><a href="https://github.com/stevenrobertson/cuburn"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Steve Robertson</span></a><span style=" font-size:10pt;">, </span><a href="http://www.chaoticafractals.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Thomas Ludwig</span></a><span style=" font-size:10pt;">.</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Code Copied:</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://github.com/scottdraves/flam3"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">flam3</span></a><span style=" font-size:10pt;">: Scott Draves, Erik Reckase (GPL v2)<br /></span><a href="http://github.com/stevenrobertson/cuburn"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">cuburn</span></a><span style=" font-size:10pt;">: Steven Robertson, Michael Semeniuk, Matthew Znoj, Nicolas Mejia (GPL v3)<br /></span><a href="http://fractron9000.sourceforge.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Fractron 9000</span></a><span style=" font-size:10pt;">: Mike Thiesen (GPL)<br /></span><a href="http://sourceforge.net/projects/apophysis7x"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Apophysis</span></a><span style=" font-size:10pt;">: Mark Townsend, Ronald Hordijk, Peter Sdobnov, Piotr Borys, Georg Kiehne (GPL)<br /></span><a href="http://jwildfire.org/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">JWildfire</span></a><span style=" font-size:10pt;">: Andreas Maschke (LGPL)<br />gradLib: Stian Broen<br />ColorPickerWidget: Etienne Moutot<br />Numerous Apophysis plugin developers (GPL)</span></p> @@ -120,7 +120,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.qt.io/developers/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Qt</span></a><span style=" font-size:10pt;">: Digia Plc (GPL v3, LGPL v2)<br /></span><a href="http://g-truc.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">glm</span></a><span style=" font-size:10pt;">: Christophe Riccio (MIT License)<br /></span><a href="http://threadingbuildingblocks.org"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Threading Building Blocks</span></a><span style=" font-size:10pt;">: Intel Corporation (GPLv2)<br /></span><a href="http://libjpeg.sourceforge.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">libjpeg</span></a><span style=" font-size:10pt;">: Independent JPEG Group (Free Software License)<br /></span><a href="http://libpng.org"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">libpng</span></a><span style=" font-size:10pt;">: Glenn Randers-Pehrson et al (Libpng License)<br /></span><a href="http://xmlsoft.org"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">libxml2</span></a><span style=" font-size:10pt;">: Daniel Veillard (MIT License)<br /></span><a href="http://zlib.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">zlib</span></a><span style=" font-size:10pt;">: Jean-loup Gailly, Mark Adler (Zlib License)<br /></span><a href="http://burtleburtle.net/bob/cplus/isaac.hpp"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">QTIsaac</span></a><span style=" font-size:10pt;">: Robert J. Jenkins, Quinn Tyler Jackson (Public Domain)<br /></span><a href="http://cas.ee.ic.ac.uk/people/dt10/research/rngs-gpu-mwc64x.html"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">MWC64X Random Number Generator</span></a><span style=" font-size:10pt;">: David Thomas (Public Domain)<br /></span><a href="https://github.com/brofield/simpleopt"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">SimpleOpt</span></a><span style=" font-size:10pt;">: Brodie Thiesfield (MIT License)</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Icons and Palettes Used:</span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Palettes</span><span style=" font-size:10pt;">: Boxtail, FarDareisMai, FractalDesire, Rce, Tatasz (Public Domain)<br /></span><a href="http://famfamfam.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Silk</span></a><span style=" font-size:10pt;">: Mark James (Creative Commons Attribution 2.5 License)<br /></span><a href="http://momentumdesignlab.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Momentum</span></a><span style=" font-size:10pt;">: Momentum Design Lab (Creative Commons Attribution-ShareAlike 3.5 License)<br /></span><a href="http://everaldo.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Crystal Clear</span></a><span style=" font-size:10pt;">: Everaldo Coelho (LGPL)<br /></span><a href="http://openiconlibrary.sourceforge.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Open Icon Library</span></a><span style=" font-size:10pt;">: Jeff Israel (GPL, LGPL, Creative Commons, Public Domain)<br /></span><a href="http://icons.mysitemyway.com/category/3d-transparent-glass-icons/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">3D Transparent Glass</span></a><span style=" font-size:10pt;">: iconsETC (Public Domain)<br /></span><a href="http://p.yusukekamiyamane.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Fugue</span></a><span style=" font-size:10pt;">: Yusuke Kamiyamane (Creative Commons Attribution 3.0 License)</span></p></body></html> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Palettes: </span><a href="https://www.deviantart.com/boxtail"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Boxtail</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/fardareismai"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">FarDareisMai</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/fractaldesire"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">FractalDesire</span></a><span style=" font-size:10pt;">, Rce, </span><a href="https://www.deviantart.com/tatasz"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Tatasz</span></a><span style=" font-size:10pt;"> (Public Domain)<br /></span><a href="http://famfamfam.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Silk</span></a><span style=" font-size:10pt;">: Mark James (Creative Commons Attribution 2.5 License)<br /></span><a href="http://momentumdesignlab.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Momentum</span></a><span style=" font-size:10pt;">: Momentum Design Lab (Creative Commons Attribution-ShareAlike 3.5 License)<br /></span><a href="http://everaldo.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Crystal Clear</span></a><span style=" font-size:10pt;">: Everaldo Coelho (LGPL)<br /></span><a href="http://openiconlibrary.sourceforge.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Open Icon Library</span></a><span style=" font-size:10pt;">: Jeff Israel (GPL, LGPL, Creative Commons, Public Domain)<br /></span><a href="http://icons.mysitemyway.com/category/3d-transparent-glass-icons/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">3D Transparent Glass</span></a><span style=" font-size:10pt;">: iconsETC (Public Domain)<br /></span><a href="http://p.yusukekamiyamane.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Fugue</span></a><span style=" font-size:10pt;">: Yusuke Kamiyamane (Creative Commons Attribution 3.0 License)</span></p></body></html> + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + true + + + false