TheLazyFrameworkEffectOrdering:Pipeline.cfg for Mediator v1.1
  /*----------------------------.
  | ::    Effect Ordering    :: |
  '----------------------------*/
#include EFFECT(BasicFX, Util)
#include EFFECT(CustomFX, Util)
#include EFFECT(GemFX, Util)
#include EFFECT(McFX, Util)
#include EFFECT(SweetFX, Util)
#include EFFECT(McFX, SSAO)
#include EFFECT(McFX, DOF)
#include EFFECT(CustomFX, DaltonizeFX)
#include EFFECT(CustomFX, DOSFX)
#include EFFECT(CustomFX, Emboss)
#include EFFECT(CustomFX, Deband)
#include EFFECT(CustomFX, HSV)
#include EFFECT(McFX, RBM)
#include EFFECT(CustomFX, TiltShift)
#include EFFECT(GemFX, AdvMotionBlur)
#include EFFECT(GemFX, MotionBlur)
#include EFFECT(GemFX, MotionFocus)
#include EFFECT(CustomFX, HQ4X)
#include EFFECT(GemFX, Bloom)
#include EFFECT(SweetFX, Shared)
#include EFFECT(GemFX, AmbientLight)
#include EFFECT(McFX, HeatHaze)
#include EFFECT(CustomFX, TuningPalette)
#include EFFECT(SweetFX, Ascii)
#include EFFECT(SweetFX, Cartoon)
#include EFFECT(CustomFX, AdaptiveSharpen)
#include EFFECT(SweetFX, LumaSharpen)
#include EFFECT(SweetFX, SMAAWrap)
#include EFFECT(SweetFX, Explosion)
#include EFFECT(SweetFX, FXAAWrap)
#include EFFECT(SweetFX, Bloom)
#include EFFECT(SweetFX, HDR)
#include EFFECT(SweetFX, CA)
#include EFFECT(SweetFX, AdvancedCRT)
#include EFFECT(SweetFX, PixelartCRT)
#include EFFECT(SweetFX, LensDistortion)
#include EFFECT(CustomFX, ColorCorrection)
#include EFFECT(CustomFX, Cel)
#include EFFECT(CustomFX, Gaussian)
#include EFFECT(CustomFX, Paint)
#include EFFECT(CustomFX, Custom)
#include EFFECT(McFX, FishEyeCA)
#include EFFECT(CustomFX, Gr8mmFilm)
#include EFFECT(CustomFX, Grain)
#include EFFECT(CustomFX, VHS)
#include EFFECT(CustomFX, YACA)
#include EFFECT(BasicFX, Magnify)
#include EFFECT(BasicFX, UIMask)
#include EFFECT(BasicFX, Border)
#include EFFECT(BasicFX, SplitScreen)
#include EFFECT(BasicFX, DisplayDepth)
#include EFFECT(SweetFX, Transition)
TheLazyFrameworkSuiteName:BasicFX

////----------//
///**UIMask**///
//----------////
#define USE_UIMask 0 //[UIMask] //-A mask that defines which areas of the screen will have no effects applied

//>UI Mask Settings<\\
#define UIMask_Helper 1 //[0:1] //-Helps to automatically create a UI - Mask for static elements
#define UIMask_Direct 1 //[0:1] //-1: loads the mask from memory; 0: loads the mask from disk
#define UIMask_Tolerance 5 //[0|1|2|3|4|5] //-Defines the tolerance level of the algorithm when detecting UI elements
#define UIMask_HelperKey VK_F12 //[undef] //-When pressed, starts to create a UI - Mask for static elements
#define UIMaskReset_HelperKey VK_F11 //[undef] //-Resets the automatically created UI - Mask (press again to release)
#define UIMask_ToggleKey RFX_ToggleKey //[undef] //-No description given


////----------//
///**Border**///
//----------////
#define USE_Border 0 //[Border] //-A mask that defines where a border effect is drawn

//>Border Shader Settings<\\
#define Border_ToggleKey RFX_ToggleKey //[undef] //-Toggles the border shader


////---------------//
///**SplitScreen**///
//---------------////
#define USE_SplitScreen 0 //[SplitScreen] //-Allows the various comparisons with the original image

//>Split Screen Shader Settings<\\
#define SScomparable 1 //[0:1] //-Splits the screen in the middle and draws the same image twice.
#define SScomparableStretch 0 //[0:1] //-Shows the full image on each side of the comparable splitscreen
#define SSslider 0 //[0:1] //-Activates an active transition between original and shader image
#define SSsliderSpeed 0.01 //[0.00:1.00] //-Defines the speed of the transition
#define SSaxis 0 //[0:1] //-To select the splitscreen axis; 0 => y; 1 => x
#define SSborderWidth 0.002 //[0.000:1.000] //-Width of the border between original and shader image 
#define SS_ToggleKey VK_F12 //[undef] //-Toggles the split screen shader


////-----------//
///**Magnify**///
//-----------////
#define USE_Magnify 0 //[Magnify] //-

//>Magnify Shader Settings<\\
#define magnifyStartPixelWidth 100 //[undef] //-
#define magnifyStartPixelHeight 100 //[undef] //-
#define magnifyEndPixelWidth 400 //[undef] //-
#define magnifyEndPixelHeight 400 //[undef] //-
#define Magnify_ToggleKey RFX_ToggleKey //[undef] //-Toggles the magnify shader


////----------------//
///**DisplayDepth**///
//----------------////
#define USE_DisplayDepth 0 //[DisplayDepth] //-Display Depth : Enables the possibility to display the depth buffer - You will still need to toogle it on/off with (F12) in-game

//>Display Depth Settings<\\
#define Depth_ToggleKey VK_F12 //[undef] //-Set the key to toggle the depth view On/Off

TheLazyFrameworkSuiteName:Common

////----------//
///**GLOBAL**///
//----------////
//-Global Defines-//

//>Common Suite General Settings<\\
//-Commentary:Welcome to the ReShade Framework.\nThe Common Suite contains all globally used values. For more information visit http://reshade.me/forum/shaderpack-framework.

//>User<\\
#define RFX_Start_Enabled 1 //[0:1] //-Start with the effects enabled or disabled?
#define RFX_Screenshot_Format 2 //[1:2] //-Sets the screenshot format (1 = bmp, 2 = png) You can take screenshots by pressing PrintScreen
#define RFX_ShowToggleMessage 0 //[0:1] //-Display a toggle message when using toggle key.
#define RFX_ToggleKey VK_SCROLL //[undef] //-Set the global key that should toggle the effects On/Off. Go to ReShade/Common/KeyCodes.h for additional key codes.

//>Core<\\
#define RFX_InitialStorage 1 //[0:1] //-Set this to 0 if you !only! use the SweetFX suite and want some additional fps.
#define RFX_DepthBufferCalc 1 //[0:1] //-Set this to 0 if run an application that does not allow depth buffer access or you use no depth dependent effects and want some additional fps.

//>Statistics<\\
#define RFX_ShowFPS 0 //[0:1] //-Controls the display of the FPS counter.
#define RFX_ShowClock 0 //[0:1] //-Controls the display of the realtime clock.
#define RFX_ShowStatistics 0 //[0:1] //-Controls the display of the detailed developer statistics.

//>Depth Settings<\\
#define RFX_LogDepth 0 //[0:1] //-Needed to retrieve values from logarithmic depth buffer (e.g. in GTA V).
#define RFX_PseudoDepth 0 //[0:1] //-To use or configure depth shader without acces to depth buffer.

TheLazyFrameworkSuiteName:CustomFX

////----------//
///**GLOBAL**///
//----------////
//-Global Defines-//

//>CustomFX Suite General Settings<\\
//-Commentary:The Custom Suite contains various distinct shader.\nBeginning from Technicolor, all following shader are grouped to together under the ColorCorrection set.
#define ColorCorrection_ToggleKey RFX_ToggleKey //[undef] //-


////----------//
///**CUSTOM**///
//----------////
#define USE_CUSTOM 0 //[Custom] //-

//>Custom Shader General Settings<\\
//-Commentary:This shader is not doing anything but a starting point for new shader developers.
#define val1 0.00 //[0.00:1.00] //-...
#define val2 1.00 //[0.00:1.00] //-...
#define Custom_ToggleKey RFX_ToggleKey //[undef] //-


////-------//
///**CEL**///
//-------////
#define USE_CEL 0 //[Cel] //-Cel : Creates an outline on objects, similar to Borderlands' cel shading effect. Requires depth buffer to work.

//>Cel Settings<\\
#define CelAccuracy 10.0 //[0.0:100.0] //-Accuracy or amount of Cel shading.
#define Cel_ToggleKey RFX_ToggleKey //[undef] //-


////---------------//
///**DALTONIZEFX**///
//---------------////
#define USE_DALTONIZEFX 0 //[DaltonizeFX] //-Daltonize (source http://www.daltonize.org/search/label/Daltonize)

//>DALTONIZE Settings<\\
#define DaltonizeFX_Type 1 //[1:3] //-1 = Protanopia, 2 = Deuteranopia, 3 = Tritanopia
#define DaltonizeFX_ToggleKey RFX_ToggleKey //[undef] //-


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

//>Deband Settings<\\
#define DEBAND_RADIUS 32.0 //[0.0:1024.0] //-Sampling radius, higher values will reduce further banding but might also reduce details
#define DEBAND_THRESHOLD 0.017 //[0.000:0.100] //-Threshold, higher values will reduce further banding but might also reduce details and increase noise
#define DEBAND_SAMPLE_COUNT 8 //[1:8] //-Sample count, higher values are better
#define DEBAND_OFFSET_MODE 3 //[1:3] //-1 = cross (axis aligned, fast), 2 = diagonal (45 degrees, slower), 3 = box (fully random, much slower)
#define DEBAND_DITHERING 1 //[0:3] //-Additional dithering options to smoothen the output. 0 = No dithering 1 = Ordered dithering, 2 = Random dithering, 3 = Iestyn's RGB dither (Valve)

//>Deband debug settings<\\
#define DEBAND_SKIP_THRESHOLD_TEST 0 //[0:1] //-1 = Skip threshold to see the unfiltered sampling pattern
#define DEBAND_OUTPUT_BOOST 1.0 //[-2.0:2.0] //-Default = 1.0. Any value other than the default activates debug mode. When fine-tuning the values you might use both these settings to boost luminance, which should make it easier to see banding artifacts.
#define DEBAND_OUTPUT_OFFSET 0.0 //[-1.0:3.0] //-Default = 0.0. Any value other than the default activates debug mode. When fine-tuning the values you might use both these settings to boost luminance, which should make it easier to see banding artifacts.
#define Deband_ToggleKey RFX_ToggleKey //[undef] //-


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

//>Paint Settings<\\
#define PaintRadius 7 //[0:64] //-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 RFX_ToggleKey //[undef] //-


////-------------------//
///**ADAPTIVESHARPEN**///
//-------------------////
#define USE_ADAPTIVESHARPEN 0 //[AdaptiveSharpen] //-Adaptive sharpen by bacondither (2015-11-05). NOTICE: Currently does not work as intended on DX11. For more information: http://forum.doom9.org/showthread.php?t=172131

//>Adaptive Sharpen Settings<\\
#define curve_height 1.0 //[0.3:1.5] //-Main sharpening strength.
#define AdaptiveSharpen_ToggleKey RFX_ToggleKey //[undef] //-

//>Advanced Adaptive Sharpen Settings<\\
//-Commentary:Defined values under this row are "optimal". Do not change if you do not know what you are doing.
#define curveslope (curve_height*1.0) //[undef] //-Sharpening curve slope, high edge values.
#define D_overshoot 0.009 //[undef] //-Max dark overshoot before max compression.
#define D_compr_low 0.25 //[undef] //-Max compression ratio, dark overshoot (1/0.250=4x)
#define D_compr_high 0.5 //[undef] //-pixel surrounded by edges (1/0.500=2x)
#define L_overshoot 0.003 //[undef] //-Max light overshoot before max compression.
#define L_compr_low 0.167 //[undef] //-Max compression ratio, light overshoot (1/0.167=6x)
#define L_compr_high 0.334 //[undef] //-pixel surrounded by edges (1/0.334=3x)
#define max_scale_lim 0.1 //[undef] //-Abs change before max compression (0.1 = +-10%).


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

