/*-----------------------------------------------------------.
  /                      Choose effects                         /
  '-----------------------------------------------------------*/
// Set to 1 for ON or 0 for OFF
#define USE_SMAA_ANTIALIASING  0            // [0 or 1] SMAA Anti-aliasing : Smoothens jagged lines using the SMAA 
#define USE_FXAA_ANTIALIASING  1            // [0 or 1] FXAA Anti-aliasing : Smoothens jagged lines using the FXAA 
#define USE_EXPLOSION          0            // [0 or 1] Explosion : Scatters the pixels, making the image look fuzzy.
#define USE_CARTOON            1            // [0 or 1] Cartoon : "Toon"s the image. (Interferes with SMAA, CRT, Bloom, HDR 
#define USE_ADVANCED_CRT       0            // [0 or 1] Advanced CRT : Simulates an old CRT TV display. (Interferes with 
#define USE_BLOOM              1            // [0 or 1] Bloom : Makes bright lights bleed their light into their 
#define USE_HDR                1            // [0 or 1] HDR : Not actual HDR - It just tries to mimic an HDR look 
#define USE_LUMASHARPEN        1            // [0 or 1] LumaSharpen : Also sharpens the antialiased edges which makes them 
#define USE_LEVELS             0            // [0 or 1] Levels : Sets a new black and white point. This increases contrast 
#define USE_TECHNICOLOR        0            // [0 or 1] TECHNICOLOR : Attempts to mimic the look of an old movie using the 
#define USE_DPX                1            // [0 or 1] Cineon DPX : Should make the image look like it's been converted to 
#define USE_MONOCHROME         0            // [0 or 1] Monochrome : Monochrome makes the colors disappear.
#define USE_LIFTGAMMAGAIN      1            // [0 or 1] Lift Gamma Gain : Adjust brightness and color of shadows, midtones 
#define USE_TONEMAP            1            // [0 or 1] Tonemap : Adjust gamma, exposure, saturation, bleach and defog. 
#define USE_VIBRANCE           1            // [0 or 1] Vibrance : Intelligently saturates (or desaturates if you use 
#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.
#define USE_VIGNETTE           1            // [0 or 1] Vignette : Darkens the edges of the image to make it look more like 
#define USE_DITHER             0            // [0 or 1] Dither : Applies dithering to simulate more colors than your 
#define USE_BORDER             1            // [0 or 1] Border : Makes the screenedge black as a workaround for the bright 
#define USE_SPLITSCREEN        0            // [0 or 1] Splitscreen : Enables the before-and-after splitscreen comparison 
#define USE_CUSTOM             0            // [0 or 1] Custom : Write your own shader by editing custom.h, and then enable 
   /*-----------------------------------------------------------.
  /                  SMAA Anti-aliasing settings                /
  '-----------------------------------------------------------*/
#define SMAA_THRESHOLD         0.10         // [0.05 to 0.20] Edge detection threshold. If SMAA misses some edges try 
#define SMAA_MAX_SEARCH_STEPS  16           // [0 to 98] Determines the radius SMAA will search for aliased edges
#define SMAA_MAX_SEARCH_STEPS_DIAG 6            // [0 to 16] Determines the radius SMAA will search for diagonal aliased 
#define SMAA_CORNER_ROUNDING   0            // [0 to 100] Determines the percent of antialiasing to apply to corners. 0 
// -- Advanced SMAA settings --
#define COLOR_EDGE_DETECTION   1            // [0 or 1] 1 Enables color edge detection (slower but slightly more acurate) - 
#define SMAA_DIRECTX9_LINEAR_BLEND 0            // [0 or 1] Using DX9 HARDWARE? (software version doesn't matter) if so 
   /*-----------------------------------------------------------.
  /                  FXAA Anti-aliasing settings                /
  '-----------------------------------------------------------*/
#define FXAA_QUALITY__PRESET   9            // [1 to 9] Choose the quality preset. 9 is the highest quality.
#define fxaa_Subpix            0.400        // [0.000 to 1.000] Choose the amount of sub-pixel aliasing removal.
#define fxaa_EdgeThreshold     0.250        // [0.000 to 1.000] Edge detection threshold. The minimum amount of local 
#define fxaa_EdgeThresholdMin  0.060        // [0.000 to 1.000] Darkness threshold. Trims the algorithm from processing 
   /*-----------------------------------------------------------.
  /                     Explosion settings                      /
  '-----------------------------------------------------------*/
#define Explosion_Radius       2.5          // [0.2 to 100.0] Amount of effect you want.
   /*-----------------------------------------------------------.
  /                      Cartoon settings                       /
  '-----------------------------------------------------------*/
#define CartoonPower           0.1          // [0.1 to 10.0] Amount of effect you want.
#define CartoonEdgeSlope       4.1          // [0.1 to 8.0] Raise this to filter out fainter edges. You might need to 
   /*----------------------------------------------------------.
  /                    Advanced CRT settings                   /
  '----------------------------------------------------------*/
