Commit Graph

117 Commits

Author SHA1 Message Date
Simon Detheridge
24ce030c2f Change hotkeys for copy/paste selected xforms
Apple users will very much expect command-Q to exit the app.

I'm not sure if it's possible to change these just for mac... People may be used to them being on Q/W on Windows?
2015-07-24 15:57:05 +01:00
mfeemster
e16c6a825f --User changes
-Add variations filter/selection dialog.

--Bug fixes
 -Fix summary window not properly indicating the presence of pose affine.
 -Remove a file named Fractorium.aps which had been erroneously committed a year ago.

--Code changes
 -Use qobject_cast instead of dynamic_cast where appropriate.
 -Add more override keyword where appropriate.
 -Add variations list to settings for filter dialog.
2015-07-23 18:16:36 -07:00
mfeemster
3aa9e13194 --User changes
-Add Summary tab to the info dock, place existing bounds related info in a new Bounds tab.
 -Add a toolbar with the most common actions on it.
 -Remove old toolbar at the top of the library tab.

--Code changes
 -Refactor code to make a color visible on a background into VisibleColor() in FractoriumCommon.h
 -Add IsXformLinked() to determine if an xform is linked to another.
 -Remove SetPaletteRefTable() and GetQRgbFromPaletteIndex() from FractoriumEmberControllerBase and its derivations, unused.
 -Add FillSummary() to FractoriumEmberController. Call in Update(), UpdateXform() and other places where values are changed to force an update of the summary view.
 -Add export statements to FractoriumInfo.cpp.
 -Remove image parameter from SetPaletteTableItem(), it was a bad design.
 -InitToolbarUI() is now empty since toolbar initialization happens automatically. Leave as a placeholder.
 -Refactor code to get a palette color at a given index and convert it to a QColor to ColorIndexToQColor().
2015-07-15 20:27:32 -07:00
mfeemster
770ff4622c --User changes
-Allow for continuous update during interactive rendering.

--Code changes
 -Make some variation related functions const where appropriate.
 -Use auto keyword more.
2015-06-28 17:48:26 -07:00
mfeemster
e8af1050b3 --User changes
-Eliminate delay when switching between single and double precision.

--Code changes
 -Variation tree and associated widgets no longer actually contain variation objects, only IDs.
2015-06-28 14:04:30 -07:00
mfeemster
3cd970a347 --User changes
Add linked xform support, with new button and icon on the xforms tab.
2015-06-24 20:49:09 -07:00
mfeemster
d80343a28b --User changes
-Better default/min/max sizes for docks/tabs.
 -Add a reset workspace menu item.

--Bug fixes
 -Order of affine scale up/down buttons was reversed from what's intuitive.
 -Projection was not properly being set when animating flames with 3D parameters.
2015-06-20 11:35:08 -07:00
mfeemster
5f3e70c6a8 --User changes
Allow for detaching of top level tabs in the dock widget so workspaces can be customized.
 Save workspace between runs.
 Only correct variation names/params during parsing when the source of the Xml file is not from Ember/Fractorium.
2015-06-17 20:05:53 -07:00
mfeemster
5bd593b42f --User changes
Allow for setting rendering thread priorities from the command line and final render dialog. Currently only implemented on Windows.
 Show estimated time left on the final render dialog.
 Sort palette list by name, instead of by index in the palette file.
 Sorting can be flipped by clicking the column headers of the palette table.

--Code changes
 Remove unnecessary connect() statement in Variations tab.
2015-05-30 22:14:34 -07:00
mfeemster
c97946c660 --Code changes
Add DoubleSpinBoxTableItemDelegate.h to Fractorium.pro to get it building on Linux.
2015-05-29 21:57:09 -07:00
mfeemster
83ad93aadf --User changes
More efficient table on the Xaos tab when using xaos on a flame with a large number of xforms.

--Code changes
Use QTableView instead of QTableWidget for the xaos table.
Add custom DoubleSpinBoxTableItemDelegate for this.
Make row and column toggling functions work for QTableView and QTableWidget.
Remove some dead code from Fractorium.h/cpp
Miscellaneous hacks to keep it building on Linux.
2015-05-29 21:08:44 -07:00
mfeemster
cb54605878 --User changes
Implement copying and pasting xforms between flames.

--Code changes
 Make palette filename be a shared_ptr<string> to avoid duplication.
 Ensure random seeds in RendererCL have no duplicates and are not zero.
