//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 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
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Tales of Zestiria / Alex 11/2015
// ReShade 1.0.0.915
// V.0.8
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*==============================================================================*\
| GLOBAL PARAMETERS |
\*==============================================================================*/
#define MASTEREFFECT_TOGGLEKEY 0x24 //[Home] 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 0 //[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 0 //[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 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_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 1 //[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 1 //[0 or 1] Tonemap : Adjust gamma, exposure, saturation, bleach and defog. (may cause clipping).
#define USE_VIBRANCE 0 //[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 0 //[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 0 //[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 0 //[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 0 //[0 or 1] Lenz Flare: Boris Vorontsov's Skyrim Lensflare with custom offsets, ported to MasterEffect.
#define USE_CHAPMAN_LENS 0 //[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 1 //[0 or 1] Ambient Occlusion: Enables physically incorrect shading that most newer gen games use. Multiple algorithms available.
#define USE_DEPTHOFFIELD 0 //[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 1 //[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 1.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 4.5 //[0.1 to 10.0] Amount of effect you want.
#define CartoonEdgeSlope 2.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 03 //[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 250 //[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 7.50 //[1.0 to 15.0] Amount of DPX applies on Red color channel
#define DPXGreen 7.50 //[1.0 to 15.0] ""
#define DPXBlue 7.50 //[1.0 to 15.0] ""
#define DPXColorGamma 1.2 //[0.1 to 2.5] Adjusts the colorfulness of the effect in a manner similar to Vibrance. 1.0 is neutral.
#define DPXSaturation 1.3 //[0.0 to 8.0] Adjust saturation of the effect. 1.0 is neutral.
#define DPXRedC 0.35 //[0.60 to 0.20]
#define DPXGreenC 0.37 //[0.60 to 0.20]
#define DPXBlueC 0.36 //[0.60 to 0.20]
#define DPXBlend 0.25 //[0.00 to 1.00] How strong the effect should be.
//LIFTGAMMAGAIN
#define RGB_Lift float3(1.074, 1.074, 1.078) //[0.000 to 2.000] Adjust shadows for Red, Green and Blue.
#define RGB_Gamma float3(0.970, 0.960, 0.950) //[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 0.970 //[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.250 //[-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.400 //[0.000 to 1.000] How much of the color tint to remove
#define FogColor float3(0.08, 0.10, 0.09) //[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.10 //[-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.10, 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 2 //[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 3 //[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.00 //[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 1.0 //[1.0 to 10.0] Point above which everything is pure white
#define ReinhardScale 1.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 0.10 //[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 3.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 3 //[1 to 4] 1: Linear add | 2: Screen add | 3: Screen/Lighten/Opacity | 4: Lighten
#define fBloomThreshold 0.80 //[0.1 to 1.0] Every pixel brighter than this value triggers bloom.
#define fBloomAmount 2.50 //[1.0 to 20.0] Intensity of bloom.
#define fBloomSaturation 0.00 //[0.0 to 2.0] Bloom saturation. 0.0 means white bloom, 2.0 means very very colorful bloom.
#define fBloomTint float3(0.1,0.1,0.1) //[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 0.7 //[0.7 to 1.5] Upscales the godray's brightness
#define fGodrayWeight 0.8 //[0.8 to 1.7] weighting
#define fGodrayDensity 3.0 //[0.2 to 2.0] Density of rays, higher means more and brighter rays
#define fGodrayThreshold 0.8 //[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.07 // [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 3 //[1 to 2] 1: SSAO | 2: Raymarch AO | 3: HBAO | 4: SSGI | 5: Raymarch HBAO | 6: Alchemy SAO
#define AO_TEXSCALE 0.25 //[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.15 //[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.7 //[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.3 //[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.4 //[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 50.0 //[10.0 to 50.0] SSAO sampling range. High range values might need more samples so raise both.
#define fSSAODarkeningAmount 3.0 //[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.20 //[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 5.0 //[0.2 to 5.0] Amount of darkening.
//AMBIENT OCCLUSION - HBAO
#define iHBAOSamples 7 //[7 to 36] Amount of samples. Higher means more accurate AO but also less performance.
#define fHBAOSamplingRange 2.5 //[0.5 to 5.0] Range of HBAO sampling. Higher values ignore small geometry details and shadow more globally.
#define fHBAOAmount 5.0 //[1.0 to 10.0] Amount of HBAO shadowing.
#define fHBAOClamp 0.4 //[0.0 to 1.0] Clamps HBAO power. 0.0 means full power, 1.0 means no HBAO.
#define fHBAOAttenuation 0.2 //[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 12 //[5 to 24] Amount of SSGI sampling iterations, higher means better GI but less performance.
#define fSSGISamplingRange 0.5 //[5.0 to 80.0] Radius of SSGI sampling.
#define fSSGIIlluminationMult 4.0 //[1.0 to 8.0] Multiplier of SSGI illumination (color bouncing/reflection).
#define fSSGIOcclusionMult 0.5 //[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 4.0 //[1.0 to 10.0] Linearly multiplies AO intensity.
#define fSAOClamp 8 //[1.0 to 10.0] Higher values shift AO more into black. Useful for light gray AO caused by high SAO radius.
#define fSAORadius 5.5 //[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.05//[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 10 //[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 0.5 //[0.4 to X] Power of blur of closer-than-focus areas.
#define DOF_FARBLURCURVE 0.5 //[0.4 to X] Elementary, my dear Watson: Blur power of areas behind focus plane.
#define DOF_BLURRADIUS 4.0 //[5.0 to 50.0] Blur radius approximately in pixels. Radius, not diameter.
#define DOF_MANUALFOCUS 0 //[0 or 1] Enables manual focus.
#define DOF_MANUALFOCUSDEPTH 0.1 //[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 1 //[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 2 //[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.05 //[0.05 to 1.0] How big the sharpen offset is (used to compare neighbor pixels to get sharpen amount
#define fSharpStrength 0.20 //[0.05 to 1.0] Amount of sharpening you want.
#define fSharpClamp 0.20 //[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.001 //[-0.3 to 0.3] distortion of image, fish eye effect
#define fFisheyeDistortionCubic 0.001 //[-0.3 to 0.3] distortion of image, fish eye effect, cube based
#define fFisheyeColorshift 0.0013 //[-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 0.01 //[0 to 98] Determines the radius SMAA will search for aliased edges
#define iSMAAMaxSearchStepsDiag 4 //[0 to 32] Determines the radius SMAA will search for diagonal aliased edges
#define iSMAACornerRounding 75 //[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 3 //[1 to 3] 1: Luma edge detection 2: Color edge detection 3: Depth edge detection
#define bSMAAPredication 1 //[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.
To anyone editing the preset and getting " MasterEffect.h(1, 1): error X3000: syntax error: unexpected 'unknown' ", !!!use Notepad++!!!
Regular windows notepad screws up presets when you save.
I tried the new settings and the performance is good but the ambient occlusion is poor.
It causes lots of flickering dark blotches on everything.
It also causes ugly pixelated dark outlines on the characters in certain rooms.
I can raise AO_TEXSCALE to 0.50 but it still looks pretty bad until I use 1.0 which then makes the fps too low.
So this reshade is still not worth it.
Thanks Artins, this solves the performance problem. i will add your AO settings in the preset if you don't mind. :)
Update: I managed to remove most of the AO from the fog now it's barely noticeable: #define AO_LUMINANCE_CONSIDERATION 1
#define AO_LUMINANCE_LOWER 0.3
#define AO_LUMINANCE_UPPER 0.7
#define AO_FADE_START 0.3
#define AO_FADE_END 0.4
Fade start and fade end basically determine the radius in which AO is active and the trick is to find the right values to make this radius end just before the fog. Changing the value #define fHBAOAttenuation doesn't seem to do anything for the fog so brought it back to the original values.
Hi guys I found a way to run this preset with ambient occlusion on at 4k without fps drops on a single GTX 970 just edit the setting: define AO_TEXSCALE to 0.25 it will use half the resolution to calculate AO resulting in half the performance hit and the loss of precision is not noticeable. Currently I am trying to remove AO from the fog by changing the value #define fHBAOAttenuation I will report back if I find the right value
The screenshot you've posted about O pop in the distance can be tweaked, however the more fog there is the more noticeable it'll be, some games even show distant land (edges due to AO) that is covered by fog, either tweak it or use a normal SweetFX.
After playing through the game some more I have come to the conclusion that this reshade is just not worth it.
The AO is barely noticeable in most situations and the reshade is so demanding that I cannot go above my native res without dealing with frame rate dips below 30.
I thought I could deal with the jagged edges and shimmering on foliage when at native resolution, but I can't once I see how smooth it looks with 4xSGSSAA.
If only this game used SLI effectively then I could run this reshade while downsampling but currently downsampling is not possible with how demanding this reshade is on a single GTX 970.
Maybe once the new Nvidia Pascal GPUs come out then I will try this reshade again but by then I will be done with this game.
Sigh....found out that certain cutscenes drop to 20fps at 3620x2036.
Those cutscenes are when the camera gets close up to a character's face.
Even at my native res of 2560x1440 I see my GTX 970 spike to 84% GPU usage when those cutscenes appear.
If you wanted to run this reshade at 1920x1080 then I think you would need something like a GTX 680 bare minimum if you wanted to never drop below 30fps.
Found out the 12fps in menu only happens if I am downsampling.
I guess I can live with the low fps if it only happens in the menu.
I can just turn off the reshade while in the menu then enable it when I leave the menu.
I also noticed with that if I open the menu the frame rate drops to 12fps which is weird because it's not even maxing my gpu out when it does so.
I tried the new one out and tried sharpening the image a little to offset fxaa then downsample from a higher resolution.
I find that I had to use a resolution slightly lower than 4k since certain parts dropped below 30fps at 4k with this reshade.
So 3620x2036 is the highest I could go for resolution on a 970 with this reshade enabled to experience no drops below 30fps.
Still not sure if I prefer it over 4xSGSSAA.
The only time I really notice the difference is with more complex geometry in the distance which has AO make it pop.
Kind of like the screenshot in the link below.
http://s11.postimg.org/xn4rgqsfl/To_Z_2.jpg
Yes i've read, by the way you said you used both at the same time, so don't.
There's a new preset with Reshade try it out, but i doubt it'll make a difference.
As for SLI yes it's not fully working, however this game isn't demanding at all, i'd rather have AO over amazing AA because when i'm playing i'm not looking if there's jaggies, if i want to make a gallery i just enable it when needed.
Again try the other preset, but again i doubt you'll see much improvement, other than that if you don't care about AO then just use a normal SweetFX, is that simple, ReShade is mostly because of AO and DoF, even with them disabled i've noticed SweetFX vs ReShade is a lot faster, i know because i make my own presets despite not sharing them, shhhh :p
Did you even read my post where I stated that this reshade is more demanding than 4xSGSSAA.
Also I have 2 970s in SLI but this game does not utilize SLI and when forcing it the game actually runs well below 30fps even at defualt settings.
So SLI is not working correctly for this game.
AO makes much less of a difference than 4xSGSSAA which gets rid of all jagged edges the plagues the game even at 4k res.
Also this reshade is demanding even with AO disabled so something else in it is causing it to be GPU hungry.
You shouldn't be using SGSSAA with this mod, try any of the other Presets (don't forget to fully remove the current one and use the proper version for the others).
I have GTX970 SLI so that's another story, i'd rather have AO than use a powerful AA that will cripple the game's performance to the point i couldn't use AO, but that's up to you ofc.
Take screenshots with SGSSAA and without it and with AO, then compare, up to you. :)
I have disabled the Ambient Occlusion and it still is demanding on my GTX 970.
I use 4xSGSSAA because it gets rid of the jagged edges while other forms like SMAA do not.
With this mod 4k is almost taxing my card too much.
Even at 4k I notice bad jagged edges.
I wish I knew what caused this Reshade to be so demanding because it's not the ambient occlusion.
This reshade is more demanding than 4xSGSSAA is which shouldn't be the case.
More than 40% of my GPU usage goes to this reshade alone not even counting the game itself.
Currently I found another reshade for now.
http://s24.postimg.org/tlogf2rg3/Tales_of_Zestiria.jpg
Based on the screenshots it uses Ambient Occlusion, which makes every game look a lot better, that's why it's so demanding.
Also why do you want to use 4xSGSSAA, use 4K instead or 1440p and a less demanding AA, however smaa should be more than enough.
Not sure what causes this reshade to be so demanding but I am unable to use it with 4xSGSSAA without it going down to 19fps.
Even with Ambient Occlusion disabled.
So I found another reshade instead.
With this on my 970 goes from 9% GPU usage to 48%.
Even without ambient occlusion this reshade is super demanding with GPU usage staying around 40%.
Why is this reshade causing my GPU usage to quadruple in this game?
MasterEffect.h is the preset file. You have to download from the "download preset" button on this page as explained in the step 3. :)
The Dropbox download is missing the "MasterEffect.h" file. Would be better i guess, if this crucial file is included.
Hi i cant get this to work. I get th9is error: 25/10/2015 06:20:00:913 [05464] | ERROR | Failed to compile effect on context 0934E2E8:
D:\Steam\steamapps\common\Tales of Zestiria\MasterEffect.h(1, 1): error X3000: syntax error: unexpected 'unknown'
Having major issues getting this to work. Downloaded the files and tried over and over again. I get the messages that it's working, I even get the toggles to show up, but the effects are absent. I've tried everything I could think of but MasterEffect is not working despite Reshade saying that it is.
I tried getting it to spitscreen even, but nothing works.
Great looking preset mate!
I also enabled SMAA, makes the picture even better.
Here are my SMAA settings, in case you might want to integrate them:
http://pastebin.com/1rSP7575
Works perfectly! Thank you.
When I try your files I get a black screen. Only when I use the home button to disable reshade does the screen go back to normal.
@fREELANCER
Download all needed files from here:
https://www.dropbox.com/s/1gk7ok37wd9cy0h/Zestiria%20ReShade.zip?dl=0
Yes, 1.0.0.915, but it doesn't work.
@negru
Sorry, but i can't help you. I'm not familiar with GeDo.
@fREELANCER
You have to use the dll from the last ReShade.
http://reshade.me/
Sorry, but:
F:\Tales of Zestiria\MasterEffect.h(1, 1): error X3000: syntax error: unexpected 'unknown'
Do you know if I can run GeDoSaTo and Reshde to work together? I like the downsampling of GeDaSaTo but I like the shaders used here but GeDoSaTo only has sweetfx 1.5 built into it. I am assuming I can just diable the SMAA and lumasharpening in reshade and keep everything else on.
V 0.3:
-Reduced fade occlusion distance, now fog effect isn't too ugly.
-Less saturated colors