
////---------//
///**GAUSS**///
//---------////
#define USE_GAUSS 0 //[Gaussian] //-Gaussian Blur / Bloom / Unsharpmask

//>Gaussian Blur<\\
#define Use_GaussianBlur 0 //[0:1] //-0 = off, 1 = on. Blurs the image
#define BlurStrength 0.30 //[0.00:1.00] //-Strength of the blur effect
#define GaussSigma 2 //[1:10] //-Adjusts the blur radius. Higher values increase the blur radius.
#define BlurOffset 1.00 //[0.01:2.00] //-Additional adjustment for the blur radius. Values less than 1.00 will decrease the radius. Values greater than 1.00 will increase the radius. 
#define GaussQuality 1 //[0:12] //-Increases the number of blur passes used. Will make the blur radius wider and will smooth out the image when using offset greater than 1.00.
#define Use_SurfaceBlur 0 //[0:1] //-Preserves edges in the blurred image to reduce halos. Works best with GaussTexScale set to 0.
#define EdgeStrength 0.10 //[0.01:0.30] //-Amount of detail preserved when using SurfaceBlur. Lower values will preserve more detail.

//>Unsharpmask Settings<\\
#define Use_Unsharpmask 1 //[0:1] //-0 = off, 1 = on. Sharpens the image
#define SharpStrength 1.0 //[0.00:3.00] //-Strength of the sharpening effect.
#define UnsharpmaskSigma 1 //[1:10] //-Adjusts the radius of the blur used for sharpening. Higher values increase the blur radius.
#define UnsharpmaskOffset 1.00 //[0.01:4.00] //-Additional adjustment for the blur radius. Values less than 1.00 will decrease the radius. Values greater than 1.00 will increase the radius. 
#define UnsharpmaskQuality 0 //[0:12] //-Increases the number of blur passes used. Will make the blur radius wider and will smooth out the image when using offset greater than 1.00.

//>Gaussian Bloom Settings<\\
#define Use_GaussianBloom 0 //[0:1] //-0 = off, 1 = on. 
#define BloomStrength 0.40 //[0.00:1.00] //-Amount of bloom effect added to the image.
#define GaussBloomWarmth 1 //[0|1|2|3] //-0 = neutral, 1 = warm, 2 = hazy/foggy, 3 = cold
#define GaussThreshold 0.800 //[0.000:1.000] //-Threshold for what is considered a bright light. Lower #'s = brighter
#define GaussExposure 65.00 //[0.00:100.00] //-Exposure of the effect. Lower #'s = brighter 
#define BloomSigma 5 //[1:10] //-Adjusts the bloom radius. Higher values increase the bloom radius.
#define BloomOffset 2.0 //[1.0:10.0] //-Additional adjustment for the bloom radius. Values greater than 1.0 will look better with GaussBloomQuality set to 1 or higher.
#define GaussBloomQuality 2 //[0:12] //-Increases the number of blur passes used. Will make the blur radius wider and will smooth out the image when using offset greater than 1.00.

//>Gaussian Bloom Color Settings<\\
#define BloomRed 1.00 //[0.00:2.00] //-Adds a RED tint to bloom. #'s < 1.00 add color, #'s > 1.00 remove color.
#define BloomGreen 1.00 //[0.00:2.00] //-Adds a GREEN tint to bloom. #'s < 1.00 add color, #'s > 1.00 remove color.
#define BloomBlue 1.00 //[0.00:2.00] //-Adds a BLUE tint to bloom. #'s < 1.00 add color, #'s > 1.00 remove color.
#define BloomSaturation 1.0 //[0.0:4.0] //-Saturates the color in the bloom.

//>Performance and Misc Options<\\
#define GaussTexScale 0 //[0|1|2] //-0 = Off, 1 = 1/2 Resolution, 2 = 1/4 Resolution. Reduces performance cost. Works best with Quality settings > 1.
#define SharpTexScale 0 //[0|1|2] //-0 = Off, 1 = 1/2 Resolution, 2 = 1/4 Resolution. Reduces performance cost. Works best with Quality settings > 1.
#define BloomTexScale 2 //[0|1|2] //-0 = Off, 1 = 1/2 Resolution, 2 = 1/4 Resolution. Reduces performance cost. Works best with Quality settings > 1.
#define Gaussian_ToggleKey VK_INSERT //[undef] //--Default is the "Insert" key. Change to RESHADE_TOGGLE_KEY to toggle with the rest of the Framework shaders.


////----------------------//
///**HighPassSharpening**///
//----------------------////
#define USE_HighPassSharpening 1 //[HighPassSharp] //-Sharpens the image.

