mirror of
				https://bitbucket.org/mfeemster/fractorium.git
				synced 2025-11-03 17:50:27 -05:00 
			
		
		
		
	--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.
This commit is contained in:
		@ -57,6 +57,12 @@ void FractoriumSettings::EnsureDefaults()
 | 
			
		||||
	OpenCLSubBatch(std::max(1u, OpenCLSubBatch()));
 | 
			
		||||
	RandomCount(std::max(1u, RandomCount()));
 | 
			
		||||
 | 
			
		||||
	if (CpuQuality() == 0)
 | 
			
		||||
		CpuQuality(10);
 | 
			
		||||
 | 
			
		||||
	if (OpenClQuality() == 0)
 | 
			
		||||
		OpenClQuality(30);
 | 
			
		||||
 | 
			
		||||
	if (FinalScale() > int(eScaleType::SCALE_HEIGHT))
 | 
			
		||||
		FinalScale(0);
 | 
			
		||||
 | 
			
		||||
@ -72,7 +78,11 @@ void FractoriumSettings::EnsureDefaults()
 | 
			
		||||
	if (SaveImageExt() == "")
 | 
			
		||||
		SaveImageExt(".png");
 | 
			
		||||
 | 
			
		||||
	if (FinalExt() != "jpg" && FinalExt() != "png")
 | 
			
		||||
	if (FinalExt() != "jpg" && FinalExt() != "png" && FinalExt() != "exr"
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
			&& FinalExt() != "bmp"
 | 
			
		||||
#endif
 | 
			
		||||
	   )
 | 
			
		||||
		FinalExt("png");
 | 
			
		||||
 | 
			
		||||
	auto s = SaveFolder();
 | 
			
		||||
@ -148,6 +158,15 @@ 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::OpenClQuality()                         { return value(OPENCL_QUALITY).toUInt();  }
 | 
			
		||||
void FractoriumSettings::OpenClQuality(uint i)                   { setValue(OPENCL_QUALITY, i);            }
 | 
			
		||||
 | 
			
		||||
bool FractoriumSettings::LoadLast()                              { return value(LOAD_LAST).toBool();       }
 | 
			
		||||
void FractoriumSettings::LoadLast(bool b)                        { setValue(LOAD_LAST, b);                 }
 | 
			
		||||
 | 
			
		||||
/// <summary>
 | 
			
		||||
/// Sequence generation settings.
 | 
			
		||||
/// </summary>
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user