Commit Graph

277 Commits

Author SHA1 Message Date
Claude Heiland-Allen
a1f7455b97 add alternative for _strnicmp on non-Windows 2024-01-30 14:02:57 -07:00
Person
9990d538f6 --User changes
-Show image index in the library and sequence trees.
 -Add progress bar showing when preview renders are complete.
 -Automatically show animation preview when sequence generation is done.
 -Add the ability in the final render dialog to start a render within a sequence from a given point, rather than always having to start from the beginning.
 --Allow using the image index as its name rather than the file name.
2023-12-19 13:24:50 -07:00
Person
c3078f018a --User changes
-Update various tooltips.
 -Increase precision of affine and xaos spinners.
 -Increase precision of fields written in Xml files to 8.

--Bug fixes
 -When rendering on the CPU, if the number of threads didn't divide evenly into the number of rows, it would leave a blank spot on the last few rows.
 -Fix numerous parsing bugs when reading .chaos files.
 -Added compatibility fixes and/or optimizations to the following variations: asteria, bcircle, bcollide, bipolar, blob2, btransform, cell, circlecrop, circlecrop2, collideoscope, cpow2, cropn, cross, curl, depth_ngon2, depth_sine2, edisc, eRotate, escher, fan2, hex_rand, hypershift, hypershift2, hypertile1, julia, julian, julian2, juliaq, juliascope, lazyjess, log, loonie2, murl, murl2, npolar, oscilloscope2, perspective, phoenix_julia, sphericaln, squish, starblur, starblur2, truchet, truchet_glyph, waffle, wavesn.
2023-11-29 15:47:31 -07:00
Person
b3ad38020e --User changes
-Add a progress bar for sequence previews.

--Bug fixes
 -Attempt to prevent crash when dragging in a new file while the previews from the current file are still rendering.
2023-11-23 14:52:34 -07:00
Person
745f06d29d --User changes
-Remove the Type field from the variations tree and instead just put the type indicator icon next to the variation name.
 -Double clicking to toggle variation parameter spinners now resets the value to the default if there is one, else it uses zero. If it is already using the default, it is toggled to 0.
 -Add a new button to toggle xaos on and off.
 -When duplicating a flame, insert it immediately after the one being duplicated instead of at the end of the file.
 -When switching between flames in a file, keep the same xform index selected rather than resetting it to the first xform each time.
 -Create a threaded writer for the final render and EmberAnimate so the rendering process does not get delayed by file saving which may take a long time.
 -Remove warning which said "Frames per rot cannot be greater than one while Rotations is zero" when generating a sequence.
 -Add the Circle_Rand variation from Chaotica.
 -Add tool tips to clarify the following items:
 --Auto Unique Filenames checkbox in the options dialog.
 --Xaos table headers.

--Bug fixes
 -Generating sequences using the following variations would be done incorrectly: circletrans1, collideoscope, crob, curlsp, glynnsim1, glynnsim2, hypercrop, julian, julian, mobiusn, nblur, waves2, wavesn.
 -Adding/removing nodes from the color curve had accidentally been disabled.
 -The applied xaos weight table was not showing normalized weight values.
 -Changing the size of a flame was not observing the Apply To All checkbox.
 -Do not clamp the Rotate field to +/-180, because this causes the rotation to switch from CW to CCW during sequence generation. Instead, leave it exactly as the user entered it so the rotations proceed in the same direction.
2023-11-21 22:58:22 -07:00
Michel Mastriani
ec35cf92c7 final macOS 2023-07-18 22:50:43 -03:00
Person
6db97a231a --Code changes
-Begin preparation for 23.23.8.1 release.
2023-07-17 10:16:51 -06:00
Person
484b2e3123 --User changes
-Fix stylesheets.
-Make various fields in the options window be resettable via double click.
-Get stylesheets working properly on Windows and Linux with Qt6.
-Set default style to Fusion.

--Code changes
-Get build and deployment scripts working with latest versions of Qt6, AppImage, and various library dependencies.
-Add two new macros so it would build with the latest gcc: SINGLETON_DERIVED_DECL_T and SINGLETON_DERIVED_IMPL_T.
-Small changes to opencl.hpp.
-Center progress bars on Linux.
-Proper sizing of vertical header on the xaos visualization table on Linux.
2023-06-22 19:25:53 -06:00
Person
1dfbd4eff2 --User changes
-Add new preset dimensions to the right click menu of the width and height fields in the editor.
-Change QSS stylesheets to properly handle tabs.
-Make tabs rectangular by default. For some reason, they had always been triangular.

