Commit Graph

360 Commits

Author SHA1 Message Date
Person
264aa8c454 --Bug fixes
-Fix out of bounds crash in EmberGenome.
2018-06-19 19:32:20 -07:00
Person
6ff199d1ef --User changes
-No longer constrain pitch, yaw or depth spinners to -180 - 180.

--Bug fixes
 -Properly set color index on padded xforms.
 -Adding a padding final xform included a linear variation with a weight of zero to not appear empty. Made it have a weight of 1.
 -Always write animate tag on final xform when saving to Xml.
 -Motion was being applied to the wrong flame in SheepTools::Edge(), so apply it to the correct one.
 -Prevent divide by zero when normalizing variation weights.
 -Was accidentally adding the placeholder value of -9999 for motion_offset to varation weights and parameters when applying motion. Set to zero if no value present.
 -Clamp flame rotation values to -180 - 180 when reading a flame from Xml.
 -Events were not properly wired for user changes in the random rotations per blend controls in the sequencer.
 -Fix major UI bugs with sequencer min/max random controls which made it nearly impossible to hand type values.
 -Values from rotations per blend and rotations per blend max were not being saved to file between program runs.
 -Checking animate for an xform was not applied to all flames even if Apply All was checked.
 -Changing interpolation type, temporal filter width, temporal type, and affine interpolation type were not actually saving to the flame when changed.
 -Grid on the main window was not being drawn at the right scale initially due to some OpenGL initialization occurring in the wrong order.
 -Severe bugs in sequence generation code:
  --Improperly detected padding xforms.
  --When looking for specific variations during xform aligning, only presence was detected, when it should have been presence plus a weight greater than zero.
  --When adding specific variations during xform aligning, must first remove any variations of that type.
  --Two variables were unsigned when they should have been signed. This prevented large blocks of code from ever executing.
  --When interpolating affines, an EPS that was too small was used, causing affine values to interpolate incorrectly. Instead use 1e-10 to ensure results equal to flam3.

--Code changes
 -Modify FractoriumEmberController::UpdateXform() to pass the selected xform index as well as the absolute index to func().
2018-06-12 21:20:15 -07:00
Person
93fcedebd4 1.0.0.9 Release
--Bug fixes
 -Pausing did not work when using OpenCL renderer.
