/*-----------------------------------------------------------.
/ Description /
'------------------------------------------------------------/
Game: Middle Earth - Shadow of Mordor
Author: Earthquake
SweetFX version: 1.5/Boulotaur2024 Injector. +Chromatic Aberration Shader.
Description:
/*-----------------------------------------------------------.
/ Choose effects /
'-----------------------------------------------------------*/
// Set to 1 for ON or 0 for OFF
#define USE_FXAA_ANTIALIASING 1 //[0 or 1] FXAA Anti-aliasing : Smoothens jagged lines using the FXAA technique
#define USE_LEVELS 1 //[0 or 1] Levels : Sets a new black and white point. This increases contrast but causes clipping. Use Curves instead if you want to avoid that.
#define USE_HDR 1 //[0 or 1] HDR : Not actual HDR - It just tries to mimic an HDR look (relatively high performance cost)
#define USE_LUMASHARPEN 1 //[0 or 1] LumaSharpen : Also sharpens the antialiased edges which makes them less smooth - I'm working on fixing that.
#define USE_LIFTGAMMAGAIN 1 //[0 or 1] Lift Gamma Gain : Adjust brightness and color of shadows, midtones and highlights (avoids clipping)
#define USE_TONEMAP 1 //[0 or 1] Tonemap : Adjust gamma, exposure, saturation, bleach and defog. (may cause clipping)
#define USE_VIBRANCE 1 //[0 or 1] Vibrance : Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
#define USE_CURVES 1 //[0 or 1] Curves : Contrast adjustments using S-curves.
/*-----------------------------------------------------------.
/ FXAA Anti-aliasing settings /
'-----------------------------------------------------------*/
#define FXAA_QUALITY__PRESET 39 //[1 to 39] Choose the quality preset. 39 is the highest quality.
#define fxaa_Subpix 0.4 //[0.000 to 1.000] Choose the amount of sub-pixel aliasing removal.
#define fxaa_EdgeThreshold 0.01 //[0.000 to 1.000] Edge detection threshold. The minimum amount of local contrast required to apply algorithm.
#define fxaa_EdgeThresholdMin 0.001 //[0.000 to 1.000] Darkness threshold. Trims the algorithm from processing darks.
/*----------------------------------------------------------.
/ Levels settings /
'----------------------------------------------------------*/
#define Levels_black_point -3 //[0 to 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 255 //[0 to 255] The new white point. Everything brighter than this becomes completely white. Default is 235.0
//Colors between the two points will stretched, which increases contrast, but details above and below the points are lost (this is called clipping).
/*-----------------------------------------------------------.
/ HDR settings /
'-----------------------------------------------------------*/
#define HDRPower 1.10 //[0.00 to 8.00] Strangely lowering this makes the image brighter
#define radius2 0.80 //[0.00 to 8.00] Raising this seems to make the effect stronger and also brighter
/*-----------------------------------------------------------.
/ LumaSharpen settings /
'-----------------------------------------------------------*/
// -- Sharpening --
#define sharp_strength 0.45 //[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 - 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.4 //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern.
//I designed the pattern for offset_bias 1.0, but feel free to experiment.
// -- Debug sharpening settings --
#define show_sharpen 0 //[0 or 1] Visualize the strength of the sharpen (multiplied by 4 to see it better)
/*-----------------------------------------------------------.
/ 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.010, 1.010, 1.008) //[0.000 to 2.000] Adjust highlights for Red, Green and Blue
/*-----------------------------------------------------------.
/ Tonemap settings /
'-----------------------------------------------------------*/
#define Gamma 1.05 //[0.000 to 2.000] Adjust midtones
#define Exposure 0.08 //[-1.000 to 1.000] Adjust exposure
#define Saturation 0.03 //[-1.000 to 1.000] Adjust saturation
#define Bleach 0.0 //[0.000 to 1.000] Brightens the shadows and fades the colors
#define Defog 0.2 //[0.000 to 1.000] How much of the color tint to remove
#define FogColor float3(0.0, 0.0, 0.0) //[0.00 to 2.55, 0.00 to 2.55, 0.00 to 2.55] What color to remove - default is blue
/*-----------------------------------------------------------.
/ Vibrance settings /
'-----------------------------------------------------------*/
#define Vibrance 0.28 //[-1.00 to 1.00] Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
#define Vibrance_RGB_balance float3(0.75, 0.70, 0.65) //[-10.00 to 10.00,-10.00 to 10.00,-10.00 to 10.00] A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others
/*-----------------------------------------------------------.
/ 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.25 //[-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.
//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.
//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.
/*-----------------------------------------------------------.
/ Key settings /
'-----------------------------------------------------------*/
// This is the section where you can define your own key mapping
// See the following URL to find out what keycode a key has:
// http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
// key_toggle_sweetfx = 45 ; 45 = Einfg
// key_screenshot = 35 ; 35 = Ende->
// key_reload_sweetfx = 46 ; 46 = Entf