//>Gaussian Blur / Unsharpmask Settings<\\
#define Use_GaussianBlur 1 //[0:1] //-0 = off, 1 = on. Blurs the image
#define BlurStrength 0.13 //[0.00:1.00] //-Strength of the blur effect
#define Use_Unsharpmask 1 //[0:1] //-0 = off, 1 = on. Sharpens the image
#define SharpStrength 0.05 //[0.00:1.00] //-Strength of the sharpening effect
#define GaussSigma 1 //[1|2|3|4] //-Makes the blur and sharpening radius wider. Only works when GaussQuality is set to 1 or higher.
#define GaussQuality 1 //[0:12] //-Higher #'s = more blur passes for Blur and Unsharp Mask (Higher performance cost).

//>Gaussian Bloom Settings<\\
#define Use_GaussianBloom 1 //[0:1] //-0 = off, 1 = on. 
#define BloomStrength 0.46 //[0.00:1.00] //-Amount of bloom effect added to the image.
#define GaussBloomWarmth 2 //[0|1|2] //-0 = neutral, 1 = warm, 2 = hazy/foggy
#define GaussThreshold 0.504 //[0.000:1.000] //-Threshold for what is considered a bright light. Lower #'s = brighter
#define GaussExposure 43.70 //[0.00:100.00] //-Exposure of the effect. Lower #'s = brighter 
#define BloomSigma 4 //[1|2|3|4] //-Makes the bloom radius wider. Only works when BloomQuality is set to 1 or higher. 
#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 GaussBloomQuality 4 //[0:12] //-Higher #'s = more blur passes

//>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 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 RFX_ToggleKey //[undef] //-


////-------------//
///**TILTSHIFT**///
//-------------////
#define USE_TILTSHIFT 0 //[TiltShift] //-TiltShift effect based of GEMFX

//>TiltShift Settings<\\
#define TiltShiftPower 5.0 //[0.0:100.0] //-Amount of blur applied to the screen edges
#define TiltShiftCurve 3.0 //[0.0:10.0] //-Defines the sharp focus / blur radius
#define TiltShiftOffset -0.6 //[-5.0:5.0] //-Defines the sharp focus aligned to the y-axis
#define TiltShift_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define TiltShift_ToggleKey VK_SPACE //[undef] //-


////-----------------//
///**TUNINGPALETTE**///
//-----------------////
#define USE_TUNINGPALETTE 0 //[TuningPalette] //-Allows to use color maps (like in ENB) or color palettes

//>Tuning Palette Settings General<\\
#define TuningColorPalette 0 //[0:1] //-ColorPalette
#define TuningColorMap 0 //[0:1] //-ColorMap
#define TuningColorLUT 1 //[0:1] //-ColorLUT
#define TuningPaletteDependency 0 //[0:1] //-0: PixelColor; 1: PixelBrightness (0 is recommended for the ColorPalette effect)
#define TuningPalettePower 0.075 //[0.000:1.000] //-Strength of the Tuning Palette effect
#define TuningPalette_ToggleKey RFX_ToggleKey //[undef] //-No description given

//>Color Palette Parameters<\\
#define TuningColorPaletteSmoothMix 0.3 //[0.0:1.0] //-Amount of smooth integration into original image
#define TuningTileAmountX 5 //[1:16] //-Amount of tiles the selected palette has on the X-axis
#define TuningTileAmountY 1 //[1:16] //-Amount of tiles the selected palette has on the Y-axis
#define TuningColorPaletteTexture "CFX_vintage.png" //[undef] //-Define the color palette for palette effect (e.g. CFX_quake.png, CFX_vintage.png)
#define TuningColorPalettePower 1/float3(1.0,1.0,1.0) //[undef] //-Defines the impact of red, green and blue when applying palette colors 

//>Color Map Parameters<\\
#define TuningColorMapTexture "CFX_TuningPalette.bmp" //[undef] //-needs to have 256x256 pixels  

//>Color LUT Settings<\\
#define TuningColorLUTIntensity 1.00 //[0.00:1.00] //-Intensity of the effect overlay
#define TuningColorLUTDstTexture "CFX_ColorLUTDst.png" //[undef] //-Needs to have 256x16 pixels
#define TuningColorLUTTileAmountX 256 //[undef] //-LUT Width
#define TuningColorLUTTileAmountY 16 //[undef] //-LUT Height


////-------------//
///**GR8MMFILM**///
//-------------////
#define USE_GR8MMFILM 0 //[Gr8mmFilm] //-Applies cutomized 8mm film overlays

//>Gr8mm Film Settings<\\
#define Gr8mmFilmTileAmount 7.0 //[2.0:20.0] //-Amount of frames used in the Gr8mmFilm.png
#define Gr8mmFilmPower 0.95 //[0.00:1.00] //-Overall intensity of the effect	
#define Gr8mmFilmVignettePower 1.0 //[0.0:2.0] //-Strength of the effect at the edges
#define Gr8mmFilmAlphaPower 1.2 //[0.0:2.0] //-Takes gradients into account (white => transparent)
#define Gr8mmFilmBlackFrameMix 0 //[0:1] //-0: Adds a black frame into the mix; 1: No black frame added
#define Gr8mmFilmScroll 0 //[0:1] //-0: Jumps from frame to frame; 1: Scrolls from frame to frame
#define Gr8mmFilmTexture "CFX_Gr8mmFilm.png" //[undef] //-Defines the texture which contains the single frames
#define Gr8mmFilmTextureSizeX 1280 //[undef] //-Size of the defined texture (Width)
#define Gr8mmFilmTextureSizeY 5040 //[undef] //-Size of the defined texture (Height)
#define Gr8mmFilm_ToggleKey RFX_ToggleKey //[undef] //-No description given


////-------//
///**VHS**///
//-------////
#define USE_VHS 0 //[VHS] //-Enables the base effect (Just NTSC colors)

//>VHS Settings<\\
#define sNoiseMode 3 //[1:3] //-Swap between several noise textures.
#define bUseTapeNoise 1 //[0:1] //-Tape noise that scrolls trough the screen.
#define bUseVCRDistort 1 //[0:1] //-VCR Distortion	
#define bUseDirtyCRT 1 //[0:1] //-Dirty CRT Shader, adds color distortion
#define bUseVHSDistort 0 //[0:1] //-Analogical signal distortion
#define bVHSDistortGammaFix 0 //[0:1] //-0: Fixes the darkening of the NTSC Shader
#define bUseNTSCFilter 0 //[0:1] //-NTSC Shader, decreases color (good for VHSDistortion with GammaFix)
#define VHS_ToggleKey RFX_ToggleKey //[undef] //-No description given


////--------//
///**YACA**///
//--------////
#define USE_YACA 0 //[YACA] //-Yet Another Chromatic Aberration

//>VHS Settings<\\
#define iADOF_ImageChromaHues 25 //[2:30] //-Amount of samples through the light spectrum to get a smooth gradient.
#define fADOF_ImageChromaCurve 1.0 //[0.5:2.0] //-Image chromatic aberration curve. Higher means less chroma at screen center areas.
#define fADOF_ImageChromaAmount 100.0 //[5.0:200.0] //-Linearly increases image chromatic aberration amount.	
#define YACA_ToggleKey RFX_ToggleKey //[undef] //-No description given


////---------//
///**GRAIN**///
//---------////
#define USE_GRAIN 0 //[Grain] //-Adds an active graininess to the image. Helps with banding and can add the illusion of detail

//>Film Grain Settings<\\
//-Commentary:This Martins improved Film Grain shader (http://devlog-martinsh.blogspot.com) which was ported by Alo81.
#define GrainPower 0.03 //[0.00:1.00] //-Intensity of applied grain
#define GrainColored 0 //[0:1] //-Whether grain should be colored or not. Colored grain is not as noticeable, so it helps to increase grain power.
#define GrainColorAmount 1.00 //[0.00:1.00] //-Amount of color to add to grain
#define GrainSize 1.50 //[1.25:2.50] //-Size of individual pieces of grain. Below 1.25 the pattern becomes noticeable.
#define GrainLuma 0.80 //[0.00:1.00] //-Grain brightness. 0 makes grain not visible.  
#define Grain_ToggleKey RFX_ToggleKey //[undef] //-No description given


////----------//
///**EMBOSS**///
//----------////
#define USE_EMBOSS 0 //[Emboss] //-Gives the image a painty look

//>Emboss Settings<\\
#define bEmbossDoDepthCheck 1 //[0:1] //-EXPERIMENTAL! If enabled, shader compares emboss samples depth to avoid artifacts at object borders.
#define fEmbossDepthCutoff 0.0001 //[0.0001:0.0100] //-Preserves object edges from getting artifacts. If pixel depth difference of emboss samples is higher than that, pixel gets skipped. 
#define fEmbossPower 0.666 //[0.100:2.000] //-Amount of embossing.	
#define fEmbossOffset 2.0 //[0.5:5.0] //-Pixel offset for embossing.
#define iEmbossAngle 90.00 //[0.00:360.00] //-Pixel offset angle for embossing.
#define Emboss_ToggleKey RFX_ToggleKey //[undef] //-


////--------//
///**HQ4X**///
//--------////
#define USE_HQ4X 0 //[HQ4X] //-

//>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 RFX_ToggleKey //[undef] //-


////-------//
///**HSV**///
//-------////
#define USE_HSV 0 //[HSV] //-Allows to define individual color density

//>HSV Settings<\\
#define fColorSaturationMod 0.00 //[-1.00:1.00] //-Adds to the overall color saturation.
#define fColorSaturationMult 1.00 //[0.00:5.00] //-Multiplies the color saturation.
#define fColorSaturationPow 1.00 //[0.00:5.00] //-Curves the color saturation.
#define fColorIntensityMod 0.00 //[-1.00:1.00] //-Adds to the overall brightness.
#define fColorIntensityMult 1.00 //[0.00:5.00] //-Multiplies the overall brightness.
#define fColorIntensityPow 1.00 //[0.00:5.00] //-Curves the overall brightness.
#define fColorHueMod 0.00 //[-1.00:1.00] //-Adds to the overall color hue (color shifting).
#define fColorHueMult 1.00 //[0.00:5.00] //-Multiplies the color hue (color shifting).
#define fColorHuePow 1.00 //[0.00:5.00] //-Curves the color hue. 
#define HSV_ToggleKey RFX_ToggleKey //[undef] //-

//>Add Settings<\\
#define fSaturationModRed 0.00 //[-1.00:1.00] //-Adds to the color saturation of red hues only. Default 0.0.
#define fSaturationModOrange 0.00 //[-1.00:1.00] //-Adds to the color saturation of orange hues only. Default 0.0.
#define fSaturationModYellow 0.00 //[-1.00:1.00] //-Adds to the color saturation of yellow hues only. Default 0.0.
#define fSaturationModGreen 0.00 //[-1.00:1.00] //-Adds to the color saturation of green hues only. Default 0.0. 
#define fSaturationModCyan 0.00 //[-1.00:1.00] //-Adds to the color saturation of cyan hues only. Default 0.0.
#define fSaturationModBlue 0.00 //[-1.00:1.00] //-Adds to the color saturation of blue hues only. Default 0.0.
#define fSaturationModMagenta 0.00 //[-1.00:1.00] //-Adds to the color saturation of magenta hues only. Default 0.0.