//>Sharpening Settings<\\
#define SharpRadius 2 //[0:2] //-0 = 3x3 mask, 1 = 5x5 mask, 2 = 7x7 mask. 
#define HPSharpOffset 1.00 //[0.10:1.00] //-Additional adjustment for the SharpRadius. Values less than 1.00 will reduce the radius. Values above 1.00 are not recommended.
#define MaskContrast 0.20 //[0.00:1.00] //-Increases the contrast in the SharpMask.
#define BlendMode 1 //[1|2|3|4|5|6|7] //-1 = Soft Light(weak), 2 = Overlay(neutral), 3 = Multiply, 4 = Hard Light, 5 = Vivid Light, 6 = Screen(strong) 7 = Linear Light
#define HPSharpStrength 2.0 //[-0.50:2.00] //-Strength of the sharpening effect. Negative values soften the image.

//>Advanced Sharpening Settings<\\
#define DarkLineIntensity 1.0 //[0.0:5.0] //-Adjust the strength of dark halos. If the dark halos are clamped, higher values may increase the radius but not the darkness.
#define LightLineIntensity 1.0 //[0.0:5.0] //-Adjust the strength of light halos. If the light halos are clamped, higher values may increase the radius but not the brightness.
#define DarkLineClamp 0.00 //[0.00:0.50] //-Clamp strength for dark portions of the SharpMask. 0.00 = no clamp, 0.50 = No sharpening to dark areas of the image.
#define LightLineClamp 0.00 //[0.00:0.50] //-Clamp strength for light portions of the SharpMask. 0.00 = no clamp, 0.50 = No sharpening to light areas of the image.
#define ViewSharpMask 0 //[0|1] //-Set to 1 to view the SharpMask. Helpful when adjusting settings. 
#define HighPass_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-Default is the "Insert" key. Change to RESHADE_TOGGLE_KEY to toggle with the rest of the Framework shaders.


////-----------//
///**Clarity**///
//-----------////
#define USE_Clarity 1 //[Clarity] //-A local contrast enhancement technique that will emphasize objects in high contrast areas.

//>Clarity Settings<\\
#define ClaritySigma 5 //[1:10] //-Adjusts the blur radius. Higher values increase the radius.
#define ClarityOffset 2.00 //[1.00:4.00] //-Values less than 1 will decrease the radius, values greater than 1 will increase the radius.
#define ClarityIterations 1 //[1:5] //-Additional blur passes. Will help smooth the blur if using high ClaritySigma or ClarityIterations settings.
#define ClarityMaskContrast 0.30 //[0.00:1.00] //-Increases the contrast in the ClarityMask.
#define ClarityBlendMode 1 //[1:7] //-1 = Soft Light(weak), 2 = Overlay(neutral), 3 = Multiply, 4 = Hard Light, 5 = Vivid Light, 6 = Soft Light#2(lighter), 7 = Soft Light#3(darker)
#define ClarityStrength 0.60 //[-0.50:2.00] //-Strength of the effect. 

//>Advanced Clarity Settings<\\
#define DarkIntensity 1.0 //[0.0:5.0] //-Adjust the strength of dark halos.
#define LightIntensity 1.0 //[0.0:5.0] //-Adjust the strength of light halos.
#define DarkClamp 0.00 //[0.0:0.50] //-Clamp strength for dark portions of the Clarity mask. 0.00 = no clamp, 0.50 = No darkening from the Clarity mask.
#define LightClamp 0.00 //[0.0:0.50] //-Clamp strength for light portions of the Clarity mask. 0.00 = no clamp, 0.50 = No lightening from the Clarity mask.
#define ViewMask 0 //[0:1] //-The mask is what creates the effect. View it when making adjustments to get a better idea of how your changes will affect the image. 
#define BlendIfDark 50 //[0:255] //-Any pixels below this value will be excluded from the effect. Set to 50 to target mid-tones.
#define BlendIfLight 205 //[0:255] //-Any pixels above this value will be excluded from the effect. Set to 205 to target mid-tones.
#define ViewBlendIfMask 0 //[0:1] //-Areas covered in RED receive contrast enhancement, areas covered in BLUE do not. The stronger the color, the stronger the effect.

//>Performance and Misc Settings<\\
#define ClarityTextureFormat 0 //[0|1|2] //-0 = R8, 1 = R16F, 2 = R32F. 
#define ClarityTexScale 2 //[0|1|2] //-0 = no scaling, 1 = 1/2 resolution, 2 = 1/4 resolution. Reduces performance cost. 
#define Clarity_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-Default is the "Insert" key. Change to RESHADE_TOGGLE_KEY to toggle with the rest of the Framework shaders.