2015-05-19 19:31:33 -07:00
mfeemster
3c51e58379 --User changes
Add the ability to click the right mouse button and drag to adjust values in spinners.
 Filling the palette controls will now also select the proper palette filename (if not empty) in the combo box.
 Allow for toggling row and column of affine tables.

--Bug fixes
 Fix tab tool tips again.
 Fix palette list switching.

--Code changes
 Palettes now keep the filename they originated from as a member.
 Refactor table row and column cell toggling into their own functions.
 Do not force random select on palette combo index change.
2015-05-15 18:52:31 -07:00
mfeemster
2561708ae0 oops 2015-05-15 18:45:57 -07:00
mfeemster
e005b4c20e --User changes
Add the ability to set the current xform by pressing F1 - F32.
 Add the ability to toggle an entire row or column of xaos values.

--Bug fixes
 Prevent xform index flickering whenever changing the number of xforms.

--Code changes
 Remove ForEach() wrappers and replace with range based for loops with auto.
 Replace every regular for loop with a range based one where applicable. Note this doesn't work everywhere.
 Make event filter application wide.
 Add parameter to FillXforms() to specify the index to select, default 0.
 Rename some scroll areas and layouts to names that make sense, rather than their designer defaults.
2015-05-03 17:13:14 -07:00
mfeemster
be8e9a5e02 --User changes
Add the ability to apply operations to a selection of xforms, rather than just the current one.
 Update tool tips accordingly.

--Bug fixes
 Fix NAN in equalized weight calculation when all weights are set to 0.

--Code changes
 Clean up strange nested usage of Update([&]()) calls when changing xform color index via either the spinner or scroll bar. Made no sense.
 Make ISAAC RandBit() use RandByte() to be slightly more efficient.
 Put FillXforms() in the controller where it belongs, rather than the main window class.
 Add UpdateXform() function to the controller to handle applying operations to multiple xforms.
 Remove the word "Current" out of most xform related functions because they now operate on whatever is selected.
 Properly use Update() for various xform operations whereas before it was manually calling UpdateRender().
 Also properly use Update() in places where it was erroneously using UpdateXform() for things that did not involve xforms.
 Block signals in FillXaosTable().
 Add new file named FractoriumXformsSelect.cpp to handle new xform selection code.
2015-04-26 22:11:56 -07:00
mfeemster
e8bbfdd2d4 Rename FractoriumXformsXaos.cpp to FractoriumXaos.cpp to reflect that it's no longer a per-xform part of the UI. 2015-04-08 18:30:07 -07:00
mfeemster
053a9fcf95 Allow for multiple palette files rather than hard coding to flam3-palettes.xml.
Make xaos display a matrix rather than a single column. This will be moved out into its own tab since it's no longer xform dependent, but that will be in a future commit.

Remove xaos from/to button since it's no longer applicable.

Add test function to Isaac to return just one random byte. Might be used in the future.
2015-04-08 18:23:29 -07:00
mfeemster
ee0f437d50 Merge branch 'retina-glwidget' of https://github.com/gh2k/fractorium 2015-03-21 16:23:29 -07:00
mfeemster
d69c83d5b0 Merge branch 'options-device-selection' of https://github.com/gh2k/fractorium 2015-03-21 16:14:37 -07:00
mfeemster
07592c9d78 Remove ReadMe.txt from all project files.
Add Curves.h, and CurvesGraphicsView.h/cpp to support bezier color curves.
Add Curves member to Ember.
Add curves capability to EmberCL.
Remove some unused variables in the kernel created in RendererCL::CreateFinalAccumKernelString().
Use glm namespace for vec classes if GLM_VERSION >= 96, else use glm::detail.
As a result of using glm namespace, all instances of min and max had to be qualified with std::
Split ComputeCamera into that and ComputeQuality().
Reduce the amount of ComputeCamera() and MakeDmap() calls on each incremental iter that doesn't use temporal samples.
Fix clamping bug with DE filter widths.
Provide functions to return the kernels from RendererCL to assist with diagnostics and debugging.
Prevent extra newline in EmberRender when only rendering a single image.
Add the ability to delete an ember at a given index in EmberFile.
Allow deleting/focusing ember in library tab with delete and enter keys.
Reorder some code in Fractorium.h to match the tabs order.
Add and call ClearFinalImages() to clear buffers in controller to fix bug where previous CPU render would be shown for a split second when switching from OpenCL back to CPU.
Refactor ember library pointer syncing to a function SyncPointers().
Add the ability to save ember Xmls to an unique automatically generated name after the first time the user has specified a name.
2015-03-21 15:27:37 -07:00
Simon Detheridge
eef9a30cad Ensure correct opencl device is populated when platform setting is changed
This fixes an issue where the options dialog displays the incorrect device when it is first opened, when using a device other than 0
2015-03-01 15:53:25 +00:00
Simon Detheridge
33b59b2f72 Fix status bar height on retina displays 2015-03-01 12:28:14 +00:00
Simon Detheridge
1762d8251f Multiply x and y mouse event coords by device pixel ratio
This fixes issues with retina displays, where there are more opengl pixels than logical device pixels
2015-02-28 22:18:07 +00:00
mfeemster
c01f444d52 Add option to display affines in polar coords. 2015-02-03 17:11:16 -08:00
mfeemster
b1d5db261b Additional changes to work with Simon's pull request.
-Remove unneeded glFinish() call in GLWidget.
-Remove unneeded AMD_OS_WIN preprocessor in several projects.
-Define NVIDIA in all projects that use the NvidiaRelease build and depend on OpenCL.
2015-01-29 18:22:15 -08:00
mfeemster
4059767dc4 0.4.1.8 Beta - Date pending testing.
--User changes
 Thread image writing in EmberAnimate and when doing animation sequence in final render dialog.
 Add total time output for verbose mode in EmberAnimate to match EmberRender.

