Commit Graph

331 Commits

Author SHA1 Message Date
d69c83d5b0 Merge branch 'options-device-selection' of https://github.com/gh2k/fractorium 2015-03-21 16:14:37 -07:00
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
f3987d2858 Fix call to in FinalAccumOpenCLKernelCreator.cpp to use real_t, not T() 2015-03-01 16:49:36 +00:00
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
33b59b2f72 Fix status bar height on retina displays 2015-03-01 12:28:14 +00:00
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
f906e06927 Ditch T(f) define in opencl programs in preference to already-defined real_t.
Also removed some erroneously-added double-'T(' statements
2015-02-26 21:18:55 +00:00
022ccf1472 Whitespace fixes 2015-02-25 13:20:03 +00:00
045d6ac6e0 Force all float literals in opencl variations to correct precision
This avoids 'ambiguous call' errors on mac.

It's probably not necessary to have changed every single instance, only the ones in functions with multiple signatures. However, it was easier and safer to do this automatically than manually.
2015-02-25 13:15:31 +00:00
b222ed4cc3 Update osx ambiguous-call fix to support the varying-precision mechanism 2015-02-25 13:15:31 +00:00
cf4f5d9899 Show program build errors from BuildIterProgramForEmber 2015-02-25 13:15:31 +00:00
d05231f082 Fix 'error: call to 'clamp' is ambiguous' error when compiling opencl program 2015-02-25 13:15:31 +00:00
582bd93dea Show opencl program build errors on info tab, when compilation fails 2015-02-25 13:15:31 +00:00
c01f444d52 Add option to display affines in polar coords. 2015-02-03 17:11:16 -08:00
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
52f6415085 Add nvidia config to build nvidia-compatible binary on osx/linux
Also added config to build a cpu-native binary to take advantage of additional CPU features
2015-01-26 17:50:41 +00:00
73cd4f9718 Fix incorrect parsing of legacy "symmetry" xform Xml element. 2015-01-23 18:26:18 -08:00
c2ef02a8bf Write all non-xml data to cerr from EmberGenome
The command is intended to write XML output to stdout for piping into an xml file, but adds diagnostic information and warnings to the output, generating invalid XML.
2015-01-21 13:34:34 +00:00
cc2ce44140 Don't prematurely terminate if doCross1 is not specified 2015-01-21 10:51:26 +00:00
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
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
fbdd160061 Fix destructor exception-permissiveness errors in a less idiotic way 2015-01-14 13:10:25 +00:00
36cb7535c4 Fix compiler error due to tbb member having more restrictive exception filter 2015-01-14 10:41:17 +00:00
4d977f6e3a Fix opengl header inclusion on osx 2015-01-14 10:40:24 +00:00
a5fc85b17e Fix compiler error due to usage of << to close a template instantiation 2015-01-14 10:37:40 +00:00
958a4786ab Use correct file handle structure on osx 2015-01-14 10:21:36 +00:00
5ec065a66b Fix compiler error due to tbb member having more restrictive exception filter 2015-01-14 10:21:36 +00:00
3791853a80 Fix compiler error due to missing 'template' keyword 2015-01-14 10:21:36 +00:00
6576f4b290 Fix ember library includes for osx 2015-01-14 10:21:36 +00:00
3ceafa176f Fix compiler error by explicitly instantiating static objects
Gave error about implicit instantiation having happened first
2015-01-14 10:21:36 +00:00
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
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
9502ae57ab Linux. 2014-12-14 20:25:46 -08:00
a004f71888 Windows. 2014-12-14 17:12:01 -08:00
c0f98bf632 Linux. 2014-12-12 02:37:29 -08:00
713007dadd Windows. 2014-12-12 00:54:03 -08:00
2531b1215e linux 2014-12-11 18:57:49 -08:00
f32eaadd3d Linux/Windows sync. 2014-12-11 15:13:26 -08:00
6abd04058a Windows/Linux sync. 2014-12-11 09:02:42 -08:00
a9ecb6a78e More linux work. 2014-12-10 21:50:15 -08:00
7abecaf7be Change CHOOSE_XFORM_GRAIN to be 16384, so we can & with 16383 instead of using modulo. This results in a 9% speed increase on the CPU. 2014-12-09 20:15:02 -08:00
d42cdfafe4 Followon commit 2014-12-09 02:03:54 -08:00
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
9263906cb5 linux work
Merge branch 'master' of https://github.com/mfeemster/fractorium
2014-12-08 02:19:29 -08:00
9947cd1c84 More Linux work, getting started with QtCreator. 2014-12-08 02:18:16 -08:00
fad9206229 Additional casting work. 2014-12-07 00:59:26 -08:00
623d417f0f More Linux work. Convert all casts to new style, away from legacy. 2014-12-06 23:51:44 -08:00
47dd9fe35c Replace unsigned int, and char with uint and uchar. 2014-12-05 21:05:09 -08:00
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
a15f6d6b32 More Linux work. This has Render, Animate and Genome building and running on Linux. 2014-12-05 18:30:46 -08:00