
////-----------//
///**OUTLINE**///
//-----------////
#define USE_OUTLINE 0 //[Outline] //-Creates an outline on objects, similar to Borderlands' toon effect. Requires depth buffer to work.

//>Outline Settings<\\
#define OutlineEdgeDetection 0 //[0:1] //-0 = Normal-depth edge detection, 1 = Color edge detection
#define OutlineAccuracy 1.0 //[0.0:100.0] //-Edge detection accuracy.
#define OutlineColor float3(0.00,0.00,0.00) //[0.00:1.00] //-Outline color.
#define OutlineThreshold 1.0 //[0.0:10.0] //-Ignores soft edges (less sharp corners) when increased.
#define OutlineOpacity 1.00 //[0.00:1.00] //-Outline opacity.
#define OutlineCustomBackground 0 //[0:1] //-Uses a custom color as background when set to 1.
#define OutlineBackgroundColor float3(0.00,0.00,0.00) //[0.00:1.00] //-Background color.
#define Outline_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-


////----------//
///**DEBAND**///
//----------////
#define USE_DEBAND 0 //[Deband] //-Applies debanding to minimize banding artifacts.

//>Deband Settings<\\
#define Threshold 64.0 //[0.0:4096.0] //-The debanding filter's cut-off threshold. Higher numbers increase the debanding strength dramatically but progressively diminish image details. (Default 64)
#define Range 16.0 //[1.0:64.0] //-The debanding filter's initial radius. The radius increases linearly for each iteration. A higher radius will find more gradients, but a lower radius will smooth more aggressively. (Default 16)
#define Iterations 1 //[1:16] //-The number of debanding steps to perform per sample. Each step reduces a bit more banding, but takes time to compute. Note that the strength of each step falls off very quickly, so high numbers (>4) are practically useless. (Default 1)
#define Grain 48.0 //[0.0:4096.0] //-Add some extra noise to the image. This significantly helps cover up remaining quantization artifacts. Higher numbers add more noise. (Default 48)
#define Deband_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-


////---------//
///**PAINT**///
//---------////
#define USE_PAINT 0 //[Paint] //-Gives the image a painty look

//>Paint Settings<\\
#define PaintRadius 2 //[0:20] //-Amount of effect. Higher values require more performance.
#define PaintMethod 0 //[0:1] //-The algorithm used for paint effect. 0 = kingeric1992's paint effect, 1 = Basic kuwahara filtering
#define Paint_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-


////--------//
///**HQ4X**///
//--------////
#define USE_HQ4X 0 //[HQ4X] //-Smoothens the pixel art based video games using HQ4X algorithm.

//>HQ4X Settings<\\
#define HQ4XStrength 1.5 //[0.1:10.0] //-Strength of the effect
#define HQ4XSmoothing 1.0 //[0.0:1.0] //-Start smoothing wt.
#define HQ4XDecreaseFactor -1.10 //[-2.00:0.00] //-Wt. decrease factor 
#define HQ4XMaxFilterWeigth 0.75 //[0.00:1.00] //-Max filter weigth 
#define HQ4XMinFilterWeigth 0.03 //[0.00:1.00] //-Min filter weigth
#define HQ4XEffectsSmoothing 0.33 //[0.00:1.00] //-Effects smoothing
#define HQ4X_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-


////---------//
///**LEIFX**///
//---------////
#define USE_LEIFX 0 //[LeiFX] //-Simulates the look of 3dfx Voodoo Graphics and Voodoo2 3D accelerators.

//>LeiFX Settings<\\
#define DitherAmount 0.50 //[0.00:1.00] //-Amount of dither.
#define DitherBias -1 //[-1:16] //-Biases the value of dither higher.
#define LeiFXLines 0.05 //[0.00:1.00] //-Line intensity.
#define FiltCap 0.04 //[undef] //-Filtered pixel should not exceed this.
#define FiltCapG (FiltCap*0.5) //[undef] //-
#define GammaLevel 1.30 //[0.00:2.00] //-Gamma correction. 1.3 = Voodoo2. 1.7 = Voodoo Graphics
#define LeiFX_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-


////-------------//
///**FINESHARP**///
//-------------////
#define USE_FINESHARP 1 //[FineSharp] //-Sharpens the image by using FineSharp method from Avisynth.

//>FineSharp Settings<\\
#define mode 1 //[1:3] //-1 to 3, weakest to strongest.
#define sstr 2.0 //[0.0:8.0] //-Strength of sharpening.
#define cstr 0.900 //[0.000:2.000] //-Strength of equalization. Suggested settings for cstr based on sstr value: sstr=0->cstr=0, sstr=0.5->cstr=0.1, 1.0->0.6, 2.0->0.9, 2.5->1.00, 3.0->1.09, 3.5->1.15, 4.0->1.19, 8.0->1.249, 255.0->1.5
#define xstr 0.19 //[0.00:1.00] //-Strength of XSharpen-style final sharpening.
#define xrep 0.25 //[0.00:1.00] //-Repair artefacts from final sharpening. (-Vit- addition to original script)
#define lstr 1.49 //[undef] //-Modifier for non-linear sharpening.
#define pstr 1.272 //[undef] //-Exponent for non-linear sharpening.
#define ldmp (sstr+0.1) //[undef] //-"Low damp", to not overenhance very small differences (noise coming out of flat areas).
#define FineSharp_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-


////-----------//
///**DENOISE**///
//-----------////
#define USE_DENOISE 0 //[Denoise] //-Applies denoising to minimize noise in the image.

//>Denoise Settings<\\
#define DenoiseMethod 0 //[0:1] //-0 = Bilateral (Fast), 1 = Non-local means (Very slow)
#define NoiseLevel 0.15 //[0.01:1.00] //-Approximate level of noise in the image.
#define LerpCoefficeint 0.80 //[0.00:1.00] //-Amount of blending between the original and the processed image.
#define WeightThreshold 0.03 //[0.00:1.00] //-Weight threshold.
#define CounterThreshold 0.05 //[0.00:1.00] //-Counter threshold.
#define GaussianSigma 50.0 //[1.0:100.0] //-Gaussian sigma, controls the additional amount of gaussian blur on the image.
#define WindowRadius 3 //[1:10] //-Window radius, higher values require more performance but might increase the image quality.
#define BlockRadius 2 //[1:10] //-(NLM only) Block radius for tweaking the amount of noise on edges, higher values require more performance.
#define Denoise_ToggleKey RESHADE_TOGGLE_KEY //[undef] //-