--Bug Fixes
 Fix incorrect iters ran/requested percentage in EmberAnimate to match EmberRender.
 Fix motion blur being disabled when doing animations in final render dialog.
 Allow for boolean command line options which default to true to be set to false.

--Code Changes
 Minor changes to enable a Mac build.
 Double the memory required for the final output buffer in RendererBase::MemoryRequired() when threading image writing.
 Reuse same buffer for RgbaToRgb() in EmberRender and EmberAnimate.
 Only resize in RgbaToRgb() if the two vectors are not the same.
 Add a final output buffer ping-ponging mechanism to facilitate threaded writes in controllers.
2015-01-19 08:39:50 -08:00
Simon Detheridge
2999cd159f Work around segfault in LLVM on osx by removing lambda default parameters
It's an ugly hack, but it's the only workaround I could find.
2015-01-14 13:15:23 +00:00
mfeemster
5354e96fe2 0.4.1.7 Beta 01/02/2015
--User changes
 Use actual strips count when computing memory requirements in the final render dialog.
 Output CL_DEVICE_ADDRESS_BITS when passing --openclinfo to command line programs.
 Warn if single/total allocations are greater than the max allowed for OpenCL in the final render dialog.
 Make about box properly sized for different fonts.
 Dock widget is slightly resizable now.
 Center scroll area when loading a new ember.

--Bug Fixes
 Fix bad values left in an ember when a render with strips > 1 fails in the final render dialog.
 Fix incorrect calculation in dc_cube variation when using OpenCL.

--Code Changes
 Major work to get it running on Linux.
 Migrate from QGLWidget to QOpenGLWidget.
 Delayed init due to QOpenGLWidget.
 Break RendererBase::MemoryRequired() into two functions, it and HistMemRequired() and return a tuple.
 Add GlobalMemSize() and MaxAllocSize() functions in OpenCLWrapper.
 Change CHOOSE_XFORM_GRAIN to be 16384, so we can & with 16383 instead of using modulo when selecting an xform. This results in a 9% speed increase on the CPU.
 Save each newly loaded ember in a file called "last.flame" in the executable folder. This will help diagnose crashes that occur when switching embers.
 Use nullptr instead of NULL in the Fractorium project. It had previously been done in all other places.
2015-01-02 15:11:36 -08:00
mfeemster
3cf6141e27 Derive from QOpenGLWidget instead of QGLWidget.
Derive from QOpenGLWidget instead of QGLWidget.
More commits to follow.
2015-01-01 07:17:05 -08:00
mfeemster
9502ae57ab Linux. 2014-12-14 20:25:46 -08:00
mfeemster
a004f71888 Windows. 2014-12-14 17:12:01 -08:00
mfeemster
c0f98bf632 Linux. 2014-12-12 02:37:29 -08:00
mfeemster
713007dadd Windows. 2014-12-12 00:54:03 -08:00
mfeemster
2531b1215e linux 2014-12-11 18:57:49 -08:00
mfeemster
f32eaadd3d Linux/Windows sync. 2014-12-11 15:13:26 -08:00
mfeemster
6abd04058a Windows/Linux sync. 2014-12-11 09:02:42 -08:00
mfeemster
a9ecb6a78e More linux work. 2014-12-10 21:50:15 -08:00
mfeemster
3e70b8eec6 Report memory required in final render dialog.
Fix broken state of ember during failed render with strips.
2014-12-09 00:24:28 -08:00
mfeemster
47dd9fe35c Replace unsigned int, and char with uint and uchar. 2014-12-05 21:05:09 -08:00
mfeemster
8a3521206b Add "ISO-8859-1" as the encoding type when reading Xml files.
Fix small bug when setting the current ember in the final render dialog when showing it.