//>Mult Settings<\\
#define fSaturationMultRed 0.00 //[0.00:5.00] //-Multiplies the color saturation of red hues only. Default 0.0.
#define fSaturationMultOrange 0.00 //[0.00:5.00] //-Multiplies the color saturation of orange hues only. Default 0.0.
#define fSaturationMultYellow 0.00 //[0.00:5.00] //-Multiplies the color saturation of yellow hues only. Default 0.0.
#define fSaturationMultGreen 0.00 //[0.00:5.00] //-Multiplies the color saturation of green hues only. Default 0.0. 
#define fSaturationMultCyan 0.00 //[0.00:5.00] //-Multiplies the color saturation of cyan hues only. Default 0.0.
#define fSaturationMultBlue 1.00 //[0.00:5.00] //-Multiplies the color saturation of blue hues only. Default 0.0.
#define fSaturationMultMagenta 0.00 //[0.00:5.00] //-Multiplies the color saturation of magenta hues only. Default 0.0.  

//>Curve Settings<\\
#define fSaturationPowRed 0.00 //[-1.00:5.00] //-Curves the color saturation of red hues only. Default 0.0.
#define fSaturationPowOrange 0.00 //[-1.00:5.00] //-Curves the color saturation of orange hues only. Default 0.0.
#define fSaturationPowYellow 0.00 //[-1.00:5.00] //-Curves the color saturation of yellow hues only. Default 0.0.
#define fSaturationPowGreen 0.00 //[-1.00:5.00] //-Curves the color saturation of green hues only. Default 0.0. 
#define fSaturationPowCyan 0.00 //[-1.00:5.00] //-Curves the color saturation of cyan hues only. Default 0.0.
#define fSaturationPowBlue 0.00 //[-1.00:5.00] //-Curves the color saturation of blue hues only. Default 0.0.
#define fSaturationPowMagenta 0.00 //[-1.00:5.00] //-Curves the color saturation of magenta hues only. Default 0.0. 


////-------//
///**LUT**///
//-------////
#define USE_LUT 0 //[ColorCorrection] //-Color Lookup Table: Uses a gradient texture to adjust the colors of the image.


////---------------//
///**TECHNICOLOR**///
//---------------////
#define USE_TECHNICOLOR 0 //[ColorCorrection] //-Technicolor : Attempts to mimic the look of an old movie using the Technicolor three-strip color process. Algorithm from prod80

//>Technicolor Settings<\\
#define ColStrengthR 0.20 //[0.05:1.00] //-Color Strength of Red channel. Higher means darker and more intense colors.	
#define ColStrengthG 0.20 //[0.05:1.00] //-Color Strength of Green channel. Higher means darker and more intense colors.
#define ColStrengthB 0.20 //[0.05:1.00] //-Color Strength of Blue channel. Higher means darker and more intense colors.
#define TechniBrightness 1.0 //[0.5:1.5] //-Brightness Adjustment, higher means brighter image.
#define TechniStrength 1.0 //[0.0:1.0] //-Strength of Technicolor effect. 0.0 means original image.
#define TechniSat 0.7 //[0.0:1.5] //-Additional saturation control since technicolor tends to oversaturate the image.


////-----------------//
///**SKYRIMTONEMAP**///
//-----------------////
#define USE_SKYRIMTONEMAP 0 //[ColorCorrection] //-Skyrim Tonemap: Applies color correction/tonemapping based on tonemappers of popular Skyrim ENB's.

//>Skyrim Tonemap Settings<\\
#define POSTPROCESS 6 //[1:6] //-Mode of postprocessing you want. Mode 1 uses V1 values, Mode 2 uses V2 values etc

//>Skyrim Tonemap Settings<\\
#define EAdaptationMinV1 0.05 //[0.00:1.00] //-
#define EAdaptationMaxV1 0.125 //[0.000:1.000] //-
#define EContrastV1 1.00 //[0.00:1.00] //-
#define EColorSaturationV1 1.00 //[0.00:1.00] //- 
#define EToneMappingCurveV1 6.00 //[0.00:100.00] //-

//>Skyrim Tonemap Settings<\\
#define EAdaptationMinV2 0.36 //[0.00:1.00] //- 
#define EAdaptationMaxV2 0.29 //[0.00:1.00] //-
#define EToneMappingCurveV2 8.00 //[0.00:100.00] //- 
#define EIntensityContrastV2 2.50 //[0.00:100.00] //-
#define EColorSaturationV2 3.20 //[0.00:100.00] //-
#define EToneMappingOversaturationV2 180.00 //[0.00:1000.00] //-

//>Skyrim Tonemap Settings<\\
#define EAdaptationMinV3 0.001 //[0.000:1.000] //-
#define EAdaptationMaxV3 0.025 //[0.000:1.000] //- 
#define EToneMappingCurveV3 30.00 //[0.00:100.00] //-  
#define EToneMappingOversaturationV3 111160.00 //[0.00:1000000.00] //- 

//>Skyrim Tonemap Settings<\\
#define EAdaptationMinV4 0.20 //[0.00:1.00] //-
#define EAdaptationMaxV4 0.125 //[0.000:1.000] //-
#define EBrightnessCurveV4 0.70 //[0.00:1.00] //-
#define EBrightnessMultiplierV4 0.45 //[0.00:1.00] //- 
#define EBrightnessToneMappingCurveV4 0.30 //[0.00:1.00] //-

//>Skyrim Tonemap Settings<\\
#define EAdaptationMinV5 0.08 //[0.00:1.00] //-
#define EToneMappingCurveV5 8.00 //[0.00:100.00] //- 
#define EIntensityContrastV5 3.475 //[0.000:100.000] //- 
#define EColorSaturationV5 4.00 //[0.00:100.00] //-   
#define HCompensateSatV5 2.00 //[0.00:100.00] //- 
#define EToneMappingOversaturationV5 180.00 //[0.00:1000.00] //- 

//>Skyrim Tonemap Settings<\\
#define EBrightnessV6Day 2.50 //[0.00:100.00] //-    
#define EIntensityContrastV6Day 1.50 //[0.00:100.00] //-     
#define EColorSaturationV6Day 2.00 //[0.00:100.00] //-      
#define HCompensateSatV6Day 3.00 //[0.00:100.00] //- 
#define EAdaptationMinV6Day 0.64 //[0.00:1.00] //-      
#define EAdaptationMaxV6Day 0.24 //[0.00:1.00] //-  
#define EToneMappingCurveV6Day 8.00 //[0.00:100.00] //-
#define EToneMappingOversaturationV6Day 2500.00 //[0.00:10000.00] //-   


////-------------//
///**COLORMOOD**///
//-------------////
#define USE_COLORMOOD 0 //[ColorCorrection] //-Color Mood: Applies a "mood" to the color, tinting mainly the dark colors.

//>ColorMood Settings<\\
#define fRatio 0.40 //[0.00:3.00] //-Amount of moody coloring you want
#define moodR 1.0 //[0.0:2.0] //-How strong dark red colors shall be boosted
#define moodG 1.1 //[0.0:2.0] //-How strong dark green colors shall be boosted
#define moodB 0.5 //[0.0:2.0] //-How strong dark blue colors shall be boosted


////----------------//
///**CROSSPROCESS**///
//----------------////
#define USE_CROSSPROCESS 0 //[ColorCorrection] //-Cross Processing: Simulates wrong chemistry in color processing.

//>CrossProcess Settings<\\
#define CrossContrast 0.95 //[0.50:2.00] //-The names of these values should explain their functions
#define CrossSaturation 1.12 //[0.50:2.00] //-
#define CrossBrightness -0.052 //[-1.000:1.000] //-[-0.300 to 0.300]
#define CrossAmount 1.00 //[0.05:1.50] //-


////------------//
///**REINHARD**///
//------------////
#define USE_REINHARD 0 //[ColorCorrection] //-Reinhard: This is the Reinhard tonemapping shader, if you are interested, google how it works.

//>Reinhard Tonemap Settings<\\
#define ReinhardWhitepoint 4.0 //[1.0:10.0] //-Point above which everything is pure white
#define ReinhardScale 0.5 //[0.0:2.0] //-Amount of applied tonemapping


////------------//
///**COLORMOD**///
//------------////
#define USE_COLORMOD 0 //[ColorCorrection] //-Colormod: Contrast, Saturation and Brightness ported from colormod.asi.

//>ColorMod Settings<\\
#define ColormodChroma 0.78 //[-1.00:2.00] //-Saturation
#define ColormodGammaR 1.05 //[-1.00:2.00] //-Gamma for Red color channel
#define ColormodGammaG 1.05 //[-1.00:2.00] //-Gamma for Green color channel
#define ColormodGammaB 1.05 //[-1.00:2.00] //-Gamma for Blue color channel
#define ColormodContrastR 0.50 //[-1.00:2.00] //-Contrast for Red color channel
#define ColormodContrastG 0.50 //[-1.00:2.00] //-Contrast for Green color channel
#define ColormodContrastB 0.50 //[-1.00:2.00] //-Contrast for Blue color channel
#define ColormodBrightnessR -0.08 //[-1.00:2.00] //-Brightness for Red color channel
#define ColormodBrightnessG -0.08 //[-1.00:2.00] //-Brightness for Green color channel
#define ColormodBrightnessB -0.08 //[-1.00:2.00] //-Brightness for Blue color channel


////--------------------//
///**SPHERICALTONEMAP**///
//--------------------////
#define USE_SPHERICALTONEMAP 0 //[ColorCorrection] //-Spherical Tonemap: Another approach on tonemapping, uses some sphere algorithms.

//>Spherical Tonemap Settings<\\
#define sphericalAmount 1.0 //[0.0:2.0] //-Amount of spherical tonemapping applied...sort of


////-------//
///**HPD**///
//-------////
#define USE_HPD 0 //[ColorCorrection] //-Haarm Peter Duiker Filmic Tonemapping: Tonemapping used in Watch Dogs, ripped from the Watch Dogs shaders themselves.


////---------------//
///**FILMICCURVE**///
//---------------////
#define USE_FILMICCURVE 0 //[ColorCorrection] //-Filmic Curve: Improved version of the well-known Uncharted 2 filmic curve, first seen in iCEnhancer 0.3.


////--------------------//
///**WATCHDOG_TONEMAP**///
//--------------------////
#define USE_WATCHDOG_TONEMAP 0 //[ColorCorrection] //-Watch Dogs Tonemap: Enables one of the numerous watch dogs tonemapping algorithms. No tweaking values.


////-----------//
///**SINCITY**///
//-----------////
#define USE_SINCITY 0 //[ColorCorrection] //-Sin City: Effect from the movie "Sin City" - everything else than red is grey.


////--------------//
///**COLORHUEFX**///
//--------------////
#define USE_COLORHUEFX 0 //[ColorCorrection] //--Color Hue FX: Desaturates everything but colors from a fixed hue mid and the range around it. Similiar to Sin City but much better. Thanks, prod80!

//>ColorHueFX Settings <\\
#define Use_COLORSAT 0 //[0:1] //-This will use original color saturation as an added limiter to the strength of the effect
#define hueMid 0.6 //[0.0:1.0] //-Hue (rotation around the color wheel) of the color which you want to keep
#define hueRange 0.1 //[0.0:1.0] //-Range of different hue's around the hueMid that will also kept. Using a max range of 1.0 will allow the reverse of the effect where it will only filter a specific hue to B&W
#define satLimit 2.9 //[0.0:4.0] //-Saturation control, better keep it higher than 0 for strong colors in contrast to the gray stuff around
#define fxcolorMix 0.8 //[0.0:1.0] //-Interpolation between the original and the effect, 0 means full original image, 1 means full grey-color image.


////---------//
///**DOSFX**///
//---------////
#define USE_DOSFX 0 //[DOSFX] //-It simulates how most of the old games looks like by degrading colors. Stunning feeling if you are an old gamer