#define CRTAmount              1.00         // [0.00 to 1.00] Amount of CRT effect you want
#define CRTResolution          2.0          // [1.0 to 8.0] Input size coefficent (low values gives the "low-res retro 
#define CRTgamma               2.2          // [0.0 to 4.0] Gamma of simulated CRT (default 2.2)
#define CRTmonitorgamma        2.4          // [0.0 to 4.0] Gamma of display monitor (typically 2.2 is correct)
#define CRTBrightness          1.2          // [1.0 to 3.0] Used to boost brightness a little. Default is 1.0
#define CRTScanlineIntensity   2.0          // [2.0 to 4.0] Scanlines intensity (use integer values preferably). Default is 
#define CRTScanlineGaussian    1            // [0 or 1] Use the "new nongaussian scanlines bloom effect". Default is on
#define CRTCurvature           1            // [[0 or 1] "Barrel effect" enabled (1) or off (0)
#define CRTCurvatureRadius     2.0          // [0.0 to 2.0] Curvature Radius (only effective when Curvature is enabled). 
#define CRTCornerSize          0.0100       // [0.0000 to 0.0020] Higher values, more rounded corner. Default is 0.001
#define CRTDistance            2.00         // [0.00 to 4.00] Simulated distance from viewer to monitor. Default is 2.00
#define CRTAngleX              0.00         // [-0.20 to 0.20] Tilt angle in radians (X coordinates)
#define CRTAngleY              -0.15        // [-0.20 to 0.20] Tilt angle in radians (Y coordinates). (Value of -0.15 gives 
#define CRTOverScan            1.00         // [1.00 to 1.10] Overscan (e.g. 1.02 for 2% overscan). Default is 1.01
#define CRTOversample          0            // [0 or 1] Enable 3x oversampling of the beam profile (warning : performance 
   /*-----------------------------------------------------------.
  /                       Bloom settings                        /
  '-----------------------------------------------------------*/
#define BloomThreshold         20.25        // [0.00 to 50.00] Threshold for what is a bright light (that causes bloom) and 
#define BloomPower             1.446        // [0.000 to 8.000] Strength of the bloom
#define BloomWidth             0.0142       // [0.0000 to 1.0000] Width of the bloom
   /*-----------------------------------------------------------.
  /                        HDR settings                         /
  '-----------------------------------------------------------*/
#define HDRPower               1.30         // [0.00 to 8.00] Strangely lowering this makes the image brighter
#define radius2                0.87         // [0.00 to 8.00] Raising this seems to make the effect stronger and also 
   /*-----------------------------------------------------------.
  /                     LumaSharpen settings                    /
  '-----------------------------------------------------------*/
// -- Sharpening --
#define sharp_strength         0.65         // [0.10 to 3.00] Strength of the sharpening
#define sharp_clamp            0.035        // [0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - 
// -- Advanced sharpening settings --
#define pattern                2            // [1|2|3|4] Choose a sample pattern. 1 = Fast, 2 = Normal, 3 = Wider, 4 = 
#define offset_bias            1.0          // [0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern.
// -- Debug sharpening settings --
#define show_sharpen           0            // [0 or 1] Visualize the strength of the sharpen (multiplied by 4 to see it 
   /*----------------------------------------------------------.
  /                       Levels settings                      /
  '----------------------------------------------------------*/
#define Levels_black_point     16           // [0 to 255] The black point is the new black - literally. Everything darker 
#define Levels_white_point     235          // [0 to 255] The new white point. Everything brighter than this becomes 
   /*-----------------------------------------------------------.
  /                      TECHNICOLOR settings                   /
  '-----------------------------------------------------------*/
#define TechniAmount           0.4          // [0.00 to 1.00] 
#define TechniPower            4.0          // [0.00 to 8.00] 
#define redNegativeAmount      0.88         // [0.00 to 1.00] 
#define greenNegativeAmount    0.88         // [0.00 to 1.00] 
#define blueNegativeAmount     0.88         // [0.00 to 1.00] 
   /*-----------------------------------------------------------.
  /                      Cineon DPX settings                    /
  '-----------------------------------------------------------*/
#define Red                    8.0          // [1.0 to 15.0] 
#define Green                  8.0          // [1.0 to 15.0] 
#define Blue                   8.0          // [1.0 to 15.0] 
#define ColorGamma             2.5          // [0.1 to 2.5] Adjusts the colorfulness of the effect in a manner similar to 
#define DPXSaturation          3.0          // [0.0 to 8.0] Adjust saturation of the effect. 1.0 is neutral.
#define RedC                   0.36         // [0.60 to 0.20] 
#define GreenC                 0.36         // [0.60 to 0.20] 
#define BlueC                  0.34         // [0.60 to 0.20] 
#define Blend                  0.2          // [0.00 to 1.00] How strong the effect should be.
   /*-----------------------------------------------------------.
  /                      Monochrome settings                    /
  '-----------------------------------------------------------*/
