--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.
This commit is contained in:
Person
2018-04-28 22:28:05 -07:00
parent 0c67c52720
commit 92e9836151
39 changed files with 852 additions and 405 deletions

View File

@ -98,6 +98,9 @@ void FractoriumSettings::EnsureDefaults()
if (OpenPaletteImageFolder() == "")
OpenPaletteImageFolder(QCoreApplication::applicationDirPath());
if (value(SHAREDTEXTURE).toString() == "")//Set this to true if the setting is missing because it only needs to be false for the rare system that has problems with shared textures.
SharedTexture(true);
}
/// <summary>
@ -116,6 +119,9 @@ void FractoriumSettings::Transparency(bool b) { setValue(TRANSPARENCY, b);
bool FractoriumSettings::OpenCL() { return value(OPENCL).toBool(); }
void FractoriumSettings::OpenCL(bool b) { setValue(OPENCL, b); }
bool FractoriumSettings::SharedTexture() { return value(SHAREDTEXTURE).toBool(); }
void FractoriumSettings::SharedTexture(bool b) { setValue(SHAREDTEXTURE, b); }
bool FractoriumSettings::Double() { return value(DOUBLEPRECISION).toBool(); }
void FractoriumSettings::Double(bool b) { setValue(DOUBLEPRECISION, b); }
@ -158,14 +164,14 @@ void FractoriumSettings::OpenCLSubBatch(uint i) { setValue(OPENCLSUBBATCH,
uint FractoriumSettings::RandomCount() { return value(RANDOMCOUNT).toUInt(); }
void FractoriumSettings::RandomCount(uint i) { setValue(RANDOMCOUNT, i); }
uint FractoriumSettings::CpuQuality() { return value(CPU_QUALITY).toUInt(); }
void FractoriumSettings::CpuQuality(uint i) { setValue(CPU_QUALITY, i); }
uint FractoriumSettings::CpuQuality() { return value(CPUQUALITY).toUInt(); }
void FractoriumSettings::CpuQuality(uint i) { setValue(CPUQUALITY, i); }
uint FractoriumSettings::OpenClQuality() { return value(OPENCL_QUALITY).toUInt(); }
void FractoriumSettings::OpenClQuality(uint i) { setValue(OPENCL_QUALITY, i); }
uint FractoriumSettings::OpenClQuality() { return value(OPENCLQUALITY).toUInt(); }
void FractoriumSettings::OpenClQuality(uint i) { setValue(OPENCLQUALITY, i); }
bool FractoriumSettings::LoadLast() { return value(LOAD_LAST).toBool(); }
void FractoriumSettings::LoadLast(bool b) { setValue(LOAD_LAST, b); }
bool FractoriumSettings::LoadLast() { return value(LOADLAST).toBool(); }
void FractoriumSettings::LoadLast(bool b) { setValue(LOADLAST, b); }
/// <summary>
/// Sequence generation settings.