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