/*-----------------------------------------------------------.   
  /                       Description                           /
  '------------------------------------------------------------/
Game: Sniper Elite 3
SweetFX version: 1.4/Boulotaur2024 with TV Levels and  updated Border Shader
Author: Earthquake
Description: eARTHQUAKe Config 3.0 - Final
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Config
•SMAA
•SEPIA
•CURVES
•TONEMAP
•VIBRANCE
•TVLEVELS
•LUMASHARPEN
•LIFTGAMMAGAIN
•GAUSSIAN - UNSHARPMASK
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Note:
Close Anti-aliasing Game
   /*-----------------------------------------------------------.
  /                      Choose effects                         /
  '-----------------------------------------------------------*/
// Set to 1 for ON or 0 for OFF
#define USE_SMAA_ANTIALIASING 1 //[0 or 1] SMAA Anti-aliasing : Smoothens jagged lines using the SMAA technique.
#define USE_TVLEVELS          1 //[0 or 1] TVLevels : Adjusts the brightness/darkness of the scene with a straight line instead of a curve.
#define USE_LUMASHARPEN       1 //[0 or 1] LumaSharpen : Also sharpens the antialiased edges which makes them less smooth - I'm working on fixing that.
#define USE_GAUSSIAN          1 //[0 or 1] Gaussian Blur : can be used to... blur, but also bloom/hazy/glowy look, also unsharp masking
#define USE_LIFTGAMMAGAIN     1 //[0 or 1] Lift Gamma Gain : Adjust brightness and color of shadows, midtones and highlights (avoids clipping)
#define USE_TONEMAP           1 //[0 or 1] Tonemap : Adjust gamma, exposure, saturation, bleach and defog. (may cause clipping)
#define USE_VIBRANCE          1 //[0 or 1] Vibrance : Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
#define USE_CURVES            1 //[0 or 1] Curves : Contrast adjustments using S-curves.
#define USE_SEPIA             1 //[0 or 1] Sepia : Sepia tones the image.
   /*-----------------------------------------------------------.
  /                  SMAA Anti-aliasing settings                /
  '-----------------------------------------------------------*/
#define SMAA_THRESHOLD 0.08           //[0.05 to 0.20] Edge detection threshold. If SMAA misses some edges try lowering this slightly. I prefer between 0.08 and 0.12.
#define SMAA_MAX_SEARCH_STEPS 64      //[0 to 98] Determines the radius SMAA will search for aliased edges
#define SMAA_MAX_SEARCH_STEPS_DIAG 16  //[0 to 16] Determines the radius SMAA will search for diagonal aliased edges
#define SMAA_CORNER_ROUNDING 25       //[0 to 100] Determines the percent of antialiasing to apply to corners. 0 seems to affect fine text the least so it's the default.
// -- Advanced SMAA settings --
#define COLOR_EDGE_DETECTION 1        //[0 or 1] 1 Enables color edge detection (slower but slightly more acurate) - 0 uses luma edge detection (faster)
#define SMAA_DIRECTX9_LINEAR_BLEND 0  //[0 or 1] Using DX9 HARDWARE? (software version doesn't matter) if so this needs to be 1 - If not, leave it at 0.
                                      //Enable this only if you use a Geforce 7xxx series or older card, or a Radeon X1xxx series or older card.
   /*-----------------------------------------------------------.
  /                      TVLevels settings                      /
  '-----------------------------------------------------------*/
  
#define DARK_LEVEL 0.20				//[0 to 255] Darkness strength. Higher values mean darker shadows, 0 means no change. Default is 16.0
#define BRIGHT_LEVEL 8.0			//[0 to 255] Brightness strength. Higher values mean brighter lights, 0 means no change. Default is 20.0
   /*-----------------------------------------------------------.
  /                  LumaSharpen settings                       /
  '-----------------------------------------------------------*/
// -- Sharpening --
#define sharp_strength 0.64   //[0.10 to 3.00] Strength of the sharpening
#define sharp_clamp    0.128  //[0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - Default is 0.035
// -- Advanced sharpening settings --
#define pattern 2        //[1|2|3|4] Choose a sample pattern. 1 = Fast, 2 = Normal, 3 = Wider, 4 = Pyramid shaped.
#define offset_bias 1.0  //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern.
                         //I designed the pattern for offset_bias 1.0, but feel free to experiment.
                           
// -- Debug sharpening settings --
#define show_sharpen 0   //[0 or 1] Visualize the strength of the sharpen (multiplied by 4 to see it better)
   /*-----------------------------------------------------------.
  /                  Gaussian Blur settings                     /
  '-----------------------------------------------------------*/