//>DOSFX Settings<\\
#define PIXELSIZE 6.0 //[0.0:999.666] //-The pixel size, larger = more pixelated. A value of 1 should be identical to the original game
#define ENABLE_SCREENSIZE 1 //[0:1] //-Enabling this give you another pixelated method
#define DOSColorsCount 16.0001 //[0.0000:32.0001] //-
#define DOSCOLOR 1 //[0:1] //-Enabling this give you Dos colors
#define ENABLE_POSTCURVE 0 //[0:1] //-Adding Additional post brightness. P.S you can use POSTCURVE and AGD together
#define POSTCURVE 0.5 //[0.0:2.0] //-The additional post brightness curve to apply, to make things less dark - only with DOSCOLOR
#define ENABLE_AGD 1 //[0:1] //-Another method to add brightness to image
#define DoSgammaValue 2.2 //[1.0:5.0] //-Gamma value
#define DOSScreenSize float2(320.0,240.0) //[undef] //-QQVGA=160.0, 120.0 ; HQVGA =240.0, 160.0 ; QVGA = 320.0, 240.0 ; another resolutions --> https://en.wikipedia.org/wiki/Graphics_display_resolution
#define Dos_ToggleKey RFX_ToggleKey //[undef] //-No description given

TheLazyFrameworkSuiteName:GemFX

////----------//
///**GLOBAL**///
//----------////
//-Global Defines-//

//>GemFX Suite General Settings<\\
//-Commentary:The GemFX Suite contains various lightning and motion shader. (Adv) Motion Blur, Motion Focus and Ambient Light are GEMFX shader. Beginning from Bloom, all following shader are derived from MasterEffect.


////---------------//
///**MOTION_BLUR**///
//---------------////
#define USE_MOTION_BLUR 0 //[MotionBlur] //-Motion Blur: Cheap pseudo mution blur

//>Motion Blur Settings<\\
#define mbRecall 0.40 //[0.00:1.00] //-Motion blur intensity
#define mbSoftness 1.00 //[0.00:2.00] //-Blur strength of consequential streaks
#define MotionBlur_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define MotionBlur_ToggleKey RFX_ToggleKey //[undef] //-


////-------------------//
///**ADV_MOTION_BLUR**///
//-------------------////
#define USE_ADV_MOTION_BLUR 0 //[AdvMotionBlur] //-Advanced Motion Blur: More accurate and advanced motion blur.

//>Advanced Motion Blur Settings<\\
#define ambDepth_Check 0 //[0:1] //-Depth dependent motion blur
#define ambDepthRatio 0.7 //[0.0:1.0] //-Amount of addition MB due to distance; Lower Value => Higher Amount
#define ambRecall 0.4 //[0.0:1.0] //-Increases detection level of relevant smart motion blur
#define ambPrecision 0.0 //[0.0:1.0] //-Increases relevance level of detected smart motion blur
#define ambSoftness 3.5 //[0.0:10.0] //-Softness of consequential streaks
#define ambSmartMult 3.5 //[0.0:10.0] //-Multiplication of relevant smart motion blur
#define ambIntensity 0.07 //[0.00:1.00] //-Intensity of base motion blur effect
#define ambSmartInt 0.94 //[0.00:1.00] //-Intensity of smart motion blur effect
#define AdvancedMB_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define AdvancedMB_ToggleKey RFX_ToggleKey //[undef] //-No description given


////----------------//
///**MOTION_FOCUS**///
//----------------////
#define USE_MOTION_FOCUS 0 //[MotionFocus] //-Smart movement of the camera following motion on the screen for a cinematic look

//>Motion Focus<\\
#define mfDebug 0 //[0:1] //-Activates debug mode of MF, top 4 bars show motion in each screen section, the center points show strength and direction of zoom
#define mfFocusStrength 1.00 //[0.00:1.00] //-The intensity with which the camera will follow motion
#define mfZoomStrength 0.60 //[0.00:1.00] //-The intensity of camera zoom to objects in motion
#define MotionFocus_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define MotionFocus_ToggleKey RFX_ToggleKey //[undef] //-


////-----------------//
///**AMBIENT_LIGHT**///
//-----------------////
#define USE_AMBIENT_LIGHT 0 //[AmbientLight] //-Ambient Light: Adds scene dependent ambient light with specific dirt and lens effects

//>Ambient Light Settings<\\
#define alDebug 0 //[0:1] //-Activates debug mode of AL, upper bar shows detected light, lower bar shows adaptation
#define alInt 10.15 //[0.00:20.00] //-Base intensity of AL
#define alThreshold 15.00 //[0.00:100.00] //-Reduces intensity for not bright light

//>AL Adaptation Parameters<\\
#define AL_Adaptation 1 //[0:1] //-Activates adaptation algorithm for the following features
#define AL_HQAdapt 0 //[0:1] //-Determines the accuracy of the adaptation algorithm
#define alAdapt 0.70 //[0.00:4.00] //-Intensity of AL correction for bright light
#define alAdaptBaseMult 1.00 //[0.00:4.00] //-Multiplier for adaption applied to the original image
#define alAdaptBaseBlackLvL 2 //[0|1|2|3|4] //-Distinction level of black and white (lower => less distinct)
#define alAdaptBloomMult 1.0 //[0.0:4.0] //-Multiplier for adaption applied to the bloom shader
#define alAdaptFlareMult 3.0 //[0.0:4.0] //-Multiplier for adaption applied to the anam flare shader
#define AL_HeatHazeControle 1 //[0:1] //-Controles the HeatHaze effect with the AL shader
#define Depth_HeatHazeControle 1 //[0:1] //-Controles the HeatHaze effect with the depth buffer
#define alAdaptHeatMult 1.0 //[0.0:1.0] //-Multiplier for adaption applied to the HeatHaze shader

//>Additional AL Settings<\\
#define AL_Dirt 1 //[0:1] //-No description given
#define AL_DirtTex 0 //[0:1] //-Defines if dirt texture is used as overlay
#define AL_Vibrance 0 //[0:1] //-Vibrance of dirt effect
#define AL_Adaptive 0 //[0|1|2] //-0 = Warm, 1 = Cold, 2 = Light Dependent
#define alDirtInt 1.0 //[0.0:2.0] //-Intensity of dirt effect
#define alDirtOVInt 1.0 //[0.0:2.0] //-Intensity of colored dirt effect
#define AL_Lens 0 //[0:1] //-Lens effect based on AL
#define alLensThresh 0.5 //[0.0:1.0] //-Reduces intensity of lens effect for not bright light
#define alLensInt 2.0 //[0.0:10.0] //-Intensity of lens effect
#define AmbientLight_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.

//>Additional AL Settings<\\
#define AmbientLight_ToggleKey RFX_ToggleKey //[undef] //-


////---------//
///**BLOOM**///
//---------////
#define USE_BLOOM 0 //[Bloom] //-Bloom, based on MasterEffects & asmodean bloom

//>Bloom Settings<\\
#define GFX_HDR_MODE 0 //[0|1|2] //-HDR Level Rendering bitrate. 0 = RGBA8, 1 = RGBA16F, 2 = RGBA32F
#define BLOOM_MIXMODE 2 //[1|2|3|4] //-1 = Linear add | 2 = Screen add | 3 = Screen/Lighten/Opacity | 4 = Lighten
#define fBloomThreshold 0.8 //[0.1:1.0] //-Every pixel brighter than this value triggers bloom.
#define fBloomAmount 0.8 //[0.0:20.0] //-Intensity of bloom.
#define fBloomSaturation 0.8 //[0.0:2.0] //-Bloom saturation. 0.0 means white bloom, 2.0 means very very colorful bloom.
#define fBloomTint float3(0.7,0.8,1.0) //[0.0:1.0] //-R, G and B components of bloom tintcolor the bloom color gets shifted to. X = Red, Y = Green, Z = Blue.
#define Bloom_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define Bloom_ToggleKey RFX_ToggleKey //[undef] //-Toggle key for Bloom and Bloom dependent shaders.


////------------//
///**LENSDIRT**///
//------------////
#define USE_LENSDIRT 0 //[Bloom] //-Lensdirt: Simulates a dirty camera lens. IMPORTANT: bloom threshold and amount have influence on the intensity of the dirt!

//>Lens Dirt Settings<\\
#define fLensdirtIntensity 0.4 //[0.0:2.0] //-Intensity of lensdirt.
#define fLensdirtSaturation 2.0 //[0.0:2.0] //-Color saturation of lensdirt.
#define fLensdirtTint float3(1.0,1.0,1.0) //[0.0:1.0] //-R, G and B components of lensdirt tintcolor the lensdirt color gets shifted to. X = Red, Y = Green, Z = Blue.
#define iLensdirtMixmode 1 //[1:4] //-1: Linear add | 2: Screen add | 3: Screen/Lighten/Opacity | 4: Lighten
#define lensDirtTex "GFX_origdirt.png" //[undef] //-


////----------------------//
///**GAUSSIAN_ANAMFLARE**///
//----------------------////
#define USE_GAUSSIAN_ANAMFLARE 0 //[Bloom] //-Gaussian Anamflare: Applies a horizontal light beam to bright pixels.

//>Gaussian Anamorphic Lens Flare Settings<\\
#define fAnamFlareThreshold 0.90 //[0.10:1.00] //-Every pixel brighter than this value gets a flare.
#define fAnamFlareWideness 2.4 //[1.0:2.5] //-Horizontal wideness of flare. Don't set too high, otherwise the single samples are visible
#define fAnamFlareAmount 14.5 //[1.0:20.0] //-Intensity of anamorphic flare.
#define fAnamFlareCurve 1.2 //[1.0:2.0] //-Intensity curve of flare with distance from source
#define fAnamFlareColor float3(0.012,0.313,0.588) //[0.000:1.000] //-R, G and B components of anamorphic flare. Flare is always same color.


////-------------//
///**LENZFLARE**///
//-------------////
#define USE_LENZFLARE 0 //[Bloom] //-Lenz Flare: Boris Vorontsov's Skyrim Lensflare with custom offsets, ported to MasterEffect.

//>Lenz Flare Settings<\\
#define LENZ_DEPTH_CHECK 1 //[0:1] //-If 1, only pixels with depth = 1 get lens flare, this prevents white objects from getting flare source which would normally happen in LDR
#define fLenzIntensity 1.0 //[0.2:3.0] //-power of lens flare effect
#define fLenzThreshold 0.8 //[0.6:1.0] //-Minimum brightness an object must have to cast lensflare


////----------------//
///**CHAPMAN_LENS**///
//----------------////
#define USE_CHAPMAN_LENS 0 //[Bloom] //-Chapman's lensflare: Simple lensflare shader with one big halo.

//>Chapman Lens Settings<\\
#define CHAPMAN_DEPTH_CHECK 1 //[0:1] //-if 1, only pixels with depth = 1 get lensflares, this prevents white objects from getting lensflare source which would normally happen in LDR
#define ChapFlareTreshold 0.90 //[0.70:0.99] //-Brightness threshold for lensflare generation. Everything brighter than this value gets a flare.
#define ChapFlareCount 15 //[1:20] //-Number of single halos to be generated. If set to 0, only the curved halo around is visible.
#define ChapFlareDispersal 0.25 //[0.25:1.00] //-Distance from screen center (and from themselves) the flares are generated. 		
#define ChapFlareSize 0.45 //[0.20:0.80] //-Distance (from screen center) the halo and flares are generated.
#define ChapFlareCA float3(0.00,0.01,0.02) //[-0.50:0.50] //-Offset of RGB components of flares as modifier for Chromatic abberation. Same 3 values means no CA.
#define ChapFlareIntensity 100.0 //[5.0:200.0] //-Intensity of flares and halo, remember that higher threshold lowers intensity, you might play with both values to get desired result.


////-----------//
///**GODRAYS**///
//-----------////
#define USE_GODRAYS 0 //[Bloom] //-Godrays: Adds some light rays rotating around screen center.