////-------------------//
///**BilateralFilter**///
//-------------------////
#define USE_BilateralFilter 1 //[BilateralFilter] //-An edge-preserving smoothing filter. Can be used to reduce noise or sharpen without creating halos around strong edges.

//>Bilateral Settings<\\
#define SigmaEdge 0.10 //[0.01:1.00] //-The strength of the edges being preserved by the filter. Small values will preserve finer details.
#define BlurWidth 2 //[1:3] //-Higher values increase the blur radius but also increases the performance cost.
#define Iterations 1 //[1:3] //-Determines the number of blur passes the image goes through.
#define BilateralStrength 1.00 //[0.00:1.00] //-Overall strength of the effect.
#define BilateralFilterr_ToggleKey VK_END //[undef] //-Default is the "Insert" key. Change to RESHADE_TOGGLE_KEY to toggle with the rest of the Framework shaders.

//>Detail Settings<\\
#define DetailStrength 2.0 //[0.00:2.00] //-Multiplier for the detail channel. 0.00 = No detail.
#define DetailCurveType 1 //[0:3] //-Curving the detail channel makes the image sharper, a stronger curve = a sharper image. 0 = no curve, 1 = smoothstep, 2 = smootherstep, 3 = smoothererstep.
#define Use_SelectiveSharpening 1 //[0:1] //-Applies sharpening to highly textured areas only. Increases the performance cost. Set to 0 if using the filter for blurring (DetailStrength = 0.00). 
#define LowDetailCutoff 0.03 //[0.00:0.25] //-Everything below this point is considered low detail and will not be sharpened.
#define HighDetailCutoff 0.20 //[0.05:1.00] //-Everything above this point is considered high detail and will be sharpened.
#define TextureMaskStrength 8.0 //[0.5:10.0] //-Adjusts the strength of textured areas.
#define ViewTextureMask 0 //[0:1] //-Texture mask used for SelectiveSharpening. Black areas are considered LowDetail, white areas are considered HighDetail. Helpful when adjusting DetailCutoffs and TextureMaskStrength.


////-----------------------//
///**ChromaticAberration**///
//-----------------------////
#define USE_ChromaticAberration 0 //[ChroAb] //-Four different types of chromatic aberration with adjustable offset and blurring options.

//>ChromaticAberration<\\
#define CA_Color 1 //[1:4] //-1 = red/green/blue, 2 = red/cyan, 3 = blue/yellow, 4 = magenta/green
#define CA_Offset 0.0030 //[0.0000:0.0100] //-Adjusts the offset of the effect. Larger values = larger offset.
#define CA_Blurring 1 //[0:3] //-Blurs the CA making it smoother and wider. 0 = no blurring, 1 = 3 samples, 2 = 5 samples, 3 = 9 samples.
#define CA_Strength 1.00 //[0.00:2.00] //-Strength of the effect.
#define ca_ToggleKey VK_INSERT //[undef] //-Default is the "Insert" key. Change to RESHADE_TOGGLE_KEY to toggle with the rest of the Framework shaders.

//>Lens Distortion Settings<\\
#define CA_RadialBlurring 2 //[0:4] //-Blurs the image outward from the center. 0 = off, 1 = 3 samples, 2 = 5 samples, 3 = 11 samples, 4 = 21 samples
#define RadialBlurStrength 0.3 //[0.0:1.0] //-Strength of the blur effect.
#define RadialBlurFocus 1.0 //[0.1:5.0] //-Determines how far from the center of the screen the RadialBlurring effect begins. Lower #'s = further from the center.
#define CA_LensShape 1.78 //[1.00:2.00] //-Adjusts the shape of the "Lens". 1.00 = Round, #'s > 1.00 = Ellipse.
#define CA_LensFocus 1.0 //[0.1:5.0] //-Determines how far from the center of the screen the CA effect begins. Lower #'s = further from the center.


////---------------//
///**ColorFilter**///
//---------------////
#define USE_ColorFilter 0 //[ColorFilter] //-Adds a color filter over the image.