Have Wix installer point to proper location for installed vcredist DLLs.

Remove VS2010 builds dir.
2014-12-05 20:04:41 -08:00
mfeemster
4777ab52bc 0.4.1.6 Beta 11/29/2014
--User Changes
 None.

--Bug Fixes
 Fix broken continuity of randomness in OpenCL when using strips, broken in last build.
 Fix broken density filtering dimensions in OpenCL which left black lines, broken in last build.
 Fix broken preview update on when the only change is scale.
 Update density filtering progress bar to 100% in final render dialog when DE radius is 0 (disabled).

--Code Changes
 Make RendererBase::RandVec() virtual.
2014-11-29 09:44:23 -08:00
mfeemster
b29bedec38 0.4.1.5 Beta 11/28/2014
--User Changes
 Remove limit on the number of xforms allowable on the GPU. This was previously 21.
 Show actual strips count to be used in parens outside of user specified strips count on final render dialog.
 Allow for adjustment of iteration depth and fuse count per ember and save/read these values with the xml.
 Iteration optimizations on both CPU and GPU.
 Automatically adjust default quality spinner value when using CPU/GPU to 10/30, respectively.

--Bug Fixes
 Fix severe randomization bug with OpenCL.
 Fix undo list off by one error when doing a new edit anywhere but the end of the undo list.
 Make integer variation parameters use 4 decimal places in the variations list like all the others.
 New build of the latest Qt to fix scroll bar drawing bug.
 Prevent grid from showing as much when pressing control to increase a spinner's increment speed. Still shows sometimes, but better than before.

--Code Changes
 Pass count and fuse to iterator as a structure now to allow for passing more params in the future.
 Slightly different grid/block logic when running DE filtering on the GPU.
 Attempt a different way of doing DE, but #define out because it ended up not being faster.
 Restructure some things to allow for a variable length xforms buffer to be passed to the GPU.
 Add sub batch size and fuse count as ember members, and remove them from the renderer classes.
 Remove m_LastPass from Renderer. It should have been removed with passes.
 Pass seeds as a buffer to the OpenCL iteration kernel, rather than a single seed that gets modified.
 Slight optimization on CPU accum.
 Use case statement instead of if/else for xform chosing in OpenCL for a 2% speedup on params with large numbers of xforms.
 Add SizeOf() wrapper around sizeof(vec[0]) * vec.size().
 Remove LogScaleSum() functions from the CPU and GPU because they're no longer used since passes were removed.
 Make some OpenCLWrapper getters const.
 Better ogranize RendererCL methods that return grid dimensions.
2014-11-28 01:37:51 -08:00
mfeemster
3f29025f99 Fix accidental disabling of post affine group box. The designer was clobbering it. 2014-11-04 17:38:20 -08:00
mfeemster
b2600f0fff Remove passes.
Fix some table dimensions.
Proper locale for normalized weight.
2014-11-02 23:16:34 -08:00
mfeemster
6b2b6ede7f Fix bug when using rotation with strips by adding a new member to Ember named m_RotCenterY which is a copy of the original center value since the center value gets changed when using strips.
Change PaletteList Count() member to Size() to be consistent with other code.

Remove PaletteImage option, it's unused. Improve documentation for some other options.

Make ComposePath() always return a unique string.

Add Random Palette and Random Adjustment buttons.

Another attempt at solving the locale bug with the affine adjustment combo boxes.
2014-10-27 14:21:06 -07:00
mfeemster
2a98e8c05b FinalRenderEmberController: Fix unique names and estimated iter count with strips. 2014-10-19 12:29:12 -07:00
mfeemster
69b8aaea5b Replace all instances of auto_ptr with unique_ptr.
Make EmberRender and EmberAnimate place their output renders in the same folder of the input parameter file. Previously it was just placing them in the same folder as the executable, which is wrong.
2014-10-18 14:07:07 -07:00
mfeemster
2df1f7a52b Affine2D: Remove * operator, it's unused.
RendererBase: Add ComputeCamera() as a virtual function. Add strips parameter to TotalIterCount().