//>God Rays Settings<\\
#define GODRAY_DEPTH_CHECK 1 //[0:1] //-if 1, only pixels with depth = 1 get godrays, this prevents white objects from getting godray source which would normally happen in LDR
#define fGodrayDecay 0.9900 //[0.5000:0.9999] //-How fast they decay. It's logarithmic, 1.0 means infinite long rays which will cover whole screen
#define fGodrayExposure 1.0 //[0.7:1.5] //-Upscales the godray's brightness
#define fGodrayWeight 1.25 //[0.80:1.70] //-weighting
#define fGodrayDensity 1.0 //[0.2:2.0] //-Density of rays, higher means more and brighter rays
#define fGodrayThreshold 0.9 //[0.6:1.0] //-Minimum brightness an object must have to cast godrays
#define iGodraySamples 128 //[undef] //-2^x format values; How many samples the godrays get


////-------------//
///**ANAMFLARE**///
//-------------////
#define USE_ANAMFLARE 0 //[Bloom] //-Anamorphic Lensflare: adds some horizontal light flare, simulating the use of an anamorphic lens while recording.

//>Anamorphic Lens Flare<\\
#define FLARE_DEPTH_CHECK 1 //[0:1] //-if 1, only pixels with depth = 1 get an anamflare, this prevents white objects from getting flare source which would normally happen in LDR
#define fFlareLuminance 0.095 //[0.000:1.000] //-bright pass luminance value 
#define fFlareBlur 200.0 //[1.0:10000.0] //-manages the size of the flare
#define fFlareIntensity 2.07 //[0.20:5.00] //-effect intensity
#define fFlareTint float3(0.137,0.216,1.000) //[0.000:2.000] //-effect tint RGB

TheLazyFrameworkSuiteName:McFX

////----------//
///**GLOBAL**///
//----------////
//-Global Defines-//

//>McFX Suite General Settings<\\
//-Commentary:The McFX Suite contains various Depth of Field, ambient occlusion and vision changing shader.\nThose shader are derived from MasterEffect.


////--------------------//
///**AMBIENTOCCLUSION**///
//--------------------////
#define USE_AMBIENTOCCLUSION 0 //[SSAO] //-Ambient Occlusion: Enables physically incorrect shading that most newer gen games use. Multiple algorithms available.

//>Global Parameters<\\
#define AO_METHOD 2 //[1:6] //-No description given
#define AO_TEXSCALE 1.00 //[0.25:1.00] //-Scale of AO resolution, 1.0 means fullscreen. Lower resolution means less pixels to process and more performance but also less quality.
#define AO_SHARPNESS 0.70 //[0.05:2.00] //-No description given
#define AO_SHARPNESS_DETECT 2 //[1:2] //-AO must not blur over object edges. 1 : edge detection by depth (old) 2 : edge detection by normal (new). 2 is better but produces some black outlines.
#define AO_BLUR_STEPS 11 //[5:15] //-Offset count for AO smoothening. Higher means more smooth AO but also blurrier AO.
#define AO_DEBUG 0 //[0:2] //-No description given
#define AO_LUMINANCE_CONSIDERATION 1 //[0:1] //-No description given
#define AO_LUMINANCE_LOWER 0.3 //[0.0:1.0] //-No description given
#define AO_LUMINANCE_UPPER 0.6 //[0.0:1.0] //-No description given
#define AO_FADE_START 0.40 //[0.00:1.00] //-Distance from camera where AO starts to fade out. 0.0 means camera itself, 1.0 means infinite distance.

//>Global Parameters<\\
#define AO_FADE_END 0.60 //[0.00:1.00] //-Distance from camera where AO fades out completely. 0.0 means camera itself, 1.0 means infinite distance.
#define AO_ToggleKey RFX_ToggleKey //[undef] //-

//>SSAO Settings<\\
#define iSSAOSamples 16 //[16:128] //-Amount of samples. Don't set too high or shader compilation time goes through the roof.
#define fSSAOSamplingRange 50.0 //[10.0:50.0] //-SSAO sampling range. High range values might need more samples so raise both.
#define fSSAODarkeningAmount 1.5 //[0.0:5.0] //-Amount of SSAO corner darkening
#define fSSAOBrighteningAmount 1.0 //[0.0:5.0] //-Amount of SSAO edge brightening

//>Raymarch AO Settings<\\
#define iRayAOSamples 24 //[10:78] //-Amount of sample "rays" Higher means more accurate AO but also less performance.
#define fRayAOSamplingRange 0.0005 //[0.0001:0.0200] //-Range of AO sampling. Higher values ignore small geometry details and shadow more globally.
#define fRayAOMaxDepth 0.02 //[0.01:0.20] //-factor to avoid far objects to occlude close objects just because they are besides each other on screen.
#define fRayAOMinDepth 0.00003 //[0.00000:0.00100] //-Minimum depth difference cutoff to prevent (almost) flat surfaces to occlude themselves.
#define fRayAOPower 2.0 //[0.2:5.0] //-Amount of darkening.

//>HBAO Settings<\\
#define iHBAOSamples 9 //[7:36] //-Amount of samples. Higher means more accurate AO but also less performance.
#define fHBAOSamplingRange 2.6 //[0.5:5.0] //-Range of HBAO sampling. Higher values ignore small geometry details and shadow more globally.
#define fHBAOAmount 3.0 //[1.0:10.0] //-Amount of HBAO shadowing.
#define fHBAOClamp 0.1 //[0.0:1.0] //-Clamps HBAO power. 0.0 means full power, 1.0 means no HBAO.
#define fHBAOAttenuation 0.020 //[0.001:0.200] //-Affects the HBAO range, prevents shadowing of very far objects which are close in screen space.

//>SSGI Settings<\\
#define iSSGISamples 9 //[5:24] //-Amount of SSGI sampling iterations, higher means better GI but less performance.
#define fSSGISamplingRange 0.4 //[0.0:80.0] //-Radius of SSGI sampling.
#define fSSGIIlluminationMult 4.5 //[1.0:8.0] //-Multiplier of SSGI illumination (color bouncing/reflection).
#define fSSGIOcclusionMult 0.8 //[0.0:10.0] //-Multiplier of SSGI occlusion.
#define fSSGIModelThickness 10.0 //[0.5:100.0] //-Amount of unit spaces the algorithm assumes the model's thickness. Lower if scene only contains small objects.
#define fSSGISaturation 1.8 //[0.2:2.0] //-Saturation of bounced/reflected colors.

//>RAYMARCH HBAO Settings<\\
#define iRayHBAO_StepCount 9 //[5:32] //-Amount of steps to march per direction to check for occluders.
#define iRayHBAO_StepDirections 10 //[5:25] //-Amount of rays / directions to march to check for occluders.
#define fRayHBAO_SampleRadius 0.005 //[0.001:0.010] //-Range of AO sampling. Higher values ignore small geometry details and shadow more globally.
#define fRayHBAO_Attenuation 2.0 //[0.4:5.0] //-Sampling attenuation. Used for ignoring objects that are close onscreen but actually far away (i.e. sky and player).
#define fRayHBAO_AngleBiasTan 0.0 //[0.0:1.0] //-Angle bias in tangent space. Used for ignoring occluders that don't have a big angle difference to the source, i.e. flat surfaces that may shadoe themselves.

//>SAO Settings<\\
#define fSAOIntensity 6.0 //[1.0:10.0] //-Linearly multiplies AO intensity.	
#define fSAOClamp 2.5 //[1.0:10.0] //-Higher values shift AO more into black. Useful for light gray AO caused by high SAO radius.
#define fSAORadius 2.3 //[1.0:10.0] //-SAO sampling radius. Higher values also lower AO intensity extremely because of Alchemy's extremely retarded falloff formula.
#define fSAOBias 0.200 //[0.001:0.500] //-Minimal surface angle for AO consideration. Useful to prevent self-occlusion of flat surfaces caused by floating point inaccuracies.
#define iSAOSamples 18 //[10:96] //-Amount of SAO Samples. Maximum of 96 is defined by formula.


////----------------//
///**DEPTHOFFIELD**///
//----------------////
#define USE_DEPTHOFFIELD 0 //[DOF] //-

//>Global Parameters<\\
#define DOF_METHOD 2 //[1:5] //-1: Ring DOF(Petka/martinsh) 2: Magic DOF 3: GP65CJ042 DOF 4: Matso DOF 5: Marty McFly Advanced DOF
#define DOF_AUTOFOCUS 1 //[0:1] //-Enables automated focus recognition based on samples around autofocus center.
#define DOF_FOCUSPOINT float2(0.5,0.5) //[0.0:1.0] //-X and Y coordinates of autofocus center. Axes start from upper left screen corner.
#define DOF_FOCUSSAMPLES 6 //[3:10] //-Amount of samples around the focus point for smoother focal plane detection.
#define DOF_FOCUSRADIUS 0.05 //[0.02:0.20] //-Radius of samples around the focus point.
#define DOF_NEARBLURCURVE 1.60 //[0.50:1000.00] //-Curve of blur closer than focal plane. Higher means less blur.
#define DOF_FARBLURCURVE 2.00 //[0.05:5.00] //-Curve of blur behind      focal plane. Higher means less blur.
#define DOF_MANUALFOCUSDEPTH 0.02 //[0.00:1.00] //-Depth of focal plane when autofocus is off. 0.0 means camera, 1.0 means infinite distance.
#define DOF_INFINITEFOCUS 1.00 //[0.01:1.00] //-Distance at which depth is considered as infinite. 1.0 is standard. Low values only produce out of focus blur when focus object is very close to the camera. Recommended for gaming.
#define DOF_BLURRADIUS 15.0 //[2.0:100.0] //-Maximal blur radius in pixels.

//>Global Parameters<\\
#define DOF_RENDERRESMULT 0.6 //[0.5:1.0] //-Scaling  factor
#define DOF_ToggleKey RFX_ToggleKey //[undef] //-

//>Ring DOF Settings<\\
#define iRingDOFSamples 6 //[5:30] //-Samples on the first ring. The other rings around have more samples
#define iRingDOFRings 4 //[1:8] //-Ring count
#define fRingDOFThreshold 0.7 //[0.5:3.0] //-Threshold for bokeh brightening. Above this value, everything gets much much brighter. 1.0 is maximum value for LDR games like GTASA, higher values work only on HDR games like Skyrim etc.
#define fRingDOFGain 27.0 //[0.1:30.0] //-Amount of brightening for pixels brighter than threshold.
#define fRingDOFBias 0.0 //[0.0:2.0] //-bokeh bias.
#define fRingDOFFringe 0.5 //[0.0:1.0] //-Amount of chromatic abberation

//>Magic DOF Settings<\\
#define iMagicDOFBlurQuality 8 //[1:30] //-Blur quality as control value over tap count. Quality 15 produces 721 taps, impossible with other DOF shaders by far, most they can do is about 150.
#define fMagicDOFColorCurve 4.0 //[1.0:10.0] //-DOF weighting curve.

//>GP65CJ042 DOF Settings<\\
#define iGPDOFQuality 6 //[0:7] //-0 = only slight gaussian farblur but no bokeh. 1-7 bokeh blur, higher means better quality of blur but less fps. 
#define bGPDOFPolygonalBokeh 1 //[0:1] //-Enables polygonal bokeh shape, e.g. POLYGON_NUM 5 means pentagonal bokeh shape. Setting this value to 0 results in circular bokeh shape.
#define iGPDOFPolygonCount 5 //[3:9] //-Controls the amount pf polygons for polygonal bokeh shape. 3 = triangular, 4 = square, 5 = pentagonal etc.	
#define fGPDOFBias 5.5 //[0.0:20.0] //-Shifts bokeh weighting to bokeh shape edge. Set to 0 for even bright bokeh shapes, raise it for darker bokeh shapes in center and brighter on edge.
#define fGPDOFBiasCurve 2.0 //[0.0:3.0] //-Power of Bokeh Bias. Raise for more defined bokeh outlining on bokeh shape edge.
#define fGPDOFBrightnessThreshold 0.5 //[0.5:2.0] //-Threshold for bokeh brightening. Above this value, everything gets much much brighter. 1.0 is maximum value for LDR games like GTASA, higher values work only on HDR games like Skyrim etc.
#define fGPDOFBrightnessMultiplier 2.0 //[0.0:2.0] //-Amount of brightening for pixels brighter than fGPDOFBrightnessThreshold.
#define fGPDOFChromaAmount 0.15 //[0.00:0.40] //-Amount of color shifting applied on blurred areas. 