--Bug fixes
 -Incremental rendering times in the editor were wrong.

--Code changes
 -Migrate to Qt6. There is probably more work to be done here.
-Migrate to VS2022.
-Migrate to Wix 4 installer.
-Change installer to install to program files for all users.
-Fix many VS2022 code analysis warnings.
-No longer use byte typedef, because std::byte is now a type. Revert all back to unsigned char.
-Upgrade OpenCL headers to version 3.0 and keep locally now rather than trying to look for system files.
-No longer link to Nvidia or AMD specific OpenCL libraries. Use the generic installer located at OCL_ROOT too.
-Add the ability to change OpenCL grid dimensions. This was attempted for investigating possible performance improvments, but made no difference.

This has not been verified on Linux or Mac yet.
2023-04-25 17:59:54 -06:00
Person
2909af2408 --Code changes
-Cleanup and small bug fix for the new animation preview feature.
2022-02-28 20:36:11 -07:00
Matt Feemster
4bbc8466e2 Merged animate_review_prework_part2 into master 2022-02-28 06:07:56 +00:00
Seth Troisi
9558f81e69 --Code Change
-Remove unused `varIndex = IndexInXform;`
    Removes 2087 instances of  [-Wunused-variable] warnings
2022-02-27 20:42:31 -08:00
Seth Troisi
344c8c6457 --Code Change
-Fix compiler warnings in XmlToEmber
2022-02-27 20:39:13 -08:00
Person
ee7ca7065e --Code changes
-Remove all dependencies on Intel Threading Building Blocks.
 -Write our own version of parallel_for().
2021-12-29 23:10:54 -07:00
Person
f476afa545 --Bug fixes
-Numbering of rendered files was wrong.
 -Truchet_hex_fill was not compiling with some newer Nvidia drivers.

--Code changes
 -Update Wix installer to use VS 2019.
2021-08-08 15:20:09 -06:00
Person
a726b99dea --Code changes
-Modernize some C++ code.
2021-04-19 21:53:25 -06:00
Person
8086cfa731 22.21.4.2 4/19/2021
--User changes
 -Allow users to set the Exp value when using the Exp temporal filter type.
 -Set the default temporal filter type to be Box, which does not alter the palette values at all during animation. This is done to avoid confusion when using Gaussian or Exp which can produce darkened images.

--Bug fixes
 -Sending a sequence to the final render dialog when the keyframes had non zero rotate and center Y values would produce off center animations when rendered.
 -Temporal filters were being unnecessarily recreated many times when rendering or generating sequences.
 -Exp filter was always treated like a Box filter.

--Code changes
 -Add a new member function SaveCurrentAsXml(QString filename = "") to the controllers which is only used for testing.
 -Modernize some C++ code.
2021-04-19 21:07:24 -06:00
Person
f411c355f3 21.21.4.1 Release 2021-04-07 08:49:35 -06:00
Person
0956cd6592 --User changes
-Allow for specifying linear or smooth interpolation when generating a sequence in the Library tab (was formerly hardcoded to smooth). This has the effect of exposing the --unsmoother option used in EmberGenome in the GUI.
 -Clarify tool tips of the sequence interpolation fields in the animation group on the Flame tab.
 -Change caption of the Bounds tab to be Bounds & Log.
2021-03-28 20:37:02 -06:00
Person
6156036370 --Bug fixes
-depth_blur2 was wrong.
2021-02-04 23:49:06 -08:00
Person
e3e5120130 --Bug fixes
-Sequence generation was generating the wrong color curves when a non-default curve had less than 5 nodes in it.
2021-02-03 00:49:10 -08:00
Person
c23d2ad049 --Bug fixes
-ETA in the final render dialog was not correct when doing incremental renders.
2021-01-21 20:48:45 -08:00
Person
b31f45251c --Bug fixes
-bcircle was not properly setting output values to zero when the bcircle_borderwidth was zero.
2021-01-13 21:43:10 -08:00
Michel Mastriani
81253863cc --Bug fixes -Pixel_flow sincos x,y was inverted 2021-01-03 13:32:04 +00:00
Person
47b6614c8a --Bug fixes
-Fix improper usage of rand() in cpow2, cpow3, hypertile1, hypertile3D1, hypertile3D2, juliac, juliaq.
 -Fix program crashing during density filtering on some Nvidia cards.
 -hypertile3D1 was wrong.
 -Parsing phoenix_julia when coming from Apophysis was wrong.
 -Density filtering was freezing on certain Nvidia cards.