Renderer: Implement ComputeCamera() as an override.

SpatialFilter: Ensure filters that are too small are made large enough to create.

FinalRenderDialog: Add estimated iters table row and populate on all UI updates.

FractoriumParams: Zoom was not being saved, loaded. Fixed.

GLWidget: Prevent mouse wheel event from being passed to the scroll bars. It should only affect the scale.
2014-10-18 12:56:37 -07:00
mfeemster
f5a707ea63 Remove focus handling code from spin boxes. It was originally done to compensate for a bug in Qt, but required the user to make very precise mouse movements. This is no longer needed since the bug has been fixed.
Prevent spatial and density filters from returning empty filters.

Another attempt at properly setting the locale for the affine rotate/move/scale combo boxes.
2014-10-16 23:05:08 -07:00
mfeemster
f51f210d15 Add random Xaos button. 2014-10-15 20:09:44 -07:00
mfeemster
9e94170a70 0.4.1.3 Beta 10/14/2014
--User Changes
 Size is no longer fixed to the window size.
 Size scaling is done differently in the final render dialog. This fixes several bugs.
 Remove Xml saving size from settings and options dialog, it no longer applies.
 Final render can be broken into strips.
 Set default save path to the desktop if none is found in the settings file.
 Set default output size to 1920x1080 if none is found in the settings file.

--Bug Fixes
 Better memory size reporting in final render dialog.

--Code Changes
 Migrate to C++11, Qt 5.3.1, and Visual Studio 2013.
 Change most instances of unsigned int to size_t, and int to intmax_t.
 Add m_OrigPixPerUnit and m_ScaleType to Ember for scaling purposes.
 Replace some sprintf_s() calls in XmlToEmber with ostringstream.
 Move more non-templated members into RendererBase.
 Add CopyVec() overload that takes a per element function pointer.
 Add vector Memset().
 Replace '&' with '+' instead of "&amp;" in XmlToEmber for much faster parsing.
 Break strips rendering out into EmberCommon and call from EmberRender and Fractorium.
 Make AddAndWriteBuffer() just call WriteBuffer().
 Make AddAndWriteImage() delete the existing image first before replacing it.
 Add SetOutputTexture() to RendererCL to support making new textures in response to resize events.
 Remove multiple return statements in RendererCL, and replace with a bool that tracks results.
 Add ToDouble(), MakeEnd(), ToString() and Exists() wrappers in Fractorium.
 Add Size() wrapper in EmberFile.
 Make QString function arguments const QString&, and string with const string&.
 Make ShowCritical() wrapper for invoking a message box from another thread.
 Add combo box to TwoButtonWidget and rename.
2014-10-14 08:53:15 -07:00
mfeemster
44c90abb32 More C++11 2014-09-09 22:41:26 -07:00
mfeemster
e4a47d0d16 -tan(float) was crashing under VS2013 with large numbers so replace with SafeTan<T>().
-Put about dialog in the center of the screen. A Qt upgrade somehow moved it to the side.
2014-09-07 21:05:27 -07:00
mfeemster
79d611dd20 Initial VS2013, C++11 and linux commit. This most likely won't build and suffers from some compiler issues. More commits to follow. 2014-08-31 21:25:15 -07:00
mfeemster
d1196f4205 0.4.1.2 Beta 08/05/2014
--User Changes
Add --yaxisup and --supersample options for command line programs.

--Bug Fixes
Make certain options available only to the command line programs in
which they make sense. Most were good, some were misplaced.

--Code Changes
Include pure render time as part of stats.
Output iters/sec measurement in EmberRender and EmberAnimate.
2014-08-05 21:50:52 -07:00
mfeemster
570d3bcf1d 0.4.1.1 Beta 08/03/2014
--Bug Fixes
Spatial filter would not be correctly recreated on subsequent runs of
differing supersample values during final render.
Fix DCBubble, Funnel, SphericalN,
Wrong logic with some usage of DO_DOUBLE. Only relevant for testing.
Use uint64 for iters/sec calculation on final render dialog. int was
overflowing on extremely fast GPU renders.