//>MATSO DOF Settings<\\
#define bMatsoDOFChromaEnable 1 //[0:1] //-Enables Chromatic Abberation.
#define bMatsoDOFBokehEnable 1 //[0:1] //-Enables Bokeh weighting do define bright light spots and increase bokeh shape definiton.	
#define fMatsoDOFChromaPow 1.4 //[0.2:3.0] //-Amount of chromatic abberation color shifting.
#define fMatsoDOFBokehCurve 8.0 //[0.5:20.0] //-Bokeh curve.
#define fMatsoDOFBokehLight 0.012 //[0.000:2.000] //-Bokeh brightening factor.
#define iMatsoDOFBokehQuality 2 //[1:10] //-Blur quality as control value over tap count.
#define fMatsoDOFBokehAngle 0 //[0:360] //-Rotation angle of bokeh shape.

//>MCFLY ADVANCED DOF Settings - SHAPE<\\
#define iADOF_ShapeQuality 17 //[1:255] //-Quality level of DOF shape. Higher means more offsets taken, cleaner shape but also less performance. Compilation time stays same.
#define iADOF_ShapeVertices 5 //[3:8] //-Polygon count of bokeh shape. 4 = square, 5 = pentagon, 6 = hexagon and so on.
#define bADOF_ShapeTextureEnable 0 //[0:1] //-Enables the use of a texture overlay. Quite some performance drop.
#define iADOF_ShapeTextureSize 63 //[undef] //-Higher texture size means less performance. Higher quality integers better work with detailed shape textures. Uneven numbers recommended because even size textures have no center pixel.

//>MCFLY ADVANCED DOF Settings - SHAPE MODIFICATIONS<\\
#define fADOF_ShapeRotation 15.0 //[0.0:360.0] //-Static rotation of bokeh shape.
#define bADOF_RotAnimationEnable 0 //[0:1] //-Enables constant shape rotation in time.
#define fADOF_RotAnimationSpeed 2.0 //[0.2:5.0] //-Speed of shape rotation. Negative numbers change direction.
#define bADOF_ShapeCurvatureEnable 0 //[0:1] //-Bends edges of polygonal shape outwards (or inwards). Circular shape best with vertices > 7
#define fADOF_ShapeCurvatureAmount 0.3 //[0.0:1.0] //-Amount of edge bending. 1.0 results in circular shape. Values below 0 produce star-like shapes.
#define bADOF_ShapeApertureEnable 0 //[0:1] //-Enables deformation of bokeh shape into swirl-like aperture. You will recognize it when you try it out. Best with big bokeh shapes.
#define fADOF_ShapeApertureAmount 0.01 //[-0.05:0.05] //-Amount of deformation. Negative values mirror the effect.		
#define bADOF_ShapeAnamorphEnable 0 //[0:1] //-Lessens horizontal width of shape to simulate anamorphic bokeh shape seen in movies.
#define fADOF_ShapeAnamorphRatio 0.2 //[0.0:1.0] //-Horizontal width factor. 1.0 means 100% width, 0.0 means 0% width (bokeh shape will be vertical line).				
#define bADOF_ShapeDistortEnable 0 //[0:1] //-Deforms bokeh shape at screen borders to simulate lens distortion. Bokeh shapes at screen egdes look like an egg.

//>MCFLY ADVANCED DOF Settings - SHAPE MODIFICATIONS<\\
#define fADOF_ShapeDistortAmount 0.2 //[0.0:1.0] //-Amount of deformation.
#define bADOF_ShapeDiffusionEnable 0 //[0:1] //-Enables some fuzzyness of bokeh shape, makes it less clearly defined.
#define fADOF_ShapeDiffusionAmount 0.1 //[0.0:1.0] //-Amount of shape diffusion. High values look like the bokeh shape exploded.
#define bADOF_ShapeWeightEnable 0 //[0:1] //-Enables bokeh shape weight bias and shifts color to the shape borders.
#define fADOF_ShapeWeightCurve 4.0 //[0.5:8.0] //-Curve of shape weight bias.
#define fADOF_ShapeWeightAmount 1.0 //[0.5:8.0] //-Amount of shape weight bias.
#define fADOF_BokehCurve 4.0 //[1.0:20.0] //-Bokeh factor. Higher values produce more defined bokeh shapes for separated bright spots.

//>MCFLY ADVANCED DOF Settings - CHROMATIC ABERRATION<\\
#define bADOF_ShapeChromaEnable 0 //[0:1] //-Enables chromatic aberration at bokeh shape borders. This means 3 times more samples = less performance.
#define iADOF_ShapeChromaMode 4 //[1:6] //-Switches through the possible R G B shifts.
#define fADOF_ShapeChromaAmount 0.125 //[0.000:0.500] //-Amount of color shifting.
#define bADOF_ImageChromaEnable 0 //[0:1] //-Enables image chromatic aberration at screen corners. This one is way more complex than the shape chroma (and any other chroma on the web).
#define iADOF_ImageChromaHues 5 //[2:20] //-Amount of samples through the light spectrum to get a smooth gradient.
#define fADOF_ImageChromaCurve 1.0 //[0.5:2.0] //-Image chromatic aberration curve. Higher means less chroma at screen center areas.
#define fADOF_ImageChromaAmount 3.00 //[0.25:10.00] //-Linearly increases image chromatic aberration amount. 

//>MCFLY ADVANCED DOF Settings - POSTFX<\\
#define fADOF_SmootheningAmount 1.0 //[0.5:2.0] //-Blur multiplicator of box blur after bokeh to smoothen shape. Box blur is better than gaussian.
#define bADOF_ImageGrainEnable 0 //[0:1] //-Enables some fuzzyness in blurred areas. The more out of focus, the more grain.
#define fADOF_ImageGrainCurve 1.0 //[0.5:5.0] //-Curve of Image Grain distribution. Higher values lessen grain at moderately blurred areas.
#define fADOF_ImageGrainAmount 0.55 //[0.1:2.0] //-Linearly multiplies the amount of Image Grain applied.
#define fADOF_ImageGrainScale 1.0 //[0.5:2.0] //-Grain texture scale. Low values produce more coarse Noise.


////------------//
///**HEATHAZE**///
//------------////
#define USE_HEATHAZE 0 //[HeatHaze] //-

//>Heat Haze Settings<\\
#define fHeatHazeSpeed 2.0 //[0.5:10.0] //-Speed of heathaze waves
#define fHeatHazeOffset 5.0 //[0.5:20.0] //-Amount of image distortion caused by heathaze effect
#define fHeatHazeTextureScale 1.0 //[0.5:5.0] //-Scale of source texture, affecting the tile size. Use Heathaze debug effect for better visible effect.
#define fHeatHazeChromaAmount 0.6 //[0.0:2.0] //-Amount of color shift caused by heat haze. Linearly scales with fHeatHazeOffset.
#define bHeatHazeDebug 0 //[0:1] //-Enables raw texture output for debugging purposes. Useful for texture experiments.
#define HeatHaze_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define HeatHaze_ToggleKey RFX_ToggleKey //[undef] //-


////--------------//
///**FISHEYE_CA**///
//--------------////
#define USE_FISHEYE_CA 0 //[FishEyeCA] //-

//>Fish Eye Chromatic Abberation Settings<\\
#define fFisheyeZoom 0.5 //[0.5:1.0] //-some lens zoom to hide bugged edges due to texcoord modification
#define fFisheyeDistortion 0.15 //[-0.30:0.30] //-distortion of image, fish eye effect
#define fFisheyeDistortionCubic 0.15 //[-0.30:0.30] //-distortion of image, fish eye effect, cube based
#define fFisheyeColorshift -0.03 //[-0.10:0.10] //-Amount of color shifting
#define FishEye_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define FishEye_ToggleKey RFX_ToggleKey //[undef] //-


////-------//
///**RBM**///
//-------////
#define USE_RBM 0 //[RBM] //-

//>Reflective Bump Mapping Settings<\\
#define fReflectionWideness 100.0 //[25.0:150.0] //-Wideness of reflection in pixels.
#define fReflectionSamples 64 //[32:128] //-Amount of Reflection Samples
#define fReflectionReliefHeight 1.00 //[0.50:2.00] //-Relief Height
#define fReflectionAmount 0.30 //[0.05:1.00] //-Mix factor between bump and original color. 0.0 means no bump applied, 1.0 means pure bump source.
#define fReflectionFresnelFactor 1.00 //[0.00:1.00] //-Lowers reflections when looking at a reflecting surface at a steep angle. Factor determines how much fresnel effect is taken into account.
#define fReflectionFresnelCurve 30.0 //[1.0:30.0] //-Fresnel curve. The higher the value, the lower reflections at steep view angles are.
#define RBM_ToggleKey RFX_ToggleKey //[undef] //-

TheLazyFrameworkSuiteName:SweetFX

////----------//
///**GLOBAL**///
//----------////
//-Global Defines-//

//>SweetFX Suite General Settings<\\
//-Commentary:The SweetFX Suite contains various color correction and other neat shader.\nBeginning from Levels, all following shader are grouped to together under the SharedShader set.
#define SharedShader_ToggleKey RFX_ToggleKey //[undef] //- Toggle key for all shared shaders. Shared shaders are Bloom, Border, 


////---------//
///**ASCII**///
//---------////
#define USE_ASCII 0 //[Ascii] //-Ascii : Converts the image to Ascii-art.

//>Ascii settings<\\
#define Ascii_input_image 1 //[1:2] //-1 = Color buffer, 2 = Depth buffer.
#define Ascii_spacing 1 //[0:9] //-Determines the spacing between characters. I feel 1 to 3 looks best.
#define Ascii_font 2 //[1:2] //-1 = 5x5 font, 2 = 3x5 font
#define Ascii_font_color float3(255,255,255) //[0:255] //-What color the font should be. In integer RGB colors. X = Red, Y = Green, Z = Blue
#define Ascii_background_color float3(0,0,0) //[0:255] //-What color the background should be. In integer RGB colors. X = Red, Y = Green, Z = Blue
#define Ascii_font_color_mode 1 //[0:2] //-0 = font_color, 1 = image color, 2 = colorized grayscale
#define Ascii_ToggleKey RFX_ToggleKey //[undef] //-Key used to toggle the effect on and off. Go to ReShade/Common/KeyCodes.h for additional key codes.


////--------------//
///**Transition**///
//--------------////
#define USE_Transition 0 //[Transition] //-Transition : Shows transitions to the regularly scheduled programming

//>Transition Settings<\\
#define Transition_time 5000 //[1:60000] //-No description given
#define Transition_texture "Curtain.jpg" //[undef] //-Filename for the texture to use. Put your custom textures in SweetFX/Textures/
#define Transition_texture_width 720 //[undef] //-Image width.
#define Transition_texture_height 480 //[undef] //-Image height.
#define Transition_type CurtainOpen //[undef] //-Can be "FadeIn", "FadeOut", "CurtainOpen", "CurtainClose" or "ImageFadeOut"
#define Transition_ToggleKey RFX_ToggleKey //[undef] //-


////--------//
///**SMAA**///
//--------////
#define USE_SMAA 1 //[SMAAWrap] //-SMAA Anti-aliasing : Smoothens jagged lines using the SMAA technique.