2018-05-13 11:02:37 -07:00
Person
4352fab84d --Code changes
-Add include statements for Mac.
2018-05-04 19:38:47 -07:00
Person
dba1bdc6c8 --Code changes
-Make previous path related code work for all OSes.
2018-05-03 00:24:51 -07:00
Person
ccf5a7e80f --Bug fixes
-Allow running from outside of the folder the executable is in on Windows, by adding the install folder to the PATH variable. This was needed to properly find the palette file (even though it's mostly unneeded).
2018-05-02 18:23:26 -07:00
Person
f15620375b --Code changes
-Fix erroneous export statement in Ember.cpp.
 -Add using statement in RendererCL.h.
2018-05-01 16:46:18 -07:00
Person
92e9836151 --User changes
-Add two new variations, hyperbolic and hypershift2.
 -Allow for animating final xforms.
 -More detailed diagnostics when any action in the OpenCL renderer fails.
 -Allow for creating an OpenCL renderer which does not share a texture with the main window, and instead manually copies its final output image from GPU to CPU then back to GPU.

--Bug fixes
 -Text was not properly being copied out of the Info | Bounds text box.

--Code changes
 -Remove Renderer::AccumulatorToFinalImage(v4F* pixels, size_t finalOffset), it's no longer needed or makes sense.
 -Controllers no longer keep track of shared status, it's kept inside the renderers.
 -Make getter functions in FractoriumOptionsDialog be public.
2018-04-28 22:28:05 -07:00
Person
0c67c52720 --Bug fixes
-Fix bug where animate flag was not properly being set.
2018-04-13 17:45:31 -07:00
Person
5c8837707c --Code changes
-Get GLSL code working on Mac and Linux.
2018-04-10 18:52:43 -07:00
Person
d6131b67e5 --Code changes
-Attempt to get GLSL working on Linux. Does not work.
2018-04-04 18:54:32 -07:00
Person
ae7b1f3ba8 --User changes
-Allow for pausing and resuming of final renders.

--Code changes
 -Only instantiate float version of Palette and PaletteList, no need for double since it's never used.
 -Allow for FinalRenderDialog to be queried on whether it's currently rendering.
2018-03-30 09:56:24 -07:00
Person
cd1749fe5f --User changes
-Add the ability to drag the rotation of the current palette via the palette preview table.
2018-03-29 16:10:22 -07:00
Person
ed74fd6a83 --User changes
-Convert OpenGL drawing code to use GLSL. Leave #define in until testing on multiple platforms is done.
 -Always use double precision extension defines in OpenCL programs, even if DP is not selected. This is because elliptic now always uses DP.
2018-03-27 21:32:10 -07:00
Person
90e7097d7f --User changes
-Added pixel_flow variation from user bezo97.
2018-02-04 11:44:22 -08:00
Person
b0dae7795a --Bug fixes
-Fix a variety of very strange bugs when clicking around on palettes in different files in the palette editor.
2018-01-29 22:14:48 -08:00
Person
4c53364f62 --Bug fixes
-Allow 7 decimal places in variations spinners.
 -Try to prevent infinite loop that sometimes happens when drawing grid. Unsure if this actually works since it's very hard to reproduce.
2018-01-28 17:51:19 -08:00
Person
4636c1047d --Bug fixes
-Change variation spin boxes to only show the precision needed, and also allow scientific notation.
2018-01-28 11:40:34 -08:00
Person
3f83b49cf0 --Bug fixes
-Clicking random palette when using a palette file with only two entries in it could lead to a program freeze.
2017-12-22 20:07:24 -08:00
Person
49b6ef20c1 --Bug fixes
-Update /debian/changelog to use a newer version of ubuntu named artful. Users will need to add that PPA to get it via apt.
-Update copyright year to 2018.
2017-12-21 22:11:18 -08:00
Person
7a343606b4 --Bug fixes
-Fix crash when creating a dummy renderer when showing the final render dialog.
 -Fix default tab size with new version of Qt.
2017-12-21 20:09:08 -08:00
Person
6d38e57b38 --User changes
-Add new variations: rays1, rays2, rays3.
2017-12-17 20:44:40 -08:00
Person
244d2f5dc2 --Bug fixes
-Allow group dragging and floating of dock widgets.
 --Note this has a bug where if tabls are grouped while floating, the tab position is placed on the bottom. It restores to the top when dropping on a dock location. I've filed a bug at qt.io
 -Make some tables auto size to their contents because some text appeared obscured on Linux.
 -The size of the xforms and palette tabs were preventing the main window from being resized to a small size on lower resolution monitors when docked. So rework scroll areas, minimum sizes and layouts to allow for a smaller main window.
2017-12-15 21:05:58 -08:00
Person
5646b5162a --Bug fixes
-Fix build.sh for Mac.
 -No longer need special code for color dialog on Mac.
 -Fix OpenGL blending issues on Mac.
2017-12-15 16:22:00 -08:00
Person
6874688940 --Bug fixes
-Opening an Xml was not properly setting the background field on the GUI, even though it was correctly parsed and used.
2017-12-14 17:31:47 -08:00
Person
2900416e96 --Code changes
-Attempt to fix OpenGL drawing changes on Mac.
 -Allow toggling of color speed spinner to zero.
2017-12-13 15:32:50 -08:00
Person
f28edf3217 --Code changes
-Add a benchmarking suite which includes a Powershell script and sample flames.
2017-12-04 20:56:43 -08:00
Person
1c835160d7 --Code changes
-Forgot using statement for Variation::WeightDefineString().
2017-11-27 16:29:57 -08:00
Person
13d3200c1e --Bug fixes
-Fix some dialog sizing problems present in the last commit.
2017-11-26 18:24:08 -08:00
Person
59fb29f5b7 For some reason these didn't get committed. 2017-11-26 17:29:58 -08:00
Person
fcd060976c --User changes
-Support 4k monitors, and in general, properly scale any monitor that is not HD.
 -Allow for a spatial filter of radius zero, which means do not use a spatial filter.
 -Add new variations: concentric, cpow3, helicoid, helix, rand_cubes, sphereblur.
 -Use a new method for computing elliptic which is more precise. Developed by Discord user Claude.
 -Remove the 8 variation per xform limitation on the GPU.
 -Allow for loading the last flame file on startup, rather than randoms.
 -Use two different default quality values in the interactive renderer, one each for CPU and GPU.
 -Creating linked xforms was using non-standard behavior. Make it match Apo and also support creating multiple linked xforms at once.

--Bug fixes
 -No variations in an xform used to have the same behavior as a single linear variation with weight 1. While sensible, this breaks backward compatibility. No variations now sets the output point to zeroes.
 -Prevent crashing the program when adjusting a value on the main window while a final render is in progress.
 -The xaos table was inverted.

--Code changes
 -Convert projects to Visual Studio 2017.
 -Change bad vals from +- 1e10 to +-1e20.
 -Reintroduce the symmetry tag in xforms for legacy support in programs that do not use color_speed.
 -Compiler will not let us use default values in templated member functions anymore.
2017-11-26 17:27:00 -08:00
Person
be1bfd9ab6 1.0.0.6 09/03/2017 Release (Linux) 2017-09-03 13:26:42 -07:00
Person
98ff28a9a9 1.0.0.6 Release
--Bug fixes
 -Strips renders crashed.
 -Better handling of large memory allocations by forcing a free of previous allocations.
 -Final render dialog did not properly save last used extension setting.
 -Density filtering progress bar in final render dialog did not update if only log scaling was being used.
2017-09-02 23:01:10 -07:00
Person
43dcdd4305 1.0.0.5 08/28/2017 Release 2017-08-28 20:45:58 -07:00
Person
5da944f589 Bug fixes:
--Cleaner exit on some failures.
--Better reporting of OpenCL errors.
2017-08-27 21:24:33 -07:00
Person
4749a7aec4 Bug fixes:
--Better locks around creating image files in command line programs.
2017-08-22 20:13:25 -07:00
Person
50485f5d73 Bug fixes:
--EXR images needed the values to be squared to look correct.
2017-08-22 18:07:43 -07:00
Person
b677e6355e Bug fixes:
--Only allow crackle_cellsize to be greater than 0.
2017-08-18 07:16:30 -07:00
Person
48a6111bf9 Bug fixes:
--Typing in the xform color index spinner produced strange results.
--Returning from palette editor did not always update xform color indices.
2017-08-17 22:40:03 -07:00
Person
59f5bffc3c Features:
--Added panorama1 and panorama2 variations.

Bug fixes:
--crackle had a bug with Nvidia GPUs.

Code changes:
--crackle now uses real_t* for cache rather than real2. This is what was causing the bug.
--Make the local offsets array used in crackle a precalc since it's the same for all. This reduces register pressure.
--Get rid of all usages of real3, just to be safe since Nvidia doesn't like them.
--#define TOTAL_GLOBAL_SIZE_END in the OpenCL iteration kernel just for debugging purposes to see how large the parvars buffer is.
2017-08-16 17:33:11 -07:00
Person
6c9d9e57cc Bug fixes:
--Disallow the use of synth when randomly generating xforms if the user has an Nvidia device present on their system.

Code changes:
--Use some CPU defines in CL code.
--Change curves color scaling buffer to be 2^16 per channel instead of 2^17 which was probably overkill.
--Code in RendererClDevice::Init() to detect Nvidia was wrong even thought it technically worked.
2017-08-07 19:53:13 -07:00
Person
a0ed758999 Code changes:
--Fix include paths for openexr on Mac.
--Use static_partitioner in all parallel_for() calls.
2017-08-03 19:56:14 -07:00
Person
a81b93d94a Bug fixes:
--Fix bug where clearing the final xform, but leaving it present, then editing it would crash the program.
2017-07-26 21:25:44 -07:00
Person
0e19ec901a Code changes:
--Get installer ready.
2017-07-22 22:24:04 -07:00
Person
8f2218326a Bug fixes:
--Fix logic for showing context menu when the option for right click to toggle is true.
2017-07-22 18:30:25 -07:00
Person
de613404de Features:
--Add support for Exr files which use 32-bit floats for each RGBA channel. Seems to come out too washed out.
--Allow for clearing an individual color curve.
--Allow for saving multiple image types in EmberRender and EmberAnimate. All writes are threaded.
--Remove --bpc command line argument. Add format png16 as a replacement.
--Remove --enable_jpg_comments and --enable_png_comments command line arguments, and replace them with --enable_comments which applies to jpg, png and exr.
--Add menu items to variations and affine spinners which allow for easy entry of specific numeric values like pi.
--Make final render dialog be wider rather than so tall.

Bug fixes:
--Fix some OpenCL compile errors on Mac.
--Remove ability to save bitmap files on all platforms but Windows.

Code changes:
--New dependency on OpenEXR.
--Allow Curves class to interact with objects of a different template type.
--Make m_Curves member of Ember always use float as template type.
--Set the length of the curves array to always be 2^17 which should offer enough precision with new 32-bit float pixel types.
--Set pixel types to always be 32-bit float. This results in a major reduction of code in the final accumulation part of Renderer.h/cpp.
--Remove corresponding code from RendererCL and FinalAccumOpenCLKernelCreator.
--Remove Transparency, NumChannels and BytesPerPixel setters from Renderer.h/cpp.
--Add new global functions to format final image buffers and place all alpha calculation and scaling code in them.
--Blending is no longer needed in OpenGLWidget because of the new pixel type.
--Make new class, AffineDoubleSpinBox.
--Attempt to make file save dialog code work the same on all OSes.
--Remove some unused functions.
2017-07-22 13:43:35 -07:00
Person
2adf9f3ff9 --Bug fixes
-Attempt to fix several OpenCL build errors that were occurring on Mac.

--Code changes
 -Improve the coloring code during final accum by getting rid of the last remnants of unnecessary scaling to 255 from flam3.
 -Begin work of supporting 16bpc on the GPU.
2017-07-04 23:08:06 -07:00
Person
f192bc7ae4 1.0.0.4 07/01/2017 Release 2017-07-01 09:18:01 -07:00
Person
f66a278c73 06/11/2017
--Code changes
 -Make the OS-specific stylesheets part of the installer.
2017-06-11 15:02:44 -07:00
Person
c4e891b18c 06/09/2017
--User changes
 -dark.qss is now per-OS.
 -Properly set/reload palette when coming from the palette editor. The latter must be done if they've modified the current palette even if they've clicked cancel.

--Bug fixes
 -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.
 -Fix bug enabling/disabling overwrite button in palette editor.
 -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.

--Code changes
 -Make most installation files read only.
 -Qualify many calls with std:: to ensure they're not colliding with glm::
 -Use auto in more places.
2017-06-09 19:38:06 -07:00
Person
11ca4f9000 06/6/2017
--Bug fixes
 -Any measurement of time which was sub-millisecond was wrong.
2017-06-06 20:13:30 -07:00
Person
c194d708fd 06/6/2017
--Bug fixes
 -Fix crash when opening palette editor with a flame whose palette specifies no originating file.

--Code changes
 -Revert font changes, only use qss for these now.
2017-06-06 16:41:00 -07:00
Person
66a597df39 06/04/2017
--User changes
 -Make all fonts be MS Shell Dlg 2. This will require reloading dark.qss if users are already using it.
 -Limit size of the left side of the palette editor.
 -Disable create from image buttons in the palette editor when working on a fixed palette.

--Bug fixes
 -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.

--Code changes
 -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 programs.
2017-06-04 17:37:29 -07:00
Person
5a8b4b1148 05/31/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.

--Bug fixes
 -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.

--Code changes
 -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.
2017-05-31 19:50:05 -07:00
Person
f4bdc1c50a 05/12/2017
--Bug fixes
 -Fractorium would occasionally freeze after dismissing the final render dialog because some values were not properly re-initialized.

--Code changes
 -Remove VS 2013 build files.
 -Qualify sqrt with std:: in ColorTriangle.cpp
2017-05-12 15:31:48 -07:00
Person
59489e40cb --Bug fixes
-Opacity was accidentally being set to zero when clearing.
2017-04-09 10:10:45 -07:00
Person
24cb304918 --Bug fixes
-Fix build error on Mac.
2017-04-04 20:00:39 -07:00
Person
2773ef27f7 --Bug fixes:
-Fix path bugs when creating dialogs on Mac.
 -Add new setting for path when creating palette from image.
2017-04-04 16:21:58 -07:00
Person
2f54215e65 --Bug fixes
-On delete, select the library item closest to the last one which was deleted.
2017-03-30 17:10:44 -07:00
Person
dea12ee96a --Code changes
-Bump to version 1.0.0.3
 -Remove all code for opacity adjustment, it's no longer needed.
 -Small optimization on accumulating to the histogram on the CPU.
2017-03-27 18:05:06 -07:00
Person
71abee0396 --Bug fixes
-Double clicking min/max DE filter spinners would not trigger a render reset if the other was non-zero. The fix has the downside of triggering a change event when scrolling even if the value is already capped. This is an acceptable tradeoff.
2017-03-21 20:09:10 -07:00
Person
a83c0f95bc --Bug fixes
-Remove old flam3 opacity/vizadjusted code. It makes no sense and produces bad results.
2017-03-21 19:02:31 -07:00
Person
d59538869b Linux release. 2017-03-16 17:37:22 -07:00
Person
7862cf4c40 --Bug fixes
-Set path to libxml2 properly on Mac in defaults.pri
 -Workaround for color picker dialog crashing on program exit on Mac
2017-03-12 18:34:45 -07:00
Person
188a5216d5 --Bug fixes
-Deleting, then overwriting a palette used the wrong index and was not updating.
2017-03-11 10:26:00 -08:00
Person
a1862c5c1d --Bug fixes
-Add min/max size on Palette Editor button to prevent weird resizing on Mac.
2017-03-11 09:25:08 -08:00
Person
74a371e567 --Bug fixes
-Do not reset rendering process when arrow is double clicked in the palette editor, because nothing has changed.
2017-03-07 18:15:53 -08:00
Person
d6b112dd32 --Bug fixes:
-Xaos has been wrong this entire time on the GPU because it was not selecting from the unweighted distributions on the very first iteration when fusing.
2017-03-05 08:32:58 -08:00
Person
2fba807777 --Bug fixes:
-Query matrices when drawing affines even if they are set not to be drawn because the values are used elsewhere.
 -No longer need to move library items on a delayed timer when dragging and dropping.
2017-03-04 07:46:28 -08:00
Person
621a037c2a --Bug Fixes
-Fix strange spurious crash in library tab when switching between SP and DP.
 -Compensate for severe Qt bug where dragging and dropping disjoint items in the Library tree would resort the dropped items in special situations.
 -Move Info.plist to Data folder.
 -Ensure RTTI is included in build.
 -Add darker versions of .png icons.
2017-03-02 20:04:47 -08:00
Person
cfb766f728 --Bug Fixes:
-Save palettes values in flame files as uppercase.
2017-02-28 19:01:49 -08:00
Person
9b810d529f --Bug fixes
-Update Mac build script build.sh.
 -Remove legacy build_osx_package.sh script.
 -Fix affine zooming bug on Mac.
2017-02-27 16:11:51 -08:00
Person
29c084a058 --Bug fixes
-Add missing Mac build files.
 -Convert PaletteList into a Singleton<T>.
2017-02-26 09:34:43 -08:00
Person
00189531fc --Bug fixes
-Forgot to commit icons.
2017-02-26 08:05:14 -08:00
Person
8a4127d5d7 --User changes
-Add a palette editor.
 -Add support for reading .ugr/.gradient/.gradients palette files.
 -Allow toggling on spinners whose minimum value is not zero.
 -Allow toggling display of image, affines and grid.
 -Add new variations: cylinder2, circlesplit, tile_log, truchet_fill, waves2_radial.

--Bug fixes
 -cpow2 was wrong.
 -Palettes with rapid changes in color would produce slightly different outputs from Apo/Chaotica. This was due to a long standing bug from flam3.
 -Use exec() on Apple and show() on all other OSes for dialog boxes.
 -Trying to render a sequence with no frames would crash.
 -Selecting multiple xforms and rotating them would produce the wrong rotation.
 -Better handling when parsing flames using different encoding, such as unicode and UTF-8.
 -Switching between SP/DP didn't reselect the selected flame in the Library tab.

--Code changes
 -Make all types concerning palettes be floats, including PaletteTableWidgetItem.
 -PaletteTableWidgetItem is no longer templated because all palettes are float.
 -Include the source colors for user created gradients.
 -Change parallel_for() calls to work with very old versions of TBB which are lingering on some systems.
 -Split conditional out of accumulation loop on the CPU for better performance.
 -Vectorize summing when doing density filter for better performance.
 -Make all usage of palettes be of type float, double is pointless.
 -Allow palettes to reside in multiple folders, while ensuring only one of each name is added.
 -Refactor some palette path searching code.
 -Make ReadFile() throw and catch an exception if the file operation fails.
 -A little extra safety in foci and foci3D with a call to Zeps().
 -Cast to (real_t) in the OpenCL string for the w variation, which was having trouble compiling on Mac.
 -Fixing missing comma between paths in InitPaletteList().
 -Move Xml and PaletteList classes into cpp to shorten build times when working on them.
 -Remove default param values for IterOpenCLKernelCreator<T>::SharedDataIndexDefines in cpp file.
 -Change more NULL to nullptr.
2017-02-26 00:02:21 -08:00
Person
5cdfe0b6b9 1.0.0.2 12/05/2016
--User changes
 -Add many tooltips to help clarify functionality.
 -Select multiple flames in library for del/move. Still only one allowed to be set as the current.
 -Show checkbox for current flame. Remember this is not necessarily what's selected.
 -User can now drag a square to select xforms, which keeps in sync with checkboxes.
 -Remove --nframes from command line. Replace with new params: --loopframes, --interpframes, --interploops.
 -Add two new options to EmberGenome: --cwloops --cwinterploops to specify whether rotation should go clockwise instead of the default counter clockwise.
 -Add these to Fractorium as checkboxes.
 -Apply All now also works for toggling animate flag on xforms.
 -Options dialog now allows user to set whether double click toggles spinners, or right click does.

--Bug fixes
 -Selecting final and non-final xforms, and then dragging the non-final did not drag the final with it.
 -Selecting all xforms when a final was present, then deleting crashed the program.
 -Remove support for ppm files in the command line programs, it's an outdated format.
 -Switching between SP and DP kept reapplying the palette adjustments.

--Code changes
 -Move build system to Visual Studio 2015 and Qt 5.6.
 -SSE used during addition of points to the histogram.
 -Remove last remnants of old flam3 C code and replace with C++.
 -Remove unused code involving tbb::task_group.
 -Make settings object a global shared_ptr singleton, so it doesn't have to be passed around.
2016-12-05 19:04:33 -08:00
mfeemster
edd1a0c9cc --Bug fixes
-Highlight power values less than 0 were accidentally disabled on the UI.
2016-06-21 19:27:37 -07:00
mfeemster
f8133c73bf Exit beta and move revision to an official 1.0 release. 2016-06-17 17:19:13 -07:00
mfeemster
b328cc6a01 --User changes
-Add fractorium.com link to the about box.
2016-06-13 19:26:03 -07:00
mfeemster
45cafc66da --Bug fixes
-Automatically check Apply to All on final render dialog when coming from Render Sequence button.
2016-06-13 17:59:17 -07:00
mfeemster
881927bb0a --Bug fixes
-Apply template when saving sequences.
 -Was improperly setting name of sequence file.
2016-06-13 16:33:51 -07:00
mfeemster
2e518aeebb --Bug fixes
-Make stagger a double instead of a bool.
 -Save stagger values to settings.
 -Random stagger was being set in the wrong place.
 -Save rotation values as double rather than int.
2016-06-11 19:01:19 -07:00
mfeemster
c91171d392 --User changes
-Add animation sequence creation to Fractorium.
 -Add two new options to EmberGenome which are used when generating an animation sequence.:
  --startcount: Add this number to the filename of each flame.
  --padding: Override the automatically calculated amount of padding zeroes added to each filename.

--Bug fixes
 -Prevent filenames in command line programs from using scientific notation when rendering a large number of frames.
 -Fix tab orders to match newer GUI items which were overlooked in previous releases.
 -Re-render previews if transparency value in the options dialog was changed. Re-rendering was previously only done if early clip or y axis up was changed.
 -Use transparency when rendering thumbnail previews.

--Code changes
 -Wrap EmberCommon.h in a namespace called EmberCommon.
 -Move FormatName() from EmberGenome to EmberCommon.h/cpp
 -Add a prefix parameter to EmberFile::DefaultFilename() to allow for creating a default filename for sequences.
 -When showing the final render dialog, allow specifying where it came from: the toolbar or the render sequence button.
 -Refactor all preview rendering code out into its own class hierarchy with overrides for the main window and the final render dialog.
 -Remove all preview render cancelling functions, they are now built into the new class hierarchy and a new render will not start until the previous one is stopped.
 -Add two new function ConstrainLow() and ConstrainHigh() which wrap constraining two min/max spinboxes to each others' values.
 -Add a bool to FractoriumEmberControllerBase::CopyEmberFile() to specify whether to copy the main file or the sequence file. This is somewhat of a hack and was done in a rush.
 -Add a bool to FractoriumEmberControllerBase::SetEmberFile() to specify whether to move the file rather than copy. This is used in FinalRenderEmberController and improves efficiency.
 -Add wrapper functions for variations filter dialog settings.
2016-06-11 17:47:03 -07:00
mfeemster
51c1cc7a83 --Bug fixes
-Switching between SP and DP before previews had finished would set the current flame back to the first one in the file.
2016-06-07 20:37:15 -07:00
mfeemster
1f50394cb4 --User Changes
-Tooltip cleanups.
2016-05-30 13:35:33 -07:00
Matt Feemster
ad336bb2b7 Fix randomization of post affines.
-Bug fixes:
--Make post affines properly randomize.

-Code changes:
--Use references rather than pointers when grabbing pre/post affines.
2016-05-24 07:02:05 -07:00
mfeemster
991275a656 --User changes
-Add a button to randomize both pre and post affine transforms to values between -1 to 1.
2016-05-23 19:48:04 -07:00
mfeemster
cffeceec99 --User changes
-Add a new option --statevars to EmberGenome to list the variations which change state.
 -Allow for filtering in the Variations Dialog based on the same types listed in the EmberGenome options.

--Code changes
 -More correctly populate VariationList::m_ParametricVariations and VariationList::m_NonParametricVariations to account for variations which have params only used for precalc.
 -Consolidate some of the code in VariationList which searches by name.
2016-05-18 16:48:40 -07:00
mfeemster
33cc2a4326 --Bug fixes
-Fix final render dialog failure when minimizing and restoring during a render on Linux. Note this bug was not present on Windows.
2016-05-16 19:24:45 -07:00
mfeemster
5aec58b4a2 --User changes
-Add new options to EmberGenome to better help assess which variations have certain characteristics. The options are:
  --sumvars: Display the names of all regular variations which have the default behavior of summing their outputs and exit.
  --assignvars: Display the names of all regular variations which have the non-standard behavior of assigning their outputs and exit.
  --ppsumvars: Display the names of all pre/post variations which have the non-standard behavior of summing their outputs and exit.
  --ppassignvars: Display the names of all pre/post variations which have the default behavior of assigning their outputs and exit.
  --dcvars: Display the names of all variations which use direct coloring and exit.
  --parvars: Display the names of all variations which have parameters and exit.
  --nonparvars: Display the names of all variations which do not have parameters (weight only) and exit.

--Code changes
 -Make VariationList vectors have const elements since no callers should ever change them.
 -Add new function to VariationList to retrieve a const ref to the parametric variations.
 -Move some search functions out of EmberTester and into EmberCommon.h.
 -General code cleanup.
2016-05-14 23:33:08 -07:00
mfeemster
42de2d107a 0.9.9.6 Beta Release 2016-05-05 17:46:27 -07:00
mfeemster
b5341c7d79 --User changes
-Remove --time option for EmberAnimate, it was redundant with --frame.
 -Make --enable_jpg_comments and --enable_png_comments just be bools that when present mean true, rather than having to specify =true.
 -Add a new argument --ts for EmberAnimate to allow the user to specify the temporal samples value to use for the entire animation. Useful for testing.

--Bug fixes
 -Properly seed rands in EmberAnimate when specifying --isaac_seed and using more than one device with --opencl.

--Code changes
 --Small cleanup to flatten/unflatten all code.
 --Make EmberOptionEntry<T>::operator() return a const reference instead of a copy.
2016-05-05 16:11:30 -07:00
mfeemster
95a71ea6d7 --User changes
-Add apply all functionality to flatten/unflatten menu items.
2016-05-02 17:49:58 -07:00
mfeemster
bbc5d0c783 --User changes
-Highlight power is now on by default.
 -Allow for adjustments on the Flame tab to apply to all open flames in the file.
 -Add two new buttons to the color tab to randomize and toggle the xform color indices.
 -Remove the --strip option from EmberGenome. It was useless and was likely just a carry over from flam3 during its early debugging stages when testing strips.
 -Make randoms in EmberGenome have default dimensions of 1920 x 1080.
 -Prevent --inter and --rotate in EmberGenome from rotating backward before the first flame since it doesn't really make sense.
 -Ensure every loaded flame has at least one xform in it.
 -Change dark.qss to hide dotted selection outline around checkboxes. Users must reload it to take effect.

--Bug fixes
 -The saving of last.flame during editing was appending the file when it should have been replacing.
 -It was impossible for EmberGenome to create a random flame. It can now be done by specifying no arguments: EmberGenome.exe
 -Crossing in EmberGenome was not logging the performed actions to the edit Xml tag.
 -Apply sub batch size and fuse count to template files used on the command line.
 -Use new default filter types with template files.

--Code changes
 -Use cerr in SheepTools instead of cout.
 -Set m_SubBatchSize and m_FuseCount to default values in Ember::Clear().
 -Clean up some command line options text formatting.
2016-05-02 16:54:56 -07:00
mfeemster
1f0cc4bb4a --User changes
-Always force times of each flame to increase from zero when saving a file.
 -Remove check for times when doing a sequence in EmberGenome because the original times are never used there.

--Bug fixes
 -Multi-GPU synchronization was not actually thread safe and was likely doing less iters than requested. It is now properly synchronized.

--Code changes
 -Optimize Interpolater by making it a non-static class by adding some members used for caching values during interpolation.
 -Cache values in SheepTools as well, which was already a non-static class.
 -General cleanup.
2016-04-23 09:02:09 -07:00
mfeemster
322c630b8f --Code changes
-Pass XML_PARSE_HUGE to xmlReadMemory() to allow for reading large Xml files.
2016-04-21 18:43:52 -07:00
Matt Feemster
cac7308776 Misc intermediate fixes, more work on these to follow.
--Bug fixes:
-Fix crash when using smooth interpolation in EmberGenome.
-Print error and exit EmberGenome when sequencing if times are not
sorted.

--Code changes:
-Another attempt at Singleton. This reverts the design to what it was
before with a fix to the code that was causing it not to behave like a
singleton should.
2016-04-21 15:33:00 -07:00
mfeemster
d639921d68 --User changes
-crackle is now 5-10 times faster as a result of using cached values as is done on the CPU. These were previously omitted due to a bug elsewhere in the code that was erroneously attributed to the crackle caching mechanism.
 -Report precision in command line programs.
2016-04-14 19:32:42 -07:00
mfeemster
0fbea60026 --User changes
-Edits will not save back to the file in memory on render completion when preview renderer is running.

--Bug fixes
 -dc_perlin was crashing on Nvidia when using SP.
 -Duplicate images were randomly getting added to the file in memory.
 -Crash when opening an Xml with less than 2 flames in it.

--Code changes
 -Use raw array of floats in OpenCL for perlin noise, rather than float3/double3.
 -Add some default cases to dc_perlin.
 -Redo singleton pattern yet again. Deriving from a templated Singleton<T> class was creating a separate instance per module. Now only one instance of each type will ever be created and it will be wrapped in a shared_ptr which guarantees its deletion as main() exits.
2016-04-13 20:59:57 -07:00
mfeemster
7715910362 --User changes
-The concept of "saving back to file in memory" has been removed. The current ember is saved back to memory whenever the render completes and the thumbnail will be updated each time.
 -Command line programs now default to using double precision.
 -The --bits argument has been removed and replaced with --sp to specify single precision. If omitted, DP is used.
 -Remove the --seed option, it was never used.
 -Remove the --sub_batch_size option, it has been part of the Xml for a long time.
 -Remove --hex_palette argument for EmberRender, it only makes sense in EmberAnimate and EmberGenome.
 -Set enable_jpg_comments and enable_png_comments to false by default. It was a very bad idea to have them be true because it reveals the flame parameters used to render the image which many artists guard closely.

--Bug fixes
 -Continuous update was broken.
 -Undo list was broken with new Library tab design.
 -Force repaint on xform checkbox change to ensure circles are immediately drawn around selected xforms.

--Code changes
 -Remove save to back to file in memory icon, document-hf-insert.png.
2016-04-11 18:15:14 -07:00