--Code Changes
Make density, spatial and temporal filters preserve the values they were
created with. This helps in determining when a new instance is needed.
Better NULL checks when copying embers and xforms.
Rename members in FractoriumEmberControllerBase.h to omit duplicating
the members declared in the base.
2014-08-03 16:16:10 -07:00
mfeemster
b3c313b5c5 0.4.0.9 Beta 07/29/2014
0.4.0.9 Beta 07/29/2014
--Bug Fixes
Final render dialog didn't create the renderer properly on first run
when more than one platform was present.
2014-07-29 08:06:09 -07:00
mfeemster
88a325a5cd 0.4.0.9 Beta 07/27/2014
0.4.0.9 Beta 07/27/2014
--User Changes
Properly set tab order on all controls.
Calculate and report iters/second in the final render dialog.
Immediately draw yellow dot on xform mouse down on previously unselected
xform.

--Bug Fixes
Fix GlynnSim1, GlynnSim2, GlynnSim3 and juliaNab by ensuring the first
argument to pow() is >= 0.
Ensure OpenCL platform and device combo boxes in the final render dialog
expand as needed.

--Code Changes
Make VariationTreeSpinbox take its parent VariationTreeWidgetItem as a
constructor argument. This makes SetupVariationTree() and
VariationSpinBoxValueChanged() more efficient.
Make Interference2 and ho use fabs().
2014-07-27 22:25:38 -07:00
mfeemster
a5d69c75a2 0.4.0.8 Beta 07/26/2014
0.4.0.8 Beta 07/26/2014
--Bug Fixes
Fix falloff, falloff2, falloff3.
2014-07-26 17:26:15 -07:00
mfeemster
d9d676393c 0.4.0.7 Beta 07/26/2014
0.4.0.7 Beta 07/26/2014
--User Changes
Color code xforms like Apo does.
Change other aspects of xform color drawing.
Add option to invert the Y axis to both the options final render
dialogs.
Coordinate Y axis setting with preview renders.
Add option to show all xforms when dragging. Previously, only the
current one was shown.
Make final render dialog appear in the middle of the screen.
Immediately draw yellow selection dot on mouse down.

--Bug Fixes
Resize final render dialog vertically if it's taller than the 90% of the
desktop area.
2014-07-26 12:03:51 -07:00
mfeemster
ed8850e3db Scroll panels for certain areas of the UI
0.4.0.6 Beta 07/22/2014
--User Changes
Place certain areas of the UI on scroll panels so they are not obscured
on low resolution monitors.
2014-07-22 07:53:36 -07:00
mfeemster
280473c8a0 Add scrollbars
Add scrollbars to various UI areas to be more friendly to low resolution
monitors. This works well down to vertical resolutions of 960. Below
that, things will get scrunched.
2014-07-20 17:16:23 -07:00
mfeemster
e3b207c562 Numerous fixes
0.4.0.5 Beta 07/18/2014
--User Changes
Allow for vibrancy values > 1.
Add flatten and unflatten menu items.
Automatically flatten like Apophysis does.
Add plugin and new_linear tags to Xml to be compatible with Apophysis.

--Bug Fixes
Fix blur, blur3d, bubble, cropn, cross, curl, curl3d, epispiral, ho,
julia3d, julia3dz, loonie, mirror_x, mirror_y, mirror_z, rotate_x,
sinusoidal, spherical, spherical3d, stripes.
Unique filename on final render was completely broken.
Two severe OpenCL bugs. Random seeds were biased and fusing was being
reset too often leading to results that differ from the CPU.
Subtle, but sometimes severe bug in the setup of the xaos weights.
Use properly defined epsilon by getting the value from
std::numeric_limits, rather than hard coding 1e-6 or 1e-10.
Omit incorrect usage of epsilon everywhere. It should not be
automatically added to denominators. Rather, it should only be used if
the denominator is zero.
Force final render progress bars to 100 on completion. Sometimes they
didn't seem to make it there.
Make variation name and params comparisons be case insensitive.

--Code Changes
Make ForEach and FindIf wrappers around std::for_each and std::find_if.
2014-07-18 23:33:18 -07:00
mfeemster
1884934b9d Final migration commit
Update versions to match the last commit on Google code. All subsequent
commits will be on GH.
2014-07-09 21:07:22 -07:00
mfeemster
c0f2d61b0b falloff2 followup
falloff2 followup
2014-07-08 19:35:35 -07:00
mfeemster
ef56c16b2b Initial source commit
Initial source commit
2014-07-08 00:11:14 -07:00