//>Color Filter Global Settings<\\
#define FilterStrength 0.05 //[-0.10:1.00] //-Strength of the filter. Positive values add color, negative values remove color.
#define FilterBlendMode 2 //[0:5] //-0 = Overlay, 1 = Multiply, 2 = Soft Light, 3 = Linear Light, 4 = Burn and Dodge, 5 = Screen
#define FilterBlendIfDark 0 //[0:255] //-Filter will not be applied to portions of the original image that are less than this value.
#define FilterBlendIfBright 255 //[0:255] //-Filter will not be applied to portions of the original image that are greater than this value.
#define FilterExposure 1.00 //[0.00:2.00] //-#'s > 1.00 = darker, #'s < 1 = brighter. This will have an effect even if all filters are disabled.
#define AdjustSaturation 0.90 //[0.00:2.00] //-Amount of color from the original in the final image. 0.00 = black and white, values greater than 1.00 add more color. This will not change the saturation of the color filters, only the original image.
#define CurveRed 0.00 //[-1.00:1.00] //-Applies an S-curve to the RED channel of the final image (after the color filter has been applied)
#define CurveBlue 0.00 //[-1.00:1.00] //-Applies an S-curve to the GREEN channel of the final image (after the color filter has been applied)
#define CurveGreen 0.00 //[-1.00:1.00] //-Applies an S-curve to the BLUE channel of the final image (after the color filter has been applied)
#define AdjustShadows 0.00 //[-1.00:1.00] //-A quick way to adjust shadows if a color filter has made them brighter or darker than you would like them to be. Values greater than 0.00 will make shadows brighter, values less than 0.00 will make them darker.
#define DitherFilter 1 //[0:1] //-Iestyn's RGB dither (Valve). Reduces color banding that may be introduced by the color filter.
#define ViewFilter 0 //[0:1] //-Set to 1 to view the color filter. Helpful for selecting and adjusting colors.
#define Filter_ToggleKey VK_INSERT //[undef] //-Default is the "Insert" key. Change to RESHADE_TOGGLE_KEY to toggle with the rest of the Framework shaders.

//>Color Selection / Creation<\\
#define BrightColorSelection 0 //[0:10] //-Color applied to bright areas. 0 = Custom, 1 = Off-White, 2 = Light-Yellow, 3 = Yellow, 4 = Orange, 5 = Red, 6 = Blue Violet, 7 = Blue, 8 = Cyan, 9 = Green, 10 = Brown
#define DarkColorSelection 0 //[0:10] //-Color applied to dark areas. 0 = Custom, 1 = Blue, 2 = Purple, 3 = Red, 4 = Orange, 5 = Green, 6 = Olive, 7 = Brown, 8 = Dark Cyan, 9 = Dark Yellow, 10 = Grey
#define BrightColorRed 255 //[0:255] //-Amount of RED in the color applied to bright areas.
#define BrightColorGreen 200 //[0:255] //-Amount of GREEN in the color applied to bright areas.
#define BrightColorBlue 53 //[0:255] //-Amount of BLUE in the color applied to bright areas.
#define DarkColorRed 100 //[0:255] //-Amount of RED in the color applied to dark areas. 
#define DarkColorGreen 50 //[0:255] //-Amount of GREEN in the color applied to dark areas.
#define DarkColorBlue 250 //[0:255] //-Amount of BLUE in the color applied to dark areas.

//>Filter Adjustments<\\
#define BrightColorAmt 0.00 //[0.00:0.50] //-Amount of the bright color in the filter. Setting too high will cause banding.
#define DarkColorAmt 0.00 //[0.00:0.50] //-Amount of the dark color in the filter. Setting too high will cause banding.
#define HighPower 0.3 //[0.0:1.0] //-Raising this will make the color in bright areas brighter. 
#define LowPower 1.0 //[0.0:1.0] //-Raising this will make the color in dark areas darker.

//>Filter Color Adjustments<\\
#define BrightRed 0.20 //[-1.00:1.00] //-Adjust the amount of RED in BRIGHT areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.
#define BrightGreen 0.20 //[-1.00:1.00] //-Adjust the amount of GREEN in BRIGHT areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.
#define BrightBlue 0.00 //[-1.00:1.00] //-Adjust the amount of BLUE in BRIGHT areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.
#define MidRed 0.05 //[-1.00:1.00] //-Adjust the amount of RED in MID areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.
#define MidGreen 0.15 //[-1.00:1.00] //-Adjust the amount of GREEN in MID areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.
#define MidBlue 0.00 //[-1.00:1.00] //-Adjust the amount of BLUE in MID areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.
#define DarkRed -0.10 //[-1.00:1.00] //-Adjust the amount of RED in DARK areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.
#define DarkGreen 0.00 //[-1.00:1.00] //-Adjust the amount of GREEN in DARK areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.
#define DarkBlue -0.10 //[-1.00:1.00] //-Adjust the amount of BLUE in DARK areas of the color filter. It is helpful to set ViewFilter to 1 when adjusting. # > 1.00 ADD color, # < 1.00 REMOVE color.