#define Monochrome_conversion_values float3(0.18,0.41,0.41) // [0.00 to 1.00] Percentage of RGB to include (should sum up 
   /*-----------------------------------------------------------.
  /                      Lift Gamma Gain settings               /
  '-----------------------------------------------------------*/
#define RGB_Lift               float3(1.000, 1.000, 1.000) // [0.000 to 2.000] Adjust shadows for Red, Green and Blue.
#define RGB_Gamma              float3(1.000, 1.000, 1.000) // [0.000 to 2.000] Adjust midtones for Red, Green and Blue
#define RGB_Gain               float3(1.000, 1.000, 1.000) // [0.000 to 2.000] Adjust highlights for Red, Green and Blue
//Note that a value of 1.000 is a neutral setting that leave the color unchanged.
   /*-----------------------------------------------------------.
  /                        Tonemap settings                     /
  '-----------------------------------------------------------*/
#define Gamma                  1.000        // [0.000 to 2.000] Adjust midtones. 1.000 is neutral. This setting does 
#define Exposure               0.000        // [-1.000 to 1.000] Adjust exposure
#define Saturation             0.000        // [-1.000 to 1.000] Adjust saturation
#define Bleach                 0.000        // [0.000 to 1.000] Brightens the shadows and fades the colors
#define Defog                  0.000        // [0.000 to 1.000] How much of the color tint to remove
#define FogColor               float3(0.00, 0.00, 2.55) // [0.00 to 2.55, 0.00 to 2.55, 0.00 to 2.55] What color to remove 
   /*-----------------------------------------------------------.
  /                       Vibrance settings                     /
  '-----------------------------------------------------------*/
#define Vibrance               2.0         // [-1.00 to 1.00] Intelligently saturates (or desaturates if you use negative 
#define Vibrance_RGB_balance   float3(1.00, 1.00, 1.00) // [-10.00 to 10.00,-10.00 to 10.00,-10.00 to 10.00] A per channel 
   /*-----------------------------------------------------------.
  /                        Curves settings                      /
  '-----------------------------------------------------------*/
#define Curves_mode            0            // [0|1|2] Choose what to apply contrast to. 0 = Luma, 1 = Chroma, 2 = both 
#define Curves_contrast        0.15         // [-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|10] The contrast s-curve you want to use.
   /*-----------------------------------------------------------.
  /                         Sepia settings                      /
  '-----------------------------------------------------------*/
#define ColorTone              float3(1.40, 1.10, 0.90) // [0.00 to 2.55, 0.00 to 2.55, 0.00 to 2.55] What color to tint 
#define GreyPower              0.11         // [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
   /*-----------------------------------------------------------.
  /                       Vignette settings                     /
  '-----------------------------------------------------------*/
#define VignetteType           3            // [1|2|3] 1 = Original, 2 = New, 3 = TV style
#define VignetteRatio          1.00         // [0.15 to 6.00] Sets a width to height ratio. 1.00 (1/1) is perfectly round, 
#define VignetteRadius         1.00         // [-1.00 to 3.00] lower values = stronger radial effect from center
#define VignetteAmount         -1.00        // [-2.00 to 1.00] Strength of black. -2.00 = Max Black, 1.00 = Max White.
#define VignetteSlope          8            // [2 to 16] How far away from the center the change should start to really 
#define VignetteCenter         float2(0.500, 0.500) // [0.000 to 1.000, 0.000 to 1.000] Center of effect for VignetteType 
   /*-----------------------------------------------------------.
  /                        Dither settings                      /
  '-----------------------------------------------------------*/
#define dither_method          1            // [1 or 2] 1 = Ordered dithering (very good and very fast), 2 = Random 
//Note that the patterns used by Dither, makes an image harder to compress.
//This can make your screenshots and video recordings take up more space.
   /*-----------------------------------------------------------.
  /                        Border settings                      /
  '-----------------------------------------------------------*/
#define border_width           float2(1,20) // [0 to 2048, 0 to 2048] (X,Y)-width of the border. Measured in pixels.
#define border_color           float3(0, 0, 0) // [0 to 255, 0 to 255, 0 to 255] What color the border should be. In 
   /*-----------------------------------------------------------.
  /                     Splitscreen settings                    /
  '-----------------------------------------------------------*/
#define splitscreen_mode       4            // [1|2|3|4|5|6] 1 = Vertical 50/50 split, 2 = Vertical 25/50/25 split, 3 = 
   /*-----------------------------------------------------------.
  /                       Custom settings                       /
  '-----------------------------------------------------------*/
#define custom_strength        1.0          // [0.00 to 1.00] Adjust the strength of the effect