//>SMAA Anti-aliasing settings<\\
#define SMAA_THRESHOLD 0.10 //[0.05: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 98 //[0:98] //-Determines the radius SMAA will search for aliased edges
#define SMAA_MAX_SEARCH_STEPS_DIAG 16 //[0:16] //-Determines the radius SMAA will search for diagonal aliased edges
#define SMAA_CORNER_ROUNDING 0 //[0:100] //-Determines the percent of antialiasing to apply to corners. 0 seems to affect fine text the least so it's the default.
#define SMAA_ToggleKey RFX_ToggleKey //[undef] //-

//>Advanced SMAA settings<\\
#define SMAA_EDGE_DETECTION 1 //[1|2|3] //-1 = Luma edge detection, 2 = Color edge detection, 3 = Depth edge detection
#define SMAA_DIRECTX9_LINEAR_BLEND 0 //[0: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.

//>SMAA Predication settings<\\
#define SMAA_PREDICATION 0 //[0:1] //-Enables predication which uses BOTH the color and the depth texture for edge detection to more accurately detect edges.
#define SMAA_PREDICATION_THRESHOLD 0.001 //[undef] //-Threshold to be used in the depth buffer.                                      
#define SMAA_PREDICATION_SCALE 2.0 //[undef] //-How much to scale the global threshold used for luma or color edge detection when using predication
#define SMAA_PREDICATION_STRENGTH 0.4 //[undef] //-How much to locally decrease the threshold.

//>Debug SMAA settings<\\
#define SMAA_DEBUG_OUTPUT 0 //[0:4] //-No description given


////--------//
///**FXAA**///
//--------////
#define USE_FXAA 0 //[FXAAWrap] //-FXAA Anti-aliasing : Smoothens jagged lines using the FXAA technique.

//>FXAA Anti-aliasing settings<\\
#define FXAA_QUALITY__PRESET 9 //[1:9] //-Choose the quality preset. 9 is the highest quality.
#define fxaa_Subpix 0.000 //[0.000:1.000] //-Choose the amount of sub-pixel aliasing removal. Higher values makes the image softer/blurrier.
#define fxaa_EdgeThreshold 0.166 //[0.000:1.000] //-Edge detection threshold. The minimum amount of local contrast required to apply algorithm. Similar to SMAA_THRESHOLD
#define fxaa_EdgeThresholdMin 0.000 //[0.000:1.000] //-Darkness threshold. Pixels darker than this are not processed in order to increase performance.
#define FXAA_ToggleKey RFX_ToggleKey //[undef] //-


////-------------//
///**EXPLOSION**///
//-------------////
#define USE_EXPLOSION 0 //[Explosion] //-Explosion : Scatters the pixels, making the image look fuzzy.

//>Explosion settings<\\
#define Explosion_Radius 2.0 //[0.2:100.0] //-Amount of effect you want.
#define Explosion_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define Explosion_ToggleKey RFX_ToggleKey //[undef] //-


////------//
///**CA**///
//------////
#define USE_CA 0 //[CA] //-Chromatic Aberration : Mimics the look of a cheap camera lens, by distorting the colors.

//>Chromatic Aberration settings<\\
#define Chromatic_shift float2(2.5,-0.5) //[-100.0:100.0] //-Distance (X,Y) in pixels to shift the color components. For a slightly blurred look try fractional values (.5) between two pixels.
#define Chromatic_strength 0.5 //[0.0:1.0] //-Adjust the strength of the effect.
#define CA_TimeOut 0 //[0:100000] //-Defined Toggle Key will activate the shader until time (in ms) runs out. "0" deactivates the timeout feature.
#define CA_ToggleKey RFX_ToggleKey //[undef] //-


////-----------//
///**CARTOON**///
//-----------////
#define USE_CARTOON 0 //[Cartoon] //-Cartoon : "Toon"s the image.

//>Cartoon settings<\\
#define CartoonPower 1.5 //[0.1:10.0] //-Amount of effect you want.
#define CartoonEdgeSlope 1.5 //[0.1:8.0] //-Raise this to filter out fainter edges. You might need to increase the power to compensate. Whole numbers are faster.
#define Cartoon_ToggleKey RFX_ToggleKey //[undef] //-


////----------------//
///**ADVANCED_CRT**///
//----------------////
#define USE_ADVANCED_CRT 0 //[AdvancedCRT] //-Advanced CRT : Simulates an old CRT TV display. (has a very high performance cost)

//>Advanced CRT settings<\\
#define CRTAmount 0.06 //[0.00:1.00] //-Amount of CRT effect you want
#define CRTResolution 1.15 //[1.00:8.00] //-Input size coefficent (low values gives the "low-res retro look"). Default is 1.2
#define CRTgamma 2.4 //[0.0:4.0] //-Gamma of simulated CRT (default 2.2)
#define CRTmonitorgamma 2.2 //[0.0:4.0] //-Gamma of display monitor (typically 2.2 is correct)
#define CRTBrightness 0.9 //[0.0:3.0] //-Used to boost brightness a little. Default is 1.0
#define CRTScanlineIntensity 2.0 //[2.0:4.0] //-Scanlines intensity (use integer values preferably). Default is 2.0
#define CRTScanlineGaussian 1 //[0:1] //-Use the "new nongaussian scanlines bloom effect". Default is on
#define CRTCurvature 0 //[0:1] //-"Barrel effect" enabled (1) or off (0)
#define CRTCurvatureRadius 1.5 //[0.0:2.0] //-Curvature Radius (only effective when Curvature is enabled). Default is 1.5
#define CRTCornerSize 0.0100 //[0.0000:0.0200] //-Higher values, more rounded corner. Default is 0.001

//>Advanced CRT settings<\\
#define CRTDistance 2.00 //[0.00:4.00] //-Simulated distance from viewer to monitor. Default is 2.00
#define CRTAngleX 0.00 //[-0.20:0.20] //-Tilt angle in radians (X coordinates)
#define CRTAngleY 0.00 //[-0.20:0.20] //-Tilt angle in radians (Y coordinates). (Value of -0.15 gives the 'arcade tilt' look)
#define CRTOverScan 1.01 //[1.00:1.10] //-Overscan (e.g. 1.02 for 2% overscan). Default is 1.01
#define CRTOversample 1 //[0:1] //-Enable 3x oversampling of the beam profile (warning : performance hit)
#define AdvancedCRT_ToggleKey RFX_ToggleKey //[undef] //-


////----------------//
///**PIXELART_CRT**///
//----------------////
#define USE_PIXELART_CRT 0 //[PixelartCRT] //-PixelArt CRT : Scanlines for pixel art (high performance cost)

//>Emulated input resolution<\\
#define PixelArtCRT_resolution_mode 1 //[1:2] //-1 = Ratio, 2 = Fixed resolution
#define PixelArtCRT_resolution_ratio (1.0/4.0) //[undef] //-
#define PixelArtCRT_fixed_resolution float2(320.0,160.0) //[undef] //-

//>Hardness<\\
#define PixelArtCRT_hardScan -24.0 //[-24.0:0.0] //-Hardness of scanline : -8.0 = soft, -16.0 = medium
#define PixelArtCRT_hardPix -24.0 //[undef] //-Hardness of pixels in scanline : -2.0 = soft, -4.0 = hard

//>Display warp<\\
#define PixelArtCRT_warp float2(1.0/64.0,1.0/24.0) //[undef] //-Display warp : 0.0 = none , 1.0/8.0 = extreme

//>Type of shadow mask<\\
#define PixelArtCRT_ShadowMask 3 //[1:4] //-Type of shadow mask : 1 = Very compressed TV style shadow mask, 2 = Aperture-grille, 3 = Stretched VGA style shadow mask, 4 = VGA style shadow mask

//>Amount of shadow mask<\\
#define PixelArtCRT_maskDark 0.5 //[0.0:2.0] //-
#define PixelArtCRT_maskLight 1.5 //[0.0:2.0] //-

//>Falloff shape<\\
#define PixelArtCRT_shape 3.0 //[undef] //-Falloff shape : 1.0 = exp(x), 1.25 = in between, 2.0  = gaussian, 3.0  = more square

//>Amp signal<\\
#define PixelArtCRT_overdrive 1.25 //[0.00:3.00] //-

//>Toggle Key<\\
#define PixelArt_ToggleKey RFX_ToggleKey //[undef] //-


////---------//
///**BLOOM**///
//---------////
#define USE_BLOOM 0 //[Bloom] //-Bloom : Makes bright lights bleed their light into their surroundings (relatively high performance cost)

//>Bloom settings<\\
#define BloomThreshold 20.25 //[0.00:50.00] //-Threshold for what is a bright light (that causes bloom) and what isn't.
#define BloomPower 1.446 //[0.000:8.000] //-Strength of the bloom
#define BloomWidth 0.0142 //[0.0000:1.0000] //-Width of the bloom
#define Bloom_ToggleKey RFX_ToggleKey //[undef] //-


////-------//
///**HDR**///
//-------////
#define USE_HDR 0 //[HDR] //-HDR : Not actual HDR - It just tries to mimic an HDR look (relatively high performance cost)

//>HDR settings<\\
#define HDRPower 1.30 //[0.00:8.00] //-Strangely lowering this makes the image brighter
#define radius2 0.87 //[0.00:8.00] //-Raising this seems to make the effect stronger and also brighter
#define HDR_ToggleKey RFX_ToggleKey //[undef] //-


////---------------//
///**LUMASHARPEN**///
//---------------////
#define USE_LUMASHARPEN 1 //[LumaSharpen] //-LumaSharpen : Sharpens the image.

//>LumaSharpen settings<\\
#define sharp_strength 2.05 //[0.10:3.00] //-Strength of the sharpening
#define sharp_clamp 0.035 //[0.000: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: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:1] //-Visualize the strength of the sharpen (multiplied by 4 to see it better)
#define LumaSharpen_ToggleKey RFX_ToggleKey //[undef] //-


////-------------------//
///**LENS_DISTORTION**///
//-------------------////
#define USE_LENS_DISTORTION 0 //[LensDistortion] //-Cubic Lens Distortion : Distorts the lens cubicly.


////-------------//
///**NOSTALGIA**///
//-------------////
#define USE_NOSTALGIA 0 //[Shared] //-Nostalgia : Remember when you played that game you always played on that first system of yours? You don't? Well here is a reminder.


////----------//
///**LEVELS**///
//----------////
#define USE_LEVELS 0 //[Shared] //-Levels : Sets a new black and white point. This increases contrast but causes clipping. Use Curves instead if you want to avoid that.

//>Levels settings<\\
#define Levels_black_point 16 //[0:255] //-The black point is the new black - literally. Everything darker than this will become completely black. Default is 16.0
#define Levels_white_point 235 //[0:255] //-The new white point. Everything brighter than this becomes completely white. Default is 235.0

//>Debug settings<\\
#define Levels_highlight_clipping 0 //[0:1] //-Colors between the two points will stretched, which increases contrast, but details above and below the points are lost (this is called clipping). Highlight the pixels that clip. Red = Some detail is lost in the highlights, Yellow = All detail is lost in the highlights, Blue = Some detail is lost in the shadows, Cyan = All detail is lost in the shadows.


////---------------//
///**TECHNICOLOR**///
//---------------////
#define USE_TECHNICOLOR 0 //[Shared] //-TECHNICOLOR : Attempts to mimic the look of an old movie using the Technicolor three-strip color process (Techicolor Process 4) 1

//>TECHNICOLOR settings<\\
#define TechniAmount 0.40 //[0.00:1.00] //-
#define TechniPower 4.00 //[0.00:8.00] //-
#define redNegativeAmount 0.30 //[0.00:1.00] //-
#define greenNegativeAmount 0.27 //[0.00:1.00] //-
#define blueNegativeAmount 0.88 //[0.00:1.00] //-


