mirror of
				https://bitbucket.org/mfeemster/fractorium.git
				synced 2025-11-03 17:50:27 -05:00 
			
		
		
		
	--User changes
-Remove Hue as a saved parameter, as well as animation parameters associated with it. It's now a GUI-only field that is never saved. -Make histogram, density filter buffer, and all associated fields always float, even when using double. In that case, only the iteration calculations are now double. Suggested by Thomas Ludwig. -Print all three kernels in EmberRender when the --dump_kernel option is specified. -Apply variations filter to randoms. --Bug fixes -Fix bug where hue was not being preserved when switching controllers and embers. Very hard to repro bug, but mostly overcome by eliminating hue as a saved parameter. --Code changes -De-templatized DEOpenCLKernelCreator and FinalAccumOpenCLKernelCreator. They now just take a bool as a parameter to specify double precision. -To accommodate the buffers being float, introduce a new #define types in EmberCL called real4_bucket, and real4reals_bucket. -Density and spatial filtering structs now use this type. -ConvertDensityFilter() and ConvertSpatialFilter() no longer return a value, they just assign to the member.
This commit is contained in:
		@ -23,7 +23,6 @@ template <typename T>
 | 
			
		||||
class EMBERCL_API IterOpenCLKernelCreator
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	IterOpenCLKernelCreator();
 | 
			
		||||
	IterOpenCLKernelCreator(bool nVidia);
 | 
			
		||||
	string ZeroizeKernel();
 | 
			
		||||
	string ZeroizeEntryPoint();
 | 
			
		||||
@ -41,22 +40,6 @@ private:
 | 
			
		||||
	string m_ZeroizeEntryPoint;
 | 
			
		||||
	bool m_NVidia;
 | 
			
		||||
};
 | 
			
		||||
//
 | 
			
		||||
//template EMBERCL_API class IterOpenCLKernelCreator<float>;
 | 
			
		||||
//
 | 
			
		||||
//#ifdef DO_DOUBLE
 | 
			
		||||
//	template EMBERCL_API class IterOpenCLKernelCreator<double>;
 | 
			
		||||
//#endif
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
//template EMBERCL_API string IterOpenCLKernelCreator::CreateIterKernelString<float>(Ember<float>& ember, string& parVarDefines, bool lockAccum, bool doAccum);
 | 
			
		||||
//template EMBERCL_API string IterOpenCLKernelCreator::CreateIterKernelString<double>(Ember<double>& ember, string& parVarDefines, bool lockAccum, bool doAccum);
 | 
			
		||||
//
 | 
			
		||||
//template EMBERCL_API void IterOpenCLKernelCreator::ParVarIndexDefines<float>(Ember<float>& ember, pair<string, vector<float>>& params, bool doVals, bool doString);
 | 
			
		||||
//template EMBERCL_API void IterOpenCLKernelCreator::ParVarIndexDefines<double>(Ember<double>& ember, pair<string, vector<double>>& params, bool doVals, bool doString);
 | 
			
		||||
//
 | 
			
		||||
//template EMBERCL_API bool IterOpenCLKernelCreator::IsBuildRequired<float>(Ember<float>& ember1, Ember<float>& ember2);
 | 
			
		||||
//template EMBERCL_API bool IterOpenCLKernelCreator::IsBuildRequired<double>(Ember<double>& ember1, Ember<double>& ember2);
 | 
			
		||||
 | 
			
		||||
#ifdef OPEN_CL_TEST_AREA
 | 
			
		||||
typedef void (*KernelFuncPointer) (uint gridWidth, uint gridHeight, uint blockWidth, uint blockHeight,
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user