Getting closer.
Currents settings in mastereffect.h:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ReShade effect file
// visit facebook.com/MartyMcModding for news/updates
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// MasterEffect ReBorn 1.1.287 public beta by Marty McFly
// Continuation of MasterEffect 1.6.1
// Copyright © 2008-2015 Marty McFly
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*==============================================================================*\
| GLOBAL PARAMETERS |
\*==============================================================================*/
#define MASTEREFFECT_TOGGLEKEY 0x91 //[depending on keyboard layout] Key used to
toggle all MasterEffect effects. See ReShade documentation for more info.
#define USE_DEPTHBUFFER_OUTPUT 0 //[0 or 1] Depth Buffer Output: Shows you the
pixel depth, this is for debugging or depth map creation only.
#define USE_SPLITSCREEN 0 //[0 or 1] Splitscreen: Disables all effects on
the right half of the screen to show changes.
#define USE_HDR_LEVEL 2 //[0 to 2] HDR Level: Rendering bitrate. 0:
RGBA8 | 1: RGBA16F | 2: RGBA32F
#define USE_HUD_MASKING 0 //[0 or 1] HUD Masking: Uses a texture mask
(mcmask.png) to exclude certain screen areas from effects processing.
/*==============================================================================*\
| ENABLE EFFECTS |
\*==============================================================================*/
//COLOR
#define USE_LUT 1 //[0 or 1] Color Lookup Table: Uses a gradient
texture to adjust the colors of the image.
#define USE_CARTOON 0 //[0 or 1] Cartoon : "Toon"s the image.
#define USE_LEVELS 0 //[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_TECHNICOLOR 0 //[0 or 1] Technicolor : Attempts to mimic the
look of an old movie using the Technicolor three-strip color process. Algorithm from
prod80
#define USE_SWFX_TECHNICOLOR 0 //[0 or 1] Technicolor : Attempts to mimic the
look of an old movie using the Technicolor three-strip color process. Algorithm from
SweetFX
#define USE_DPX 0 //[0 or 1] 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.
#define USE_MONOCHROME 0 //[0 or 1] Monochrome : Monochrome makes the
colors disappear. No control values.
#define USE_LIFTGAMMAGAIN 0 //[0 or 1] Lift Gamma Gain : Adjust brightness
and color of shadows, midtones and highlights.
#define USE_TONEMAP 0 //[0 or 1] Tonemap : Adjust gamma, exposure,
saturation, bleach and defog. (may cause clipping).
#define USE_VIBRANCE 1 //[0 or 1] Vibrance : Intelligently saturates
(or desaturates if you use negative values) the pixels depending on their original
saturation.
#define USE_CURVES 1 //[0 or 1] Curves : Contrast adjustments using
S-curves.
#define USE_SEPIA 0 //[0 or 1] Sepia : Sepia tones the image.
#define USE_SKYRIMTONEMAP 0 //[0 or 1] Skyrim Tonemap: Applies color
correction/tonemapping based on tonemappers of popular Skyrim ENB's.
#define USE_COLORMOOD 0 //[0 or 1] Color Mood: Applies a "mood" to the
color, tinting mainly the dark colors.
#define USE_CROSSPROCESS 0 //[0 or 1] Cross Processing: Simulates wrong
chemistry in color processing.
#define USE_FILMICPASS 1 //[0 or 1] Filmic Pass: Applies some common
color adjustments to mimic a more cinema-like look.
#define USE_REINHARD 0 //[0 or 1] Reinhard: This is the Reinhard
tonemapping shader, if you are interested, google how it works.
#define USE_REINHARDLINEAR 0 //[0 or 1] Reinhard: Reinhard mixed with some
linear tonemapping.
#define USE_COLORMOD 0 //[0 or 1] Colormod: Contrast, Saturation and
Brightness ported from colormod.asi.
#define USE_SPHERICALTONEMAP 0 //[0 or 1] Spherical Tonemap: Another approach
on tonemapping, uses some sphere algorithms.
#define USE_HPD 1 //[0 or 1]
Haarm Peter Duiker Filmic Tonemapping: Tonemapping used in Watch Dogs, ripped from the
Watch Dogs shaders themselves.
#define USE_FILMICCURVE 0 //[0 or 1] Filmic Curve: Improved version of
the well-known Uncharted 2 filmic curve, first seen in iCEnhancer 0.3.
#define USE_WATCHDOG_TONEMAP 0 //[0 or 1] Watch Dogs Tonemap: Enables one of
the numerous watch dogs tonemapping algorithms. No tweaking values.
#define USE_SINCITY 0 //[0 or 1] Sin City: Effect from the movie "Sin
City" - everything else than red is grey.
#define USE_COLORHUEFX 0 //[0 or 1] 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!
//LIGHTING
#define USE_LENSDIRT 0 //[0 or 1] Lensdirt: Simulates a dirty camera
lens. IMPORTANT: bloom threshold and amount have influence on the intensity of the
dirt!
#define USE_GAUSSIAN_ANAMFLARE 0 //[0 or 1] Gaussian Anamflare: Applies a
horizontal light beam to bright pixels.
#define USE_BLOOM 1 //[0 or 1] Bloom: Makes bright lights bleed
their light into their surroundings. NOT the SweetFX way to do bloom but a more proper
way.
#define USE_LENZFLARE 1 //[0 or 1] Lenz Flare: Boris Vorontsov's Skyrim
Lensflare with custom offsets, ported to MasterEffect.
#define USE_CHAPMAN_LENS 1 //[0 or 1] Chapman's lensflare: Simple
lensflare shader with one big halo.
#define USE_GODRAYS 0 //[0 or 1] Godrays: Adds some light rays
rotating around screen center.
#define USE_ANAMFLARE 0 //[0 or 1] Anamorphic
Lensflare: adds some horizontal light flare, simulating the use of an anamorphic lens
while recording.
//DEPTH BASED
#define USE_AMBIENTOCCLUSION 0 //[0 or 1] Ambient Occlusion: Enables
physically incorrect shading that most newer gen games use. Multiple algorithms
available.
#define USE_DEPTHOFFIELD 1 //[0 or 1] Depth of Field: Simulates out of
focus blur of a camera. Multiple algorithms available.
//IMAGE ENHANCEMENTS
#define USE_SHARPENING 1 //[0 or 1] Sharpen: Sharps the image but may
increase aliasing
#define USE_FISHEYE_CA 0 //[0 or 1] Fisheye lens & Chromatic Aberration:
Adds some RGB shift in colors and distorts image to look like the "fisheye" effect.
#define USE_GRAIN 0 //[0 or 1] Grain: Adds some image grain, looks
like when a TV has no signal.
#define USE_EXPLOSION 0 //[0 or 1] Explosion : Scatters the pixels,
making the image look fuzzy.
#define USE_SMAA 1 //[0 or 1] SMAA Anti-aliasing : Smoothens
jagged lines using the SMAA technique.
#define USE_HEATHAZE 0 //[0 or 1] Heat Haze: Convection in heated air
causes the temperature of the air to vary and causes a shimmery effect that distorts
whatever is behind.
#define USE_LED_SHADER 0 //[0 or 1] LED: Simulates the look of a LED
panel.
//OVERLAYS
#define USE_HD6_VIGNETTE 0 //[0 or 1] HeliosDoubleSix Vignette: Adds some
advanced vignette (darkening shader) to lead focus to screen center
#define USE_COLORVIGNETTE 0 //[0 or 1] Boris Vorontsov Vignette: Simple
colorable version of vignette, darkens/tints the image at the corners
#define USE_BORDER 0 //[0 or 1] Border: Can be used to create
letterbox borders around the image.
#define USE_MOVIEBARS 0 //[0 or 1] Movie Bars: blackens the image on
the top and bottom, simulating a higher aspect ratio. Default set to 21:9 aspect ratio.
/*==============================================================================*\
| EFFECT PARAMETERS - COLOR |
\*==============================================================================*/
//COLOR LOOKUP TABLE
#define iLookupTableMode 2 //[1 or 2] 1: mclut.png (gradient) | 2:
mclut3d (3D Photoshop LUT)
#define fLookupTableMix 0.0 //[0.0 to 1.0] Amount of color change
by lookup table. 0.0 means no change, 1.0 means full effect.
//CARTOON
#define CartoonPower 7.5 //[0.1 to 10.0] Amount of effect you
want.
#define CartoonEdgeSlope 1.5 //[0.1 to 8.0] Raise this to filter out
fainter edges. You might need to increase the power to compensate. Whole numbers are
faster.
//LEVELS
#define Levels_black_point 36 //[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 235 //[0 to 255] The new white point.
Everything brighter than this becomes completely white. Default is 235.0
//TECHNICOLOR
#define ColStrengthR 0.2 //[0.05 to 1.0] Color Strength of Red
channel. Higher means darker and more intense colors.
#define ColStrengthG 0.2 //[0.05 to 1.0] Color Strength of Green
channel. Higher means darker and more intense colors.
#define ColStrengthB 0.2 //[0.05 to 1.0] Color Strength of Blue
channel. Higher means darker and more intense colors.
#define TechniBrightness 1.0 //[0.5 to 1.5] Brightness Adjustment,
higher means brighter image.
#define TechniStrength 1.0 //[0.0 to 1.0] Strength of Technicolor
effect. 0.0 means original image.
#define TechniSat 0.7 //[0.0 to 1.5] Additional saturation
control since technicolor tends to oversaturate the image.
//SWEETFX TECHNICOLOR
#define TechniAmount 0.4 //[0.00 to 1.00] Amount of color change
you want
#define TechniPower 4.0 //[0.00 to 8.00] Power of color change
#define redNegativeAmount 0.88 //[0.00 to 1.00] controls for different
technicolor power on the respective color channels
#define greenNegativeAmount 0.88 //[0.00 to 1.00]
#define blueNegativeAmount 0.88 //[0.00 to 1.00]
//DPX
#define DPXRed 8.0 //[1.0 to 15.0] Amount of DPX applies
on Red color channel
#define DPXGreen 8.0 //[1.0 to 15.0] ""
#define DPXBlue 8.0 //[1.0 to 15.0] ""
#define DPXColorGamma 2.5 //[0.1 to 2.5] Adjusts the colorfulness
of the effect in a manner similar to Vibrance. 1.0 is neutral.
#define DPXSaturation 3.0 //[0.0 to 8.0] Adjust saturation of the
effect. 1.0 is neutral.
#define DPXRedC 0.36 //[0.60 to 0.20]
#define DPXGreenC 0.36 //[0.60 to 0.20]
#define DPXBlueC 0.34 //[0.60 to 0.20]
#define DPXBlend 0.2 //[0.00 to 1.00] How strong the effect
should be.
//LIFTGAMMAGAIN
#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, 2.000, 1.000) //[0.000 to 2.000] Adjust
midtones for Red, Green and Blue
#define RGB_Gain float3(1.000, 1.000, 1.000) //[0.000 to 2.000] Adjust
highlights for Red, Green and Blue
//TONEMAP
#define Gamma 1.000 //[0.000 to 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 to 1.000] Adjust exposure
#define Saturation 0.000 //[-1.000 to 1.000] Adjust saturation
#define Bleach 0.000 //[0.000 to 1.000] Brightens the
shadows and fades the colors
#define Defog 0.000 //[0.000 to 1.000] How much of the
color tint to remove
#define FogColor float3(0.00, 0.00, 2.55) //[0.00 to 2.55, 0.00
to 2.55, 0.00 to 2.55] What color to remove - default is blue
//VIBRANCE
#define Vibrance 0.25 //[-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(1.00, 1.00, 1.00) //[-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
#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 1.00 //[-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.
//SEPIA
#define ColorTone float3(1.40, 1.10, 0.90) //[0.00 to 2.55, 0.00 to 2.55,
0.00 to 2.55] What color to tint the image
#define GreyPower 0.11 //[0.00 to 1.00] How much desaturate
the image before tinting it
#define SepiaPower 0.58 //[0.00 to 1.00] How much to tint the
image
//SKYRIM TONEMAPPING
#define POSTPROCESS 6 //[1 to 6] Mode of postprocessing you
want. Mode 1 uses V1 values, Mode 2 uses V2 values etc
//
#define EAdaptationMinV1 0.05
#define EAdaptationMaxV1 0.125
#define EContrastV1 1.0
#define EColorSaturationV1 1.0
#define EToneMappingCurveV1 6.0
//
#define EAdaptationMinV2 0.36
#define EAdaptationMaxV2 0.29
#define EToneMappingCurveV2 8.0
#define EIntensityContrastV2 2.5
#define EColorSaturationV2 3.2
#define EToneMappingOversaturationV2 180.0
//
#define EAdaptationMinV3 0.001
#define EAdaptationMaxV3 0.025
#define EToneMappingCurveV3 30.0
#define EToneMappingOversaturationV3 111160.0
//
#define EAdaptationMinV4 0.2
#define EAdaptationMaxV4 0.125
#define EBrightnessCurveV4 0.7
#define EBrightnessMultiplierV4 0.45
#define EBrightnessToneMappingCurveV4 0.3
//
#define EAdaptationMinV5 0.08
#define EAdaptationMaxV5 0.20
#define EToneMappingCurveV5 8
#define EIntensityContrastV5 3.475
#define EColorSaturationV5 4
#define HCompensateSatV5 2
#define EToneMappingOversaturationV5 180.0
//
#define EBrightnessV6Day 2.5
#define EIntensityContrastV6Day 1.5
#define EColorSaturationV6Day 2.0
#define HCompensateSatV6Day 3.0
#define EAdaptationMinV6Day 0.64
#define EAdaptationMaxV6Day 0.24
#define EToneMappingCurveV6Day 8
#define EToneMappingOversaturationV6Day 2500.0
//COLORMOOD
#define fRatio 0.4 //[0.00 to 3.00] Amount of moody
coloring you want
#define moodR 1.0 //[0.0 to 2.0] How strong dark red
colors shall be boosted
#define moodG 1.1 //[0.0 to 2.0] How strong dark green
colors shall be boosted
#define moodB 0.5 //[0.0 to 2.0] How strong dark blue
colors shall be boosted
//CROSSPROCESS
#define CrossContrast 0.95 //[0.5 to 2.00] The names of these
values should explain their functions
#define CrossSaturation 1.12 //[0.5 to 2.00]
#define CrossBrightness -0.052 //[-0.3 to 0.30]
#define CrossAmount 1.0 //[0.05 to 1.5]
//FILMICPASS
#define Strenght 0.725 //[0.05 to 1.5] Strength of the color
curve altering
#define BaseGamma 1.6 //[0.7 to 2.0] Gamma Curve
#define Fade 0.2 //[0.0 to 0.6] Decreases contrast to
imitate faded image
#define Contrast 1.0 //[0.5 to 2.0] Contrast.
#define FSaturation -0.15
#define FBleach 0.005 //[-0.5 to 1.0] More bleach means more
contrasted and less colorful image
#define FRedCurve 6.0
#define FGreenCurve 6.0
#define FBlueCurve 6.0
#define BaseCurve 1.5
#define EffectGammaR 1.0
#define EffectGammaG 1.0
#define EffectGammaB 1.0
#define EffectGamma 0.75
#define Linearization 1.3 //[0.5 to 2.0] Linearizes the color
curve
//REINHARD TONEMAP
#define ReinhardWhitepoint 4.0 //[1.0 to 10.0] Point above which
everything is pure white
#define ReinhardScale 0.5 //[0.0 to 2.0] Amount of applied
tonemapping
//REINHARD LINEAR TONEMAP
#define ReinhardLinearWhitepoint 4.4
#define ReinhardLinearPoint 0.06
#define ReinhardLinearSlope 2.25 //[1.0 to 5.0] how steep the color
curve is at linear point. You need color curve understanding to know what this means,
just experiment.
//COLORMOD
#define ColormodChroma 0.78 // Saturation
#define ColormodGammaR 1.05 // Gamma for Red color channel
#define ColormodGammaG 1.05 // Gamma for Green color channel
#define ColormodGammaB 1.05 // Gamma for Blue color channel
#define ColormodContrastR 0.50 // Contrast for Red color channel
#define ColormodContrastG 0.50 // ...
#define ColormodContrastB 0.50 // ...
#define ColormodBrightnessR -0.08 // Brightness for Red color channel
#define ColormodBrightnessG -0.08 // ...
#define ColormodBrightnessB -0.08 // ...
//SPHERICAL TONEMAP
#define sphericalAmount 1.0 //[0.0 to 2.0] Amount of spherical
tonemapping applied...sort of
//COLOR HUE FX
#define USE_COLORSAT 0 //[0 or 1] This will use original color
saturation as an added limiter to the strength of the effect
#define hueMid 0.6 //[0.0 to 1.0] Hue (rotation around the
color wheel) of the color which you want to keep
#define hueRange 0.1 //[0.0 to 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 to 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 to 1.0] Interpolation between
the original and the effect, 0 means full original image, 1 means full grey-color
image.
/*==============================================================================*\
| EFFECT PARAMETERS - LIGHTING |
\*==============================================================================*/
//LENSDIRT
#define fLensdirtIntensity 2.0 //[0.0 to 2.0] Intensity of lensdirt.
#define fLensdirtSaturation 4.0 //[0.0 to 2.0] Color saturation of
lensdirt.
#define fLensdirtTint float3(1.0,1.0,1.0) //[0.0 to 1.0] R, G and B
components of lensdirt tintcolor the lensdirt color gets shifted to.
#define iLensdirtMixmode 2 //[1 to 4] 1: Linear add | 2: Screen
add | 3: Screen/Lighten/Opacity | 4: Lighten
//GAUSSIAN ANAMORPHIC LENSFLARE
#define fAnamFlareThreshold 0.90 //[0.1 to 1.0] Every pixel brighter
than this value gets a flare.
#define fAnamFlareWideness 2.4 //[1.0 to 2.5] Horizontal wideness of
flare. Don't set too high, otherwise the single samples are visible
#define fAnamFlareAmount 14.5 //[1.0 to 20.0] Intensity of anamorphic
flare.
#define fAnamFlareCurve 1.2 //[1.0 to 2.0] Intensity curve of flare
with distance from source
#define fAnamFlareColor float3(0.012,0.313,0.588) //[0.0 to 1.0] R, G and B
components of anamorphic flare. Flare is always same color.
//BLOOM
#define iBloomMixmode 4 //[1 to 4] 1: Linear add | 2: Screen
add | 3: Screen/Lighten/Opacity | 4: Lighten
#define fBloomThreshold 0.50 //[0.1 to 1.0] Every pixel brighter
than this value triggers bloom.
#define fBloomAmount 0.30 //[1.0 to 20.0] Intensity of bloom.
#define fBloomSaturation 1.0 //[0.0 to 2.0] Bloom saturation. 0.0
means white bloom, 2.0 means very very colorful bloom.
#define fBloomTint float3(0.5,0.5,0.6) //[0.0 to 1.0] R, G and B
components of bloom tintcolor the bloom color gets shifted to.
//LENZ FLARE
#define LENZDEPTHCHECK 1 //[0 or 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 to 3.0] power of lens flare
effect
#define fLenzThreshold 0.8 //[0.6 to 1.0] Minimum brightness an
object must have to cast lensflare
//CHAPMAN LENS
#define CHAPMANDEPTHCHECK 1 //[0 or 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.9 //[0.7 to 0.99] Brightness threshold
for lensflare generation. Everything brighter than this value gets a flare.
#define ChapFlareCount 15 //[1 to 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 to 1.0] Distance from screen
center (and from themselves) the flares are generated.
#define ChapFlareSize 0.45 //[0.2 to 0.8] Distance (from screen
center) the halo and flares are generated.
#define ChapFlareCA float3(0.0,0.01,0.02) //[-0.5 to 0.5] Offset of RGB
components of flares as modifier for Chromatic abberation. Same 3 values means no CA.
#define ChapFlareIntensity 100.0 //[5.0 to 20.0] Intensity of flares and
halo, remember that higher threshold lowers intensity, you might play with both values
to get desired result.
//GODRAYS
#define bGodrayDepthCheck 1 //[0 or 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 iGodraySamples 128 //[2^x format] How many samples the
godrays get
#define fGodrayDecay 0.99 //[0.5 to 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 to 1.5] Upscales the godray's
brightness
#define fGodrayWeight 1.2 //[0.8 to 1.7] weighting
#define fGodrayDensity 1.0 //[0.2 to 2.0] Density of rays, higher
means more and brighter rays
#define fGodrayThreshold 0.99 //[0.6 to 1.0] Minimum brightness an
object must have to cast godrays
//ANAMORPHIC LENSFLARE
#define bFlareDepthCheckEnable 1 //[0 or 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.95 //[0.6 to 1.0] bright pass luminance
value
#define fFlareBlur 200.0 // [1.0 to 9999999] manages the size of
the flare
#define fFlareIntensity 2.50 // [0.2 to 5.0] effect intensity
#define fFlareTint float3(0.137, 0.216, 1.0) // [0.0 to 2.0]
effect tint RGB
/*==============================================================================*\
| EFFECT PARAMETERS - DEPTH BASED EFFECTS |
\*==============================================================================*/
/*==============================================================================*/
//AMBIENT OCCLUSION - GLOBAL PARAMETERS
#define AO_METHOD 6 //[1 to 2] 1: SSAO | 2: Raymarch AO |
3: HBAO | 4: SSGI | 5: Raymarch HBAO | 6: Alchemy SAO
#define AO_TEXSCALE 1.00 //[0.25 to 1.0] 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.8 //[0.05 to 2.0] 1: AO sharpness, higher
means more sharp geometry edges but noisier AO, less means smoother AO but blurry in
the distance.
#define AO_SHARPNESS_DETECT 2 //[1 or 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 to 15] Offset count for AO
smoothening. Higher means more smooth AO but also blurrier AO.
#define AO_DEBUG 0 //[0 to 2] Enables raw debug output. 1:
occlusion | 2: color bouncing (SSGI only!)
#define AO_LUMINANCE_CONSIDERATION 1 //[0 or 1] Enables dampening of AO
intensity on bright pixels, to preserve bright light sprites or beter lit areas. Not
for GI!
#define AO_LUMINANCE_LOWER 0.3 //[0.0 to 1.0] Lower brightness
threshold where AO starts to fade out. Below this threshold AO has full power.
#define AO_LUMINANCE_UPPER 0.8 //[0.0 to 1.0] Upper brightness
threshold where AO starts to fade out. Above this threshold AO is 0.
#define AO_FADE_START 0.4 //[0.0 to 1.0] Distance from camera
where AO starts to fade out. 0.0 means camera itself, 1.0 means infinite distance.
#define AO_FADE_END 0.9 //[0.0 to 1.0] Distance from camera
where AO fades out completely. 0.0 means camera itself, 1.0 means infinite distance.
//AMBIENT OCCLUSION - SSAO
#define iSSAOSamples 16 //[32 to 128] Amount of samples. Don't
set too high or shader compilation time goes through the roof.
#define fSSAOSamplingRange 80.0 //[10.0 to 50.0] SSAO sampling range.
High range values might need more samples so raise both.
#define fSSAODarkeningAmount 1.5 //[0.0 to 5.0] Amount of SSAO corner
darkening
#define fSSAOBrighteningAmount 1.0 //[0.0 to 5.0] Amount of SSAO edge
brightening
//AMBIENT OCCLUSION - RAYMARCH SSAO
#define iRayAOSamples 24 //[10 to 78] Amount of sample "rays"
Higher means more accurate AO but also less performance.
#define fRayAOSamplingRange 0.0005 //[0.0001 to 0.02] Range of AO
sampling. Higher values ignore small geometry details and shadow more globally.
#define fRayAOMaxDepth 0.02 //[0.01 to 0.2] Range clip factor to
avoid far objects to occlude close objects just because they are besides each other on
screen.
#define fRayAOMinDepth 0.0003 //[0.000 to 0.001] Minimum depth
difference cutoff to prevent (almost) flat surfaces to occlude themselves.
#define fRayAOPower 2.0 //[0.2 to 5.0] Amount of darkening.
//AMBIENT OCCLUSION - HBAO
#define iHBAOSamples 9 //[7 to 36] Amount of samples. Higher
means more accurate AO but also less performance.
#define fHBAOSamplingRange 2.6 //[0.5 to 5.0] Range of HBAO sampling.
Higher values ignore small geometry details and shadow more globally.
#define fHBAOAmount 3.0 //[1.0 to 10.0] Amount of HBAO
shadowing.
#define fHBAOClamp 0.1 //[0.0 to 1.0] Clamps HBAO power. 0.0
means full power, 1.0 means no HBAO.
#define fHBAOAttenuation 0.02 //[0.001 to 0.2] Affects the HBAO
range, prevents shadowing of very far objects which are close in screen space.
//AMBIENT OCCLUSION - SSGI
#define iSSGISamples 24 //[5 to 24] Amount of SSGI sampling
iterations, higher means better GI but less performance.
#define fSSGISamplingRange 0.4 //[5.0 to 80.0] Radius of SSGI
sampling.
#define fSSGIIlluminationMult 4.5 //[1.0 to 8.0] Multiplier of SSGI
illumination (color bouncing/reflection).
#define fSSGIOcclusionMult 0.8 //[1.0 to 10.0] Multiplier of SSGI
occlusion.
#define fSSGIModelThickness 50.0 //[0.5 to 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 to 2.0] Saturation of
bounced/reflected colors.
//AMBIENT OCCLUSION - RAYMARCH HBAO
#define iRayHBAO_StepCount 9 //[5 to 32] Amount of steps to march
per direction to check for occluders.
#define iRayHBAO_StepDirections 10 //[5 to 25] Amount of rays / directions
to march to check for occluders.
#define fRayHBAO_SampleRadius 0.005 //[0.001 to 0.01] Range of AO sampling.
Higher values ignore small geometry details and shadow more globally.
#define fRayHBAO_Attenuation 2.0 //[0.4 to 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 to 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.
//AMBIENT OCCLUSION - SCALABLE AMBIENT OBSCURANCE
#define fSAOIntensity 6.0 //[1.0 to 10.0] Linearly multiplies AO
intensity.
#define fSAOClamp 2.5 //[1.0 to 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 to 10.0] SAO sampling radius.
Higher values also lower AO intensity extremely because of Alchemy's extremely retarded
falloff formula.
#define fSAOBias 0.2 //[0.001 to 0.05] Minimal surface angle
for AO consideration. Useful to prevent self-occlusion of flat surfaces caused by
floating point inaccuracies.
#define iSAOSamples 18 //[10 to 96] Amount of SAO Samples.
Maximum of 96 is defined by formula.
/*==============================================================================*/
//DEPTH OF FIELD - GLOBAL PARAMETERS
#define DOF_METHOD 4 //[1 to 4] 1: Ring DOF(Petka/martinsh)
2: Magic DOF 3: GP65CJ042 DOF 4: Matso DOF
#define DOF_FOCUSPOINT float2(0.5,0.5) //[0.0 to 1.0] Screen
coordinates of focus point. First value is horizontal, second value is vertical
position. 0 is left/upper, 1 is right/lower.
#define DOF_NEARBLURCURVE 10.0 //[0.4 to X] Power of blur of closer-
than-focus areas.
#define DOF_FARBLURCURVE 5.0 //[0.4 to X] Elementary, my dear
Watson: Blur power of areas behind focus plane.
#define DOF_BLURRADIUS 5.0 //[5.0 to 50.0] Blur radius
approximately in pixels. Radius, not diameter.
#define DOF_MANUALFOCUS 1 //[0 or 1] Enables manual focus.
#define DOF_MANUALFOCUSDEPTH 0.25 //[0.0 to 1.0] Manual focus depth. 0.0
means camera is focus plane, 1.0 means sky is focus plane.
//DEPTH OF FIELD - RING DOF
#define iRingDOFSamples 6 //[5 to 30] Samples on the first ring.
The other rings around have more samples
#define iRingDOFRings 4 //[1 to 8] Ring count
#define fRingDOFThreshold 2.5 //[0.8 to 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 fRingDOFGain 0.1 //[0.1 to 2.0] Amount of brightening
for pixels brighter than threshold.
#define fRingDOFBias 0.0 //[0.1 to 2.0] bokeh bias.
#define fRingDOFFringe 0.5 //[0.0 to 1.0] Amount of chromatic
abberation
//DEPTH OF FIELD - MAGIC DOF
#define iMagicDOFBlurQuality 2 //[1 to 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 3.0 //[1.0 to 10.0] DOF weighting curve.
//DEPTH OF FIELD - GP65CJ042 DOF
#define iGPDOFQuality 2 //[0 to 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 or 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 to 9] Controls the amount pf
polygons for polygonal bokeh shape. 3 = triangular, 4 = square, 5 = pentagonal etc.
#define fGPDOFBias 0.00 //[0.0 to 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 0.0 //[0.0 to 3.0] Power of Bokeh Bias.
Raise for more defined bokeh outlining on bokeh shape edge.
#define fGPDOFBrightnessThreshold 1.8 //[0.6 to 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.00 //[0.0 to 2.0] Amount of brightening
for pixels brighter than fGPDOFBrightnessThreshold.
#define fGPDOFChromaAmount 0.0 //[0.00 to 0.4] Amount of color
shifting applied on blurred areas.
//DEPTH OF FIELD - MATSO DOF
#define bMatsoDOFChromaEnable 0 //[0 or 1] Enables Chromatic
Abberation.
#define bMatsoDOFBokehEnable 1 //[0 or 1] Enables Bokeh weighting do
define bright light spots and increase bokeh shape definiton.
#define fMatsoDOFChromaPow 1.4 //[0.2 to 3.0] Amount of chromatic
abberation color shifting.
#define fMatsoDOFBokehCurve 8.0 //[0.5 to 20.0] Bokeh curve.
#define fMatsoDOFBokehLight 0.012 //[0.0 to 2.0] Bokeh brightening
factor.
#define iMatsoDOFBokehQuality 5 //[1 to 10] Blur quality as control
value over tap count.
#define fMatsoDOFBokehAngle 0 //[0 to 360] Rotation angle of bokeh
shape.
/*==============================================================================*\
| EFFECT PARAMETERS - IMAGE ENHANCEMENTS |
\*==============================================================================*/
//SHARPEN
#define fSharpBias 0.35 //[0.05 to 1.0] How big the sharpen
offset is (used to compare neighbor pixels to get sharpen amount
#define fSharpStrength 0.50 //[0.05 to 1.0] Amount of sharpening
you want.
#define fSharpClamp 0.5 //[0.2 to 2.0] Clamps the sharpening to
a maximum amount to prevent aliasing
//FISHEYE, CHROMATIC ABBERATION
#define fFisheyeZoom 0.5 //[0.5 to 1.0] some lens zoom to hide
bugged edges due to texcoord modification
#define fFisheyeDistortion 0.15 //[-0.3 to 0.3] distortion of image,
fish eye effect
#define fFisheyeDistortionCubic 0.15 //[-0.3 to 0.3] distortion of image,
fish eye effect, cube based
#define fFisheyeColorshift -0.03 //[-0.1 to 0.1] Amount of color
shifting
//IMAGE GRAIN
#define fGrainSaturation 1.0 //[0.0 to 2.0] Saturation of Grain.
Higher means more colored noise, 0.0 means blacknwhite no TV signal noise.
#define fGrainIntensityBright 0.0 //[0.0 to 2.0] Intensity of Grain in
bright areas.
#define fGrainIntensityMid 0.0 //[0.0 to 2.0] Intensity of Grain in
midtone areas.
#define fGrainIntensityDark 0.1 //[0.0 to 2.0] Intensity of Grain in
dark areas.
//EXPLOSION
#define fExplosionRadius 10.5 //[0.2 to 100.0] Amount of effect you
want.
//SMAA
#define fSMAAThreshold 0.05 //[0.05 to 0.20] Edge detection
Threshold. If SMAA misses some edges try lowering this slightly. I prefer between 0.08
and 0.12.
#define iSMAAMaxSearchSteps 64 //[0 to 98] Determines the radius SMAA
will search for aliased edges
#define iSMAAMaxSearchStepsDiag 32 //[0 to 32] Determines the radius SMAA
will search for diagonal aliased edges
#define iSMAACornerRounding 100 //[0 to 100] Determines the percent of
antialiasing to apply to corners. 0 seems to affect fine text the least so it's the
default.
#define iSMAAEdgeDetectionMode 2 //[1 to 3] 1: Luma edge detection 2:
Color edge detection 3: Depth edge detection
#define bSMAAPredication 0 //[0 or 1] Enables predication which
uses BOTH the color and the depth texture for edge detection to more accurately detect
edges.
#define fSMAAPredicationThreshold 0.01 //[0.001 to 0.2] Threshold to be used
in the depth buffer.
#define fSMAAPredicationScale 2.0 //[0.5 to 4.0] How much to scale the
global Threshold used for luma or color edge detection when using predication
#define fSMAAPredicationStrength 0.4 //[0.1 to 1.0] How much to locally
decrease the Threshold.
#define iSMAADebugOutput 0 //[0 to 4] 0: Normal | 1: edgesTex | 2:
blendTex | 3: areaTex | 4: searchTex - Only for troubleshooting. Users don't need to
mess with this.
//HEAT HAZE
#define fHeatHazeSpeed 2.0 //[0.5 to 10.0] Speed of heathaze waves
#define fHeatHazeOffset 5.0 //[0.5 to 20.0] Amount of image
distortion caused by heathaze effect
#define fHeatHazeTextureScale 1.0 //[0.5 to 5.0] Scale of source texture,
affecting the tile size. Use Heathaze debug effect for better visible effect.
#define fHeatHazeChromaAmount 0.6 //[0.0 to 2.0] Amount of color shift
caused by heat haze. Linearly scales with fHeatHazeOffset.
#define bHeatHazeDebug 0 //[0 or 1] Enables raw texture output
for debugging purposes. Useful for texture experiments.
//LED SHADER
#define fLEDCircleSize 25.0 //[10.0 to 50.0] Size of the single
LED's
#define fLEDBackgroundColor float3(0.2,0.2,0.2) //[0.0 to 1.0] R G and B
components of background color between LED's.
/*==============================================================================*\
| EFFECT PARAMETERS - OVERLAYS |
\*==============================================================================*/
//HD6VIGNETTE
#define fHD6VignetteMode 1 //[1 to 3] Vignette Alignment 1: Left
and right | 2: top and bottom | 3: corners.
#define fHD6VignetteTop 0.7 //[0.3 to 1.5] Top/left (depending on
mode) height of bar.
#define fHD6VignetteBottom 0.7 //[0.3 to 1.5] Bottom/right (depending
on mode) height of bar.
#define fHD6VignetteRoundness 0.0 //[0.0 to 100000.0] Amount of
circularism (new word invented hoho), 0 means linear vignette, 100000.0 means rougly
total circle.
#define fHD6VignetteColorDistort 0.0 //[0.0 to 5.0] Distorts the colors.
#define fHD6VignetteContrast 11.6 //[0.0 to 20.0] Contrast of vignette
curve.
#define fHD6VignetteBorder 6.5 //[0.0 to 5.0] Vignette Border factor.
//STANDARDVIGNETTE
#define fVignetteAmount 2.9 //[0.0 to 5.0] Amount of vignette color
change.
#define fVignetteCurve 1.5 //[0.0 to 5.0] Curve of vignette color
change.
#define fVignetteRadius 0.95 //[0.0 to 5.0] Radius from center where
vignette color change kicks in.
#define fVignetteColor float3(0.0, 0.0, 0.0) //[0.0 to 1.0] RGB
vignette color.
//BORDER
#define fBorderWidth float2(10,10) //[0 to 2048, 0 to 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 fBorderRatio float(1920.0 / 1080.0) //[0.1 to 10.0] Set the desired ratio
for the visible area. You MUST use floating point - Integers do not work right.
#define fBorderColor float3(1.0, 0.0, 0.0) //[0.0 to 1.0] What color the border
should be. In RGB colors, 0,0,0 is black, 1,1,1 is pure white.