//===================================================================================================================
//Preprocess Settings
#define DEPTH_USE_RESHADE_SETTINGS	0	//[0 or 1] 0 - Uses my preprocess live settings for depth. 1 - Uses reshade linearization
#define DEPTH_TEXTURE_QUALITY		1.0	//[>0.0] 1.0 - Screen resolution. Lowering this might ruin the AO precision. Go from 1.0 to AO texture quality.

// If you use reshade settings, download it from https://raw.githubusercontent.com/crosire/reshade-shaders/master/Shaders/ReShade.fxh
//===================================================================================================================
//SSAO Settings
#define DEPTH_AO_PASSES			3	//[>1] Number of passes, more just means less noise, but costs more fps
#define DEPTH_AO_MIN_PASSES		2	//[>1] Minimum number of passes. Total is Minimum + Passes
#define DEPTH_AO_LOOP_FIX		0	//[0 or 1] Set this to 1 if you're getting X3570 or X4579 errors.
#define DEPTH_AO_TAP_MODE		0	//[0 or 1] 0 - Uses four directions, 1 - Uses eight directions, slower

#define DEPTH_AO_ENABLE			1	//[0 or 1] 0 - Off, 1 - on, turns AO on and off if you only want GI
#define DEPTH_AO_USE_ALCHEMY		0	//[0 or 1] 0 - off, 1 - on, Uses the alchemy gatherer for ao instead, doesn't work so well when you have to use farplane

#define DEPTH_AO_USE_MANUAL_RADIUS	1	//[0 or 1] (Doesn't work with alchemy) 0 - Automatic culling, 1 - Manual culling, useful for when you have to use farplane.

#define DEPTH_AO_USE_TIMED_NOISE	1	//[0 or 1] 1 - Enables a noise variation on the vectors, avoids banding but is slightly slower

#define DEPTH_AO_FADE_START		0.5	//[0.0 to 1.0] When to start fading the AO/GI
#define DEPTH_AO_FADE_END		0.8	//[0.0 to 1.0] Maximum range of the AO/GI, must be higher than the start

#define DEPTH_AO_TEXTURE_QUALITY	0.75	//[>0.0] 1.0 - Screen resolution. Multiplier to the resolution of the effect, lower means faster but less precise and blurier.

#define DEPTH_AO_MIPLEVELS		5	//[>1] Mip levels to increase speed at the cost of quality

#define DEPTH_AO_USE_BLUR		1
#define DEPTH_AO_BLUR_TAPS 		4	//[>1] Number of taps of the blur.
#define DEPTH_AO_BLUR_MODE		1	//[0, 1, 2] 0 - Linear, 1 - Normal weighted, 2 - Directional (Looks a lot like linear, but preserves some details)
//===================================================================================================================
#define GI_DIFFUSE_PASSES		4	//[>1] Number of passes in the shader.
#define GI_TEXTURE_QUALITY 		0.5	//[>0.0] 1.0 - Screen resolution.
#define DEPTH_COLOR_TEXTUE_QUALITY	0.25	//[>0.0] 1.0 - Screen resolution. How blurry is the source image for the GI, since GI is already a blurry effect, lower means faster with no real loss in quality.
#define GI_VECTOR_MODE			2	//[0, 1, or 2] 0 - Static, 1 - Depth based (Avoids still patterns), 2 - Depth based with random length, noisier but avoids interference patterns.
#define GI_VARIABLE_MIPLEVELS 		1	//[0 or 1] 0 - Manual miplevel set in the shader config. 1 - Automatic miplevels.
//===================================================================================================================
//DOF Settings
#define DOF_TEXTURE_QUALITY		0.5	//[>0.0] 1.0 - Screen resolution. Lowering this will decrease quality of the DOF, but also increase its radius.
#define DOF_TAPS			4	//[>0] Increasing this increases the radius and quality, but lowers speed.
#define DOF_USE_MANUAL_FOCUS		0	//[0 or 1] 0 - Auto focus, 1 = Manual focus
#define DOF_USE_LENS_SCRATCH		1	//[0 or 1] 0 - No les scratches on bokeh, 1 - You should polish your lens
#define DOF_P_WORD_NEAR			0	//[0 or 1] Makes near blur overlap, only works with DOF_TEXTURE_QUALITY set to 1.0
#define DOF_SCRATCH_FILENAME		"SCRATCH_Example.png"	//Filename for the scratch file
#define DOF_SCRATCH_WIDTH		1024			//Scratch file's width
#define DOF_SCRATCH_HEIGHT		768			//Scratch file's height
//===================================================================================================================