--Code changes
 -Optimize juliac, npolar.
 -Add a new function Crand() which behaves like the legacy C rand() which returns an integer between 0 and 32766, inclusive.
 -Use RandBit() in some places.
 -Remove Zeps() from vignette, it's not needed.
 -Restructure OpenCL code for density filtering such that it does not hang after being compiled on some Nvidia cards, such as the gtx 1660. Remove barriers from conditionals where possible.
2020-12-28 21:46:55 -08:00
Person
36b71278ec --Bug fixes
-Fix bug in previous vignette variation.
2020-08-01 18:05:14 -07:00
Person
99cc597abc --Code changes
-Add vignette variation.
2020-07-30 19:55:37 -07:00
Person
c0a1395a2b --Bug fixes
-Add support for Chaotica files which specify xform weight as "Base weight" instead of "base_weight".
 -Fix bug where Fractorium would crash when a new file was dragged in while previews were still rendering.
  --This was done by changing the TreeItemChanged() events in the library tab use a direct connection rather than a queued connection.
  --This obviated the need for QCoreApplication::processEvents() calls in the library tree code.
 -Fix bug where renaming a flame within a file, then tabbing away did not commit the name change.

--Code changes
 -Clean up some warnings about const variables in the latest version of Visual Studio 2019.
 -Upgrade installer to latest update of Visual Studio 2019.
2020-07-14 17:45:07 -07:00
Person
39414b2263 --Bug fixes
-Fix possible OpenCL bugs in cubic3D, cubicLattice3D, dc_cube, falloff, falloff2, falloff3, waffle.

--Code changes
 -Upgrade to Visual Studio 2019.
2020-04-11 20:07:12 -07:00
Michel Mastriani
e741ba880e Fixed cubic3D and cubicLattice_3D variations for AMD GPUs 2020-04-10 15:46:51 +00:00
Person
b9ce48f649 --Bug fixes
-ETA time was wrong with incremental final renders after waiting for a period of time.

--Code changes
 -Small change to prevent parsing error when using tbb on some systems.
2020-04-09 15:41:49 -07:00
Person
d2893010f0 1.0.0.19 Re-release
--Bug fixes
 -Blur Cuve never worked with strips.
 -Images with temporal filter width values below 0.6 would sometimes create blank images.
2020-03-18 19:34:56 -07:00
Person
58d5124a05 --Bug fixes
-Previous commit removing a field ruined strips renders.
2020-03-17 07:16:14 -07:00
Person
0323d035bf 1.0.0.19 Re-release
--Bug fixes
 -New Blur Curve math was not applied on the CPU.
2020-03-15 23:51:25 -07:00
Person
f170811e09 --Code changes
-Remove the unused field m_RotCenterY from Ember.
 -Make a #define for fma() testing, but seems to make no difference.
 -Optimize some of the OpenCL iteration kernel generation code.
 -Possible fix to an OpenCL compilation bug when using blur curve on AMD on Mac.
2020-03-15 00:40:57 -07:00
Person
61ddc06151 --User changes
-Allow dragging in folders which will be recursively traversed for flame files.
 -Allow for adjusting scale via keyboard with the < and > keys.
 -Show the count of opened flames on the header of the library tree.

--Bug fixes
 -Attempt to preserve xaos when pasting xforms.

--Code changes
 -Default flam3 compatibility mode to true.
2020-03-08 14:17:13 -07:00
Person
ea649bbda6 --User changes
-Add backward compatibility option for the following variations: cos, cosh, cot, coth, csc, csch, sec, sech, sin, sinh, tan, tanh.
 -Add the ability to re-order variations by dragging them in the Info tab.
2020-03-04 22:30:08 -08:00
Person
c50568a98b --Bug fixes
-Custom palettes were not being read correctly on non ANSI machines.

--Code changes
 -Prepare files for next release.
2020-02-25 18:31:44 -08:00
Person
8c66fa2c24 --Bug fixes
-Fix crash on palette editor when opening it with certain palette files in a particular order.
 -An xform with only a post variation in it might have showed up wrong.
 -The xforms combo box was obscuring the name of the xforms by not being wide enough.
 -Make variation state preservation be a little bit more correct in OpenCL.

--Code changes
 -Make all iterators on the CPU use a temporary point.