#define GaussEffect 1        //[0|1|2|3]        0 = Blur, 1 = Unsharpmask (expensive), 2 = Bloom, 3 = Sketchy. Default is 2
#define GaussQuality 0       //[0|1|2|3]        Warning: 2 and 3 are expensive. Default is 1
#define GaussSigma 4        //[1 to 4]         The higher the wider blur/bloom is (only effective when Bloom selected)
#define GaussBloomWarmth 2   //[0|1|2]          "Temperature" of the bloom - 0 = neutral, 1 = warm, 2 = hazy/foggy
#define GaussThreshold 0.80  //[0.00 to 1.00]   [DX10/11 only] Threshold for what is a bright light (that causes bloom) and what isn't.
#define GaussExposure 25.0   //[0.00 to 100.00] [DX10/11 only] Exposure of the effect (the lower the brighter)
#define GaussStrength 0.08  //[0.00 to 1.00]   Amount of effect blended into the final image
   /*-----------------------------------------------------------.
  /                  Lift Gamma Gain settings                   /
  '-----------------------------------------------------------*/
#define RGB_Lift  float3(1.001, 1.002, 0.996)  //[0.000 to 2.000] Adjust shadows for Red, Green and Blue
#define RGB_Gamma float3(1.002, 1.004, 1.000)  //[0.000 to 2.000] Adjust midtones for Red, Green and Blue
#define RGB_Gain  float3(1.002, 1.002, 1.000)  //[0.000 to 2.000] Adjust highlights for Red, Green and Blue
   /*-----------------------------------------------------------.
  /                  Tonemap settings                           /
  '-----------------------------------------------------------*/
#define Gamma 1.0                      //[0.000 to 2.000] Adjust midtones
#define Exposure 0.0                     //[-1.000 to 1.000] Adjust exposure
#define Saturation 0.04                   //[-1.000 to 1.000] Adjust saturation
#define Bleach 0.00                       //[0.000 to 1.000] Brightens the shadows and fades the colors
#define Defog 0.4                     //[0.000 to 1.000] How much of the color tint to remove
#define FogColor float3(0.00, 0.00, 0.00) //[0.00 to 2.55, 0.00 to 2.55, 0.00 to 2.55] What color to remove - default is blue
   /*-----------------------------------------------------------.
  /                  Vibrance settings                          /
  '-----------------------------------------------------------*/
#define Vibrance 0.28 //[-1.00 to 1.00] Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
   /*-----------------------------------------------------------.
  /                  Curves settings                            /
  '-----------------------------------------------------------*/
#define Curves_mode 0        //[0|1|2] Choose what to apply contrast to. 0 = Luma, 1 = Chroma, 2 = both Luma and Chroma. Default is 0 (Luma)
#define Curves_contrast 0.05 //[-1.00 to 1.00] The amount of contrast you want
// -- Advanced curve settings --
#define Curves_formula  2   //[1|2|3|4|5|6|7|8|9] The contrast s-curve you want to use.
                             //1 = Sine, 2 = Abs split, 3 = Smoothstep, 4 = Exp formula, 5 = Simplified Catmull-Rom (0,0,1,1), 6 = Perlins Smootherstep
                             //7 = Abs add, 8 = Techicolor Cinestyle, 9 = Parabola.
                             //Note that Technicolor Cinestyle is practically identical to Sine, but runs slower. In fact I think the difference might only be due to rounding errors.
                             //I prefer 2 myself, but 3 is a nice alternative with a little more effect (but harsher on the highlight and shadows) and it's the fastest formula.
   /*-----------------------------------------------------------.
  /                  Sepia settings                             /
  '-----------------------------------------------------------*/
#define ColorTone float3(1.30, 1.0, 0.75) //[0.00 to 2.55, 0.00 to 2.55, 0.00 to 2.55] What color to tint the image
#define GreyPower  0.08                    //[0.00 to 1.00] How much desaturate the image before tinting it
#define SepiaPower 0.58                    //[0.00 to 1.00] How much to tint the image
   /*-----------------------------------------------------------.
  /                  Key settings                               /
  '-----------------------------------------------------------*/
// This is the section where you can define your own key mapping
// See the following URL to find out what keycode a key has:
// http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
// key_toggle_sweetfx = 145 ; 145 = Lock (Scroll Lock)
// key_screenshot     = 44  ; 44  = Print (Print Screen)
// key_reload_sweetfx = 19  ; 19  = Pause (Pause Break)