////----------------//
///**TECHNICOLOR2**///
//----------------////
#define USE_TECHNICOLOR2 0 //[Shared] //-TECHNICOLOR 2 : Yet another Technicolor effect - not sure if this stays or not. Let me know if you like it.

//>TECHNICOLOR 2 settings<\\
#define Technicolor2_Red_Strength 0.20 //[0.05:1.0] //-Color Strength of Red channel. Higher means darker and more intense colors.	
#define Technicolor2_Green_Strength 0.20 //[0.05:1.0] //-Color Strength of Green channel. Higher means darker and more intense colors.
#define Technicolor2_Blue_Strength 0.20 //[0.05:1.0] //-Color Strength of Blue channel. Higher means darker and more intense colors.
#define Technicolor2_Brightness 1.0 //[0.5:1.5] //-Brightness Adjustment, higher means brighter image.
#define Technicolor2_Strength 1.0 //[0.0:1.0] //-Strength of Technicolor effect. 0.0 means original image.
#define Technicolor2_Saturation 0.7 //[0.0:1.5] //-Additional saturation control since technicolor tends to oversaturate the image.


////-------//
///**DPX**///
//-------////
#define USE_DPX 1 //[Shared] //-Cineon DPX : Should make the image look like it's been converted to DXP Cineon - basically it's another movie-like look similar to technicolor.

//>Cineon DPX settings<\\
#define Red 8.0 //[1.0:15.0] //-
#define Green 8.0 //[1.0:15.0] //-
#define Blue 8.0 //[1.0:15.0] //-
#define ColorGamma 2.5 //[0.1:2.5] //-Adjusts the colorfulness of the effect in a manner similar to Vibrance. 1.0 is neutral.
#define DPXSaturation 3.0 //[0.0:8.0] //-Adjust saturation of the effect. 1.0 is neutral.
#define RedC 0.36 //[0.20:0.60] //-
#define GreenC 0.36 //[0.20:0.60] //-
#define BlueC 0.34 //[0.20:0.60] //-
#define Blend 0.20 //[0.00:1.00] //-How strong the effect should be.


////--------------//
///**MONOCHROME**///
//--------------////
#define USE_MONOCHROME 0 //[Shared] //-Monochrome : Monochrome makes the colors disappear.

//>Monochrome settings<\\
#define Monochrome_conversion_values float3(0.21,0.72,0.07) //[0.00:1.00] //-No description given


////---------------//
///**COLORMATRIX**///
//---------------////
#define USE_COLORMATRIX 0 //[Shared] //-Color Matrix : Allows color modification using a user-defined color matrix.

//>Color Matrix settings<\\
#define ColorMatrix_Red float3(0.817,0.183,0.000) //[0.00:1.00] //-How much of Red, Green and Blue the new red value should contain   - Should sum to 1.000 if you don't wish to change the brightness
#define ColorMatrix_Green float3(0.667,0.000,0.000) //[0.00:1.00] //-How much of Red, Green and Blue the new green value should contain - Should sum to 1.000 if you don't wish to change the brightness
#define ColorMatrix_Blue float3(0.875,1.00,1.00) //[0.00:1.00] //-How much of Red, Green and Blue the new blue value should contain  - Should sum to 1.000 if you don't wish to change the brightness
#define ColorMatrix_strength 1.0 //[0.0:2.0] //-Adjust the strength


////-----------------//
///**LIFTGAMMAGAIN**///
//-----------------////
#define USE_LIFTGAMMAGAIN 0 //[Shared] //-Lift Gamma Gain : Adjust brightness and color of shadows, midtones and highlights.

//>Lift Gamma Gain settings<\\
#define RGB_Lift float3(1.000,1.000,1.000) //[0.000:2.000] //-Adjust shadows for Red, Green and Blue. Note that a value of 1.000 is a neutral setting that leave the color unchanged. X = Red, Y = Green, Z = Blue
#define RGB_Gamma float3(1.000,1.000,1.000) //[0.000:2.000] //-Adjust midtones for Red, Green and Blue. Note that a value of 1.000 is a neutral setting that leave the color unchanged. X = Red, Y = Green, Z = Blue
#define RGB_Gain float3(1.000,1.000,1.000) //[0.000: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. X = Red, Y = Green, Z = Blue


////-----------//
///**TONEMAP**///
//-----------////
#define USE_TONEMAP 1 //[Shared] //-Tonemap : Adjust gamma, exposure, saturation, bleach and defog. (may cause clipping)

//>Tonemap settings<\\
#define Gamma 1.212 //[0.000:2.000] //-Adjust midtones. 1.000 is neutral. This setting does exactly the same as the one in Lift Gamma Gain, only with less control.
#define Exposure 0.000 //[-1.000:1.000] //-Adjust exposure
#define Saturation 0.000 //[-1.000:1.000] //-Adjust saturation
#define Bleach 0.000 //[0.000:1.000] //-Brightens the shadows and fades the colors
#define Defog 0.000 //[0.000:1.000] //-How much of the color tint to remove
#define FogColor float3(0.00,0.00,2.55) //[0.00:2.55] //-What color to remove - default is blue


////------------//
///**VIBRANCE**///
//------------////
#define USE_VIBRANCE 1 //[Shared] //-Vibrance : Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.

//>Vibrance settings<\\
#define Vibrance 0.20 //[-1.00:1.00] //-Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
#define Vibrance_RGB_balance float3(1.00,1.00,1.00) //[-10.00:10.00] //-A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others. X = Red, Y = Green, Z = Blue


////----------//
///**CURVES**///
//----------////
#define USE_CURVES 0 //[Shared] //-Curves : Contrast adjustments using S-curves.

//>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.65 //[-1.00:1.00] //-The amount of contrast you want

//>Advanced curve settings<\\
#define Curves_formula 5 //[1|2|3|4|5|6|7|8|9|10|11] //-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, 10 = Half-circles. 11 = Polynomial split. 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**///
//---------////
#define USE_SEPIA 0 //[Shared] //-Sepia : Sepia tones the image.

//>Sepia settings<\\
#define ColorTone float3(1.40,1.10,0.90) //[0.00:2.55] //-What color to tint the image.
#define GreyPower 0.11 //[0.00:1.00] //-How much desaturate the image before tinting it.
#define SepiaPower 0.58 //[0.00:1.00] //-How much to tint the image.


////--------------//
///**FILMICPASS**///
//--------------////
#define USE_FILMICPASS 0 //[Shared] //-Filmic Pass: Applies some common color adjustments to mimic a more cinema-like look.

//>FilmicPass settings<\\
#define Strenght 0.85 //[0.05:1.50] //-Strength of the color curve altering
#define BaseGamma 1.0 //[0.7:2.0] //-Gamma Curve
#define Fade 0.4 //[0.0:0.6] //-Decreases contrast to imitate faded image
#define Contrast 1.0 //[0.5:2.0] //-Contrast.
#define FBleach 0.00 //[-0.50:1.00] //-More bleach means more contrasted and less colorful image
#define FSaturation -0.15 //[undef] //-
#define FRedCurve 1.0 //[undef] //-
#define FGreenCurve 1.0 //[undef] //-
#define FBlueCurve 1.0 //[undef] //-
#define BaseCurve 1.5 //[undef] //-

//>FilmicPass settings<\\
#define Linearization 0.50 //[0.50:2.00] //-No description given
#define EffectGammaR 1.0 //[undef] //-
#define EffectGammaG 1.0 //[undef] //-
#define EffectGammaB 1.0 //[undef] //-
#define EffectGamma 0.65 //[undef] //-
#define LumCoeff float3(0.212656,0.715158,0.072186) //[undef] //-


////------------------//
///**REINHARDLINEAR**///
//------------------////
#define USE_REINHARDLINEAR 0 //[Shared] //-Reinhard: Reinhard mixed with some linear tonemapping.

//>ReinhardLinear settings<\\
#define ReinhardLinearSlope 2.25 //[1.00:5.00] //-how steep the color curve is at linear point. You need color curve understanding to know what this means, just experiment.
#define ReinhardLinearWhitepoint 3.0 //[undef] //-
#define ReinhardLinearPoint 0.15 //[undef] //-


////-------------//
///**FILMGRAIN**///
//-------------////
#define USE_FILMGRAIN 0 //[Shared] //-Film Grain : Adds film grain to the image. A side effect of the Film Grain effect is that it also dithers the screen. You don't need both the Film Grain and the Dither effect enabled at the same time.

//>Film Grain settings<\\
#define FilmGrain_intensity 0.50 //[0.00:1.00] //-How visible the grain is. Higher is more visible.
#define FilmGrain_variance 0.40 //[0.00:1.00] //-Controls the variance of the gaussian noise. Lower values look smoother.
#define FilmGrain_SNR 6 //[0:16] //-Higher Signal-to-Noise Ratio values give less grain to brighter pixels. 0 disables this feature.

//>Advanced Film Grain settings<\\
#define FilmGrain_mean 0.50 //[0.00:1.00] //-The average mean of the gaussian noise. Probably best kept at the middle value (0.50)


////------------//
///**VIGNETTE**///
//------------////
#define USE_VIGNETTE 1 //[Shared] //-Vignette : Darkens the edges of the image to make it look more like it was shot with a camera lens. May cause banding artifacts.

//>Vignette settings<\\
#define VignetteType 1 //[1|2|3] //-1 = Original, 2 = New, 3 = TV style
#define VignetteRatio 1.00 //[0.15:6.00] //-Sets a width to height ratio. 1.00 (1/1) is perfectly round, while 1.60 (16/10) is 60 % wider than it's high.
#define VignetteRadius 2.00 //[-1.00:3.00] //-lower values = stronger radial effect from center
#define VignetteAmount -1.00 //[-2.00:1.00] //-Strength of black. -2.00 = Max Black, 1.00 = Max White.
#define VignetteSlope 2 //[2:16] //-How far away from the center the change should start to really grow strong (odd numbers cause a larger fps drop than even numbers)
#define VignetteCenter float2(0.500,0.500) //[0.000:1.000] //-Center of effect for VignetteType 1. 2 and 3 do not obey this setting.


////----------//
///**DITHER**///
//----------////
#define USE_DITHER 0 //[Shared] //-Dither : Applies dithering to simulate more colors than your monitor can display. This lessens banding artifacts (mostly caused by Vignette). 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.

//>Dither settings<\\
#define dither_method 1 //[1:2] //-1 = Ordered dithering (very good and very fast), 2 = Random dithering (different but slightly slower dithering)


////----------//
///**BORDER**///
//----------////
#define USE_BORDER 0 //[Shared] //-Border : Can be used to create letterbox borders around the image.

//>Border settings<\\
#define border_width float2(0,1) //[0:2048] //-(X,Y)-width of the border. Measured in pixels. If this is set to 0,0 then the border_ratio will be used instead
#define border_color float3(0,0,0) //[0:255] //-What color the border should be. In integer RGB colors, meaning 0,0,0 is black and 255,255,255 is full white.
#define border_ratio float(2.35/1.0) //[undef] //-[0.1000 to 10.0000] Set the desired ratio for the visible area. You MUST use floating point - Integers do not work right. Examples that work: (1680.0 / 1050.0), (16.0 / 10.0), (1.6) Examples that does NOT work right: (1680 / 1050), (16 / 10)


////---------------//
///**SPLITSCREEN**///
//---------------////
#define USE_SPLITSCREEN 0 //[Shared] //-Splitscreen : Enables the before-and-after splitscreen comparison mode. (Only partially working right now)

//>Splitscreen settings<\\
#define splitscreen_mode 1 //[1|2|3|4|5|6] //-1 = Vertical 50/50 split, 2 = Vertical 25/50/25 split, 3 = Vertical 50/50 angled split, 4 = Horizontal 50/50 split, 5 = Horizontal 25/50/25 split, 6 = Curvy vertical 50/50 split