2020-02-17 18:45:02 -08:00
Person
3b261124b2 --User changes
-Optimization and correction for hexaplay3D and hexnix3D.
 -Major optimization on the GPU for flames which only have one xform, by skipping all random xform selection code.
 -Changes to how xaos is "preserved" when adding new xforms, copying xforms and duplicating xforms.
 --Duplicating xforms when no xaos is present in the flame now maintains not using xaos, and keeps all values as one.
 --Duplicating xforms when xaos is present, will result in xaos rows and columns that are the same as the xforms being duplicated, with the new row and column area having values of 1.
 --Duplicating xforms when xaos is present, while Control is pressed, will result in xaos rows and columns that have values of 0, with the new row and column area having values of 1.
 ---Copying xforms has the same behavior as duplicating with Control pressed.

--Bug fixes
 -hexaplay3D, hexnix3D and post_smartcrop were wrong on the GPU because they are the rare variations which preserve state between iterations.
 -Changing the sub batch size would improperly wrong the wrong number of iterations.

--Code changes
 -Some functions in Affine2D made const.
 -Change in the index at which points and variation state are preserved between kernel calls.
 -Some arguments in some member functions of GLEmberController made const.
2020-01-25 11:12:49 -08:00
Person
207ace6c67 --Code changes
-Small optimization for cubic3D.
 -Code cleanup for cubicLattice_3D.
2020-01-19 14:29:04 -08:00
Person
5f08e54bd4 --User changes
-Add new Blur Cuve field which controls how blurring increases when moving from the center out.

--Bug fixes
 -Undo Y axis flipping from previous commit, it never worked and is not worth the effort.

--Code changes
 -The new field is a member of Ember and is called m_BlurCurve, and the corresponding xml field is called "blur_curve".
2020-01-18 22:29:08 -08:00
Person
f806ba745d --User changes
-Change how the PositiveYUp option is actually handled to make things more compatible with Apophysis. depending on the value of that option:
 --Moving an affine up or down will mean a positive or negative value.
 --Locally, the display of the affine will be flipped.

--Bug fixes
 -Fix waffle.
2020-01-16 20:22:41 -08:00
Person
ed35622928 --User changes
-Add new style sheet called uranium that is reminiscent of the old Winamp color scheme of the same name.
 -All for keyboard presses to edit affines.
 --Q: rotate counter clockwise.
 --E: rotate clockwise.
 --W: move up.
 --S: move down.
 --A: move left.
 --D: move right.
 --G: shrink.
 --H: grow.
 --Hold shift to decrease amount, control to increase amount.
 -Change some menu shortcuts to accommodate these new affine editing shortcuts.
 -Random xaos now just provides values of either 0 or 1. Hold control to get the old behavior.

--Bug fixes
 -Waffle variation was broken in OpenCL.
2020-01-14 20:08:27 -08:00
Michel Mastriani
9747889c88 Variations02.h edited online with Bitbucket 2020-01-07 15:59:01 +00:00
Person
9577d580cc --Bug fixes
-Fix OpenCL compilation bugs in a few variations.

--Code changes
 -Pre/post variations are now checked for precalcs when creating the OpenCL kernel code.
 -Change some enumeration t
2019-12-31 23:01:30 -08:00
Person
0b0405382f --Bug fixes
-Fix variations: blob2 (broken on CPU), epispiral, hole.
 -Fix reading variations from Apophysis: supershape.
 -Bump render was broken.

--Code changes
 -Flip precalc sina/cosa and apply everywhere by flipping the usage. Flam3 had these reversed and it made the code confusing to read.
2019-12-27 21:04:41 -08:00
Person
5a26ed5044 --Code changes
-Add an include for Variations01.h which will allow a developer to make a build which is fully compatible with flam3.
2019-10-02 20:24:55 -07:00
Person
4a150132e1 --User changes
-Improve performance in the following variations: cpow2, dc_cube, julia3d, julia3dz, julian2, log_db, nblur, npolar, waffle, wavesn, xtrb.

--Code changes
 -Rand range now uses multiply + shift rather than modulo.
2019-07-24 18:29:33 -07:00
Person
ee1d5eb44d --Bug fixes
-Fix some potential OpenCL compilation bugs on circlecrop, circlecrop2, oscilloscope2, Truchet_hex_crop.
 -Prevent the minus key from changing the current xform when being pressed in a textbox.

--Code changes
 -Cleanup some casting in depth_blur, depth_blur2.
2019-06-24 19:43:15 -07:00