Master Effect Reborn v1.0.340:settings: #define USE_SPLITSCREEN 0 //[0 or 1] Splitscreen: Disables all effects on the right half of the screen to show changes. #define USE_RAYMARCH_AO 0 //[0 or 1] Raymarched AO: Another AO approach, non-physically correct but realistic shading algorithm. Noisy. #define USE_CHAPMAN_LENS 0 //[0 or 1] Chapman's lensflare: Simple lensflare shader with one big halo. #define USE_FXAA 0 //[0 or 1] FXAA: Detects aliased/jagged edges and slightly blurs them, using the FXAA technique. #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_TILTSHIFT 0 //[0 or 1] Tilt Shift: Photographic effect which blurs the screen to simulate focus. Results in game world looking tiny when viewed from above. #define USE_LUT 0 //[0 or 1] Color Lookup Table: Uses a gradient texture to adjust the colors of the image. #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_SSAO 0 //[0 or 1] SSAO: Enables Screen-Space Ambient Occlusion, a non-physically correct but realistic shading algorithm #define USE_MAGIC_DOF 1 //[0 or 1] Magic DOF: Enables intelligent hexagonal DOF shader which can create insane blur radii with almost no fps cost. Expect artifacts. #define USE_PETKAGTADOF 0 //[0 or 1] PetkaGtA DOF: Enables PetkaGtA's Depth of Field, originally of Blender. #define USE_MATSODOF 0 //[0 or 1] Matso DOF: Enables Matso's Depth of Field. #define USE_GP65CJ042DOF 0 //[0 or 1] gp65cj042 DOF: Enables Depth of Field shader, this version is originally by user gp65cj042, ME uses an optimized version by me (Marty McFly). #define USE_EXPLOSION 0 //[0 or 1] Explosion : Scatters the pixels, making the image look fuzzy. #define USE_CARTOON 0 //[0 or 1] Cartoon : "Toon"s the image. #define USE_SHARPENING 0 //[0 or 1] Sharpen: Sharps the image but may increase aliasing #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 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_SINCITY 0 //[0 or 1] Sin City: Effect from the movie "Sin City" - everything else than red is grey. #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. #define USE_CHROMATICABBERATION 1 //[0 or 1] Chromatic Abberation & Lens Distord: Adds some RGB shift in colors and distorts image to look like the "fisheye" effect. #define USE_LENZFLARE 0 //[0 or 1] Lenz Flare: Boris Vorontsov's Skyrim Lensflare with custom offsets, ported to MasterEffect. #define USE_GRAIN 1 //[0 or 1] Grain: Adds some image grain, looks like when a TV has no signal. #define USE_HD6_VIGNETTE 0 //[0 or 1] HeliosDoubleSix Vignette: Adds some advanced vignette (darkening shader) to lead focus to screen center #define USE_BORISVIGNETTE 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] Adds a 1 pixel black border around the screen to compensate white outlining caused by excessive sharpening #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. #define USE_LEIFX 0 //[0 or 1] LeifFX: Simulates use of old 3dfx render engines, read here for more info: http://leileilol.mancubus.net/shaders/ #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! #define RayAO_Samples 32 //[10 to 78] Ray count, higher means better quality but takes much performance. #define RayAO_SamplingRange 0.02 //[0.01 to 0.1] Sampling range, lower means more precise AO. #define RayAO_MaxDepth 0.02 //[0.01 to 0.05] Distance clamping to prevent far objects cause "occlusion" on close ones. #define RayAO_MinDepth 0.0001 //[0.00001 to 0.005] Minimum distance clamping to prevent flat surfaces getting occluded by themselves and to lowe artifacts due to depth sampler accuracy #define RayAO_Scale 1.5 //[1.0 to 4.0] AO resolution scale. 1.0 means fullscreen, 0,5 means 1/2 height 1/2 width etc. #define RayAO_Power 5.0 //[1.0 to 10.0] AO darkening power. #define RayAO_Debug 0 //[0 or 1] Enables raw SSAO output for debugging purposes. //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.5 //[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.1,0.12,0.14) //[-0.5 to 0.5] Offset of RGB components of flares as modifier for Chromatic abberation. Same 3 values means no CA. #define ChapFlareIntensity 15.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. //FXAA #define FXAANum 2 //[2,4,6,8] Number of FXAA passes. 8 ist highest but costs a tremendous amount of performance. #define FXAASearchSteps 16 //[2 to 64] Number of algorithm samples. Performance affecting texture fetches are FXAANum * FXAASearchSteps so be careful with changing both values. #define FXAAEdgeThreshold 0.03 //[0.010 to 0.100] Minimum amount of local contrast to determine pixel as "aliased" #define FXAAEdgeThresholdMin 0.06 //[0.010 to 0.100] Darkness threshold. Trims the algorithm from processing darks. #define FXAASubpixCap 0.875 //[0.5 to 1.0] Choose the amount of sub-pixel aliasing removal. #define FXAASubpixTrim 0.09 //[0.5 to 1.0] Choose the amount of sub-pixel aliasing removal. #define FXAASearchThreshold 0.25 //[0.1 to 0.4] If local contrast is lower than that, pixel is determined as "done". //TILT SHIFT #define TiltShiftAxis 0.0 //[0.0 to 90.0] Rotation of Tilt shift axis. 0.0 means horizontal focus line, 90.0 means vertical. #define TiltShiftOffset 0.5 //[0.0 to 1.0] Position of Tilt Shift axis. 0.5 is screen center. You may adjust this value when changing the axis value. #define TiltShiftCurve 1.0 //[0.0 to 2.0] Power of Tilt Shift blurring. #define TiltShiftMult 5.0 //[1.0 to 7.0] Multiplicator if Tilt Shift blurring. Do not set too high, otherwise the single blur taps are visible. //LENSDIRT #define fLensdirtIntensity 2.0 //[0.0 to 2.0] Intensity of lensdirt. //GAUSSIAN ANAMORPHIC LENSFLARE #define fAnamFlareThreshold 0.985 //[0.1 to 1.0] Every pixel brighter than this value gets a flare. #define fAnamFlareWideness 2.3 //[1.0 to 2.5] Horizontal wideness of flare. Don't set too high, otherwise the single samples are visible #define fAnamFlareAmount 18.0 //[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.28,0.670) //[0.0 to 1.0] R, G and B components of anamorphic flare. Flare is always same color. //BLOOM #define BLOOM_MIXMODE 2 //[1 to 2] 1: Linear add | 2: Screen add | 3: Screen/Lighten/Opacity | 4: Lighten #define fBloomThreshold 0.985 //[0.1 to 1.0] Every pixel brighter than this value triggers bloom. #define fBloomAmount 3.3 //[1.0 to 20.0] Intensity of bloom. #define fBloomSaturation 0.9 //[0.0 to 2.0] Bloom saturation. 0.0 means white bloom, 2.0 means very very colorful bloom. #define fBloomTint float3(0.9,0.75,0.9) //[0.0 to 1.0] R, G and B components of bloom tintcolor the bloom color gets shifted to. //SCREEN SPACE AMBIENT OCCLUSION #define SSAO_Debug 0 //[0 or 1] Enables raw SSAO output for debugging purposes. #define SSAO_Smoothening 0.4 //[0.05 to 0.5] Amount of post blur applied on raw, noisy SSAO. #define SSAO_Samples 32 //[32 to 128] Amount of samples. Don't set too high or shader compilation time goes through the roof. #define SSAO_SmartSampling 1 //[0 or 1] Lowers SSAO sample count with depth. Increases performance by little visual cost. To cover artifacts, enable depth fade so affected areas are less intense. #define SSAO_Range 30.0 //[10.0 to 50.0] SSAO sampling range. High range values might need more samples so raise both. #define SSAO_SampleRangeClipMin 0.01 //[0.005 to 0.05] SSAO sampling min range clip. This should eliminate artifacts from objects that have very low depth difference. #define SSAO_SampleRangeClipMax 0.1 //[0.1 to 0.5] SSAO sampling max range clip. This should prevent objects from occluding others which are far away from each other. #define SSAO_DarkeningAmount 2.5 //[0.0 to 5.0] Amount of SSAO corner darkening #define SSAO_BrighteningAmount 2.0 //[0.0 to 5.0] Amount of SSAO edge brightening #define SSAO_DepthFade 1 //[0 or 1] Lowers SSAO intensity with depth. //"MAGIC" DOF #define fMagicFocusPoint 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 fMagicNearBlurCurve 0.0 //[0.4 to X] Power of blur of closer-than-focus areas. #define fMagicFarBlurCurve 70.0 //[0.4 to X] Elementary, my dear Watson: Blur power of areas behind focus plane. #define fMagicBlurRadius 3.5 //[5.0 to 50.0] Blur radius approximately in pixels. Radius, not diameter. #define fMagicBlurQuality 12 //[1 to 20] 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 fMagicColorCurve 8.0 //[1.0 to 10.0] DOF weighting curve. #define fMagicManualFocusEnable 1 //[1.0 to 10.0] Enables manual focus. #define fMagicManualFocusPlane 0.0 //[0.0 to 1.0] Manual focus depth. 0.0 means camera is focus plane, 1.0 means sky is focus plane. //PETKAGTA DEPTH OF FIELD #define DOF_VIGNETTING 0 //[0 or 1] Enables vignetting (darkens edges). There is a better shader for that in ME but I decided to keep it #define DOF_MANUAL 1 //[0 or 1] Enables Manual DOF focussing #define DOF_AUTO 0 //[0 or 1] Enables Autofocus #define DOF_PENTAGONSHAPE 0 //[0 or 1] Enables Pentagonal DOF shape (bugged, dunno how to fix, better use GP DOF for polygonal shapes) #define focalDepth 2000.5 //[10.0 to X] Depth of focal plane for manual DOF #define focalLength 200.0 //[10.0 to X] Length of focus area for manual DOF #define fstop 150.5 //[10.0 to X] fStop for manual DOF #define vignint 4 //[0 to X] Amount if vignetting applied #define fdofstart 20 //[0.0001 to 0.05] Distance where far blur starts #define fdofdist 1500 //[0.1 to 1.0] Distance where far blur ends #define focus 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 CoC 0.4 //[0.01 to 0.3] table is here http://en.wikipedia.org/wiki/Circle_of_confusion #define namount 0.00004 //[0.00000 to 0.0005] Amount of noise applied. This is no grain, rather some kind of DOF offset jittering #define DOFdownsample 4.0 //[0 to 10] This should downsample the blurred areas but Boris and his unsupported stuff... #define maxblur 2.5 //[1.0 to 10.0] Maximum amount of blurring #define samples 6 //[5 to 30] Samples on the first ring. The other rings around have more samples #define rings 4 //[1 to 8] Ring count #define threshold 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 gain 0.1 //[0.1 to 2.0] Amount of brightening for pixels brighter than threshold. #define bbias 0.2 //[0.1 to 2.0] bokeh bias. #define fringe 0.5 //[0.0 to 1.0] Amount of chromatic abberation #define znear 100.0 //[20 to 200] camera clipping start. #define zfar 3500.0 //[1500 to 8000] camera clipping end. #define feather 1.1 //[0.1 to 2.0] pentagon shape feather. //MATSO DEPTH OF FIELD #define USE_CHROMA_DOF 1 //[0 or 1] Enables Chromatic Abberation. #define USE_SMOOTH_DOF 1 //[0 or 1] Enables smoother DOF #define USE_BOKEH_DOF 1 //[0 or 1] Enables Bokeh DOF. Disabling it screws the shape up, leave it on #define USE_AUTOFOCUS 1 //[0 or 1] Enables Autofocus #define CHROMA_POW 65.0 //[10 to 100] Controls amount of chromatic abberation #define DOF_SCALE 2356.1944901923449288469825374596 //LEAVE IT #define FIRST_PASS 2 //LEAVE IT #define SECOND_PASS 3 //LEAVE IT #define THIRD_PASS 0 //LEAVE IT #define FOURTH_PASS 1 //LEAVE IT #define DOF(sd,sf) fApertureScale * smoothstep(fApertureBias, fApertureCutoff, abs(sd - sf)) //LEAVE IT #define fvChroma float3(0.995, 1.000, 1.005) //Displacement of colors for chromatic abberation. 1.0 is original position #define fBaseRadius 0.9 #define fFalloffRadius 1.8 #define fChromaPower 1.0 #define fvTexelSize float2(1.0 / 1920.0, 1.0 / 1080.0) #define fFocusBias 0.045 #define fApertureScale 0.004 #define fApertureCutoff 0.25 #define fApertureBias 0.07 #define fBokehCurve 8.0 #define fBokehLight 0.012 //GP65CJ042 DEPTH OF FIELD #define NOT_BLURRING_SKY_MODE 0 //[0 or 1] Prevents the DOF of blurring the sky. Probably doesn't work on 0.076 due to SA's stupid depth calculation #define DEPTH_OF_FIELD_QULITY 4 //[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 AUTO_FOCUS 0 //[0 or 1] Enables automatic focal plane detection, for focussing FocusPoint is used. #define TILT_SHIFT 0 //[0 or 1] Enables Tilt shifting. Google it! #define POLYGONAL_BOKEH 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 POLYGON_NUM 5 //[3 to 9] Controls the amount pf polygons for polygonal bokeh shape. 3 = triangular, 4 = square, 5 = pentagonal etc. #define 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 FocusSampleRange 1.00 //[0.0 to 10.0] Autofocus samples 4 additional points around FocusPoint and averages focal plane. This value controls search radius of these 4 points. #define NearBlurCurve 100000.00 //[0.0 to X] Blur curve of objects closer to camera than focal plane. Raise for less blur. Set to insane values for no blur. #define FarBlurCurve 1.80 //[0.0 to X] Blur curve of objects beyond focal plane. Raise for less blur. Set to insane values for no blur. #define DepthClip 120.0 //[10.0 to 1000.0] After this distance depth if max, no matter how far something really is. #define ManualFocusDepth 23.0 //[0.0 to 1000.0] Manual focus distance rougly in meters. Active only when AUTO_FOCUS 0. #define TiltShiftAngle 30.0 //[0.0 to 360.0] Angle of autofocus. I highly recommend to google that effect if you wanna know what it does. #define BokehBias 10.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 BokehBiasCurve 1.60 //[0.0 to 3.0] Power of Bokeh Bias. Raise for more defined bokeh outlining on bokeh shape edge. #define BokehBrightnessThreshold 1.75 //[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 BokehBrightnessMultipiler 1.00 //[0.0 to 2.0] Amount of brightening for pixels brighter than BokehBrightnessThreshold. #define RadiusSacleMultipiler 2.00 //[0.5 to 10.0] Overall blur multiplier, higher results in more blur. Do not set too high, otherwise the single taps will be visible. If that happens, raise quality. #define BokehPostBlur 0.50 //[0.5 to 3.0] Radius in pixels for post gaussian blur after bokeh blur to smoothen shape. #define ChromaticAberrationAmount 0.00 //[0.00 to 0.4] Amount of color shifting applied on blurred areas. //EXPLOSION #define Explosion_Radius 10.5 //[0.2 to 100.0] Amount of effect you want. //CARTOON #define CartoonPower 1.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. //SHARPEN #define SharpBias 0.35 //[0.05 to 1.0] How big the sharpen offset is (used to compare neighbor pixels to get sharpen amount #define SharpStrength 1.0 //[0.05 to 1.0] Amount of sharpening you want. #define SharpClamp 0.5 //[0.2 to 2.0] Clamps the sharpening to a maximum amount to prevent aliasing //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 12.0 //[1.0 to 15.0] Amount of DPX applies on Red color channel #define DPXGreen 12.0 //[1.0 to 15.0] "" #define DPXBlue 12.0 //[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.0 //[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.35 //[0.60 to 0.20] #define DPXBlueC 0.35 //[0.60 to 0.20] #define DPXBlend 0.12 //[0.00 to 1.00] How strong the effect should be. //LIFTGAMMAGAIN #define RGB_Lift float3(1.010, 1.010, 0.990) //[0.000 to 2.000] Adjust shadows for Red, Green and Blue. #define RGB_Gamma float3(0.980, 0.980, 1.030) //[0.000 to 2.000] Adjust midtones for Red, Green and Blue #define RGB_Gain float3(1.000, 0.970, 1.020) //[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.05 //[-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 0.15 //[-1.00 to 1.00] The amount of contrast you want // -- Advanced curve settings -- #define Curves_formula 2 //[1|2|3|4|5|6|7|8|9|10] The contrast s-curve you want to use. //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 2.0 //[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.650 //[0.05 to 1.5] Strength of the color curve altering #define BaseGamma 1.65 //[0.7 to 2.0] Gamma Curve #define Fade 0.0 //[0.0 to 0.6] Decreases contrast to imitate faded image #define Contrast 0.9 //[0.5 to 2.0] Contrast. #define FSaturation -0.14 #define FBleach 0.000 //[-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.4 //[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 //GODRAYS #define GODRAYDEPTHCHECK 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 GodraySamples 128 //[2^x format] How many samples the godrays get #define GodrayDecay 0.96 //[0.5 to 0.9999] How fast they decay. It's logarithmic, 1.0 means infinite long rays which will cover whole screen #define GodrayExposure 1.0 //[0.7 to 1.5] Upscales the godray's brightness #define GodrayWeight 1.25 //[0.8 to 1.7] weighting #define GodrayDensity 1.0 //[0.2 to 2.0] Density of rays, higher means more and brighter rays #define GodrayThreshold 0.9 //[0.6 to 1.0] Minimum brightness an object must have to cast godrays //ANAMORPHIC LENSFLARE #define ANAMFLAREDEPTHCHECK 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 //CHROMATICABBERATION #define ChromaticAmount 0.004 //[0.005 to 0.03] Amount of color shifting #define LensSize 0.5004 //[0.5 to 1.0] some lens zoom to hide bugged edges due to texcoord modification #define LensDistortion 0.00 //[-0.3 to 0.3] distortion of image, fish eye effect #define LensDistortionCubic 0.00 //[-0.3 to 0.3] distortion of image, fish eye effect, cube based //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 LenzIntensity 1.5 //[0.2 to 3.0] power of lens flare effect #define LenzThreshold 0.8 //[0.6 to 1.0] Minimum brightness an object must have to cast lensflare #define LenzDownsampling 5 //[0 to 7] Mipmap level of lensflare texture. Too low value means too sharp lensflare, too high value means filtering artifacts. Sweetspot is 4-6. //NOISE GRAIN #define fGrainMotion 0.014 //[0.0 to 0.1] speed of noise change rate, 0.0 means static noise #define fGrainSaturation 0.05 //[0.05 to 1.0] brightness and chroma difference between the single noise pixels, 0 would mean plain black image added to original image resulting in no noise at all. #define fGrainIntensity 0.08 //[0.05 to 1.0] Power of noise #define GrainIntensityBright 0.03 //[0.0 to 2.0] Intensity of Grain in bright areas. #define GrainIntensityMid 0.35 //[0.0 to 2.0] Intensity of Grain in midtone areas. #define GrainIntensityDark 0.75 //[0.0 to 2.0] Intensity of Grain in dark areas. //HD6VIGNETTE #define LEFTANDRIGHT 0 //[0 or 1] self-explaining, I think. Keep only one of these 3 booleans enabled!! #define TOPANDBOTTOM 1 //[0 or 1] self-explaining, I think. Keep only one of these 3 booleans enabled!! #define CORNERDARKEN 0 //[0 or 1] self-explaining, I think. Keep only one of these 3 booleans enabled!! #define SquareTop 0.58 #define SquareBottom 0.58 #define CircularPower 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 ColorDistortion 0.0 //[0.0 to 5.0] distorts the colors a bit #define ContrastSharpen 11.6 #define VignetteBorder 6.5 //STANDARDVIGNETTE #define EVignetteAmount 2.9 //[0.0 to 5.0] self-explaining variable name #define EVignetteCurve 1.5 //[0.0 to 5.0] self-explaining variable name #define EVignetteRadius 0.8 //[0.0 to 5.0] self-explaining variable name #define VIGNCOLORING 0 //[0 or 1] enables color override, RGB controls below. #define VIGNREDAMOUNT 0.0 #define VIGNGREENAMOUNT 5.0 #define VIGNBLUEAMOUNT 0.0 //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. SweetFX 2.0 Settings: #define USE_SMAA 0 //[0 or 1] SMAA Anti-aliasing : Smoothens jagged lines using the SMAA technique. #define USE_FXAA 0 //[0 or 1] FXAA Anti-aliasing : Smoothens jagged lines using the FXAA technique. #define USE_ADVANCED_CRT 0 //[0 or 1] Advanced CRT : Simulates an old CRT TV display. (has a very high performance cost) #define USE_PIXELART_CRT 0 //[0 or 1] PixelArt CRT : Scanlines for pixel art (high performance cost) #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 : Sharpens the image. #define USE_COLORMATRIX 0 //[0 or 1] Color Matrix : Allows color modification using a user-defined color matrix. #define USE_SEPIA 0 //[0 or 1] Sepia : Sepia tones the image. #define USE_VIGNETTE 0 //[0 or 1] Vignette : Darkens the edges of the image to make it look more like it was shot with a camera lens. May cause banding artifacts. #define USE_FILMGRAIN 0 //[0 or 1] Film Grain : Adds (static) film grain to the image. #define USE_DITHER 0 //[0 or 1] Dither : Applies dithering to simulate more colors than your monitor can display. This lessens banding artifacts (mostly caused by Vignette) #define USE_CUSTOM 0 //[0 or 1] Custom : Write your own shader by editing custom.h, and then enable it here. #define USE_TRANSITION 0 //[0 or 1] Transition : Shows a welcome screen and then transitions to the regularly scheduled programming /*-----------------------------------------------------------. / Transition / '-----------------------------------------------------------*/ #define Transition_time 5000 //[1 to 60000] Milliseconds the transition lasts (1000 milliseconds is 1 second) #define Transition_texture "curtain.jpg" //["filename"] Filename for the texture to use. Put your custom textures in SweetFX/Textures/ #define Transition_texture_width 720 //Image width. #define Transition_texture_height 480 //Image height. #define Transition_type CurtainOpen //Can be "FadeIn", "FadeOut", "CurtainOpen", "CurtainClose" or "ImageFadeOut" /*-----------------------------------------------------------. / SMAA Anti-aliasing settings / '-----------------------------------------------------------*/ #define SMAA_THRESHOLD 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 SMAA_MAX_SEARCH_STEPS 64 //[0 to 98] Determines the radius SMAA will search for aliased edges #define SMAA_MAX_SEARCH_STEPS_DIAG 16 //[0 to 16] Determines the radius SMAA will search for diagonal aliased edges #define SMAA_CORNER_ROUNDING 0 //[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. // -- Advanced SMAA settings -- #define SMAA_EDGE_DETECTION 2 //[1|2|3] 1 = Luma edge detection, 2 = Color edge detection, 3 = Depth edge detection #define SMAA_DIRECTX9_LINEAR_BLEND 0 //[0 or 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 1 //[0 or 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.01 // Threshold to be used in the depth buffer. #define SMAA_PREDICATION_SCALE 2.0 // How much to scale the global threshold used for luma or color edge detection when using predication #define SMAA_PREDICATION_STRENGTH 0.4 // How much to locally decrease the threshold. // -- Debug SMAA settings -- #define SMAA_DEBUG_OUTPUT 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. /*-----------------------------------------------------------. / FXAA Anti-aliasing settings / '-----------------------------------------------------------*/ #define FXAA_QUALITY__PRESET 9 //[1 to 9] Choose the quality preset. 9 is the highest quality. #define fxaa_Subpix 1.000 //[0.000 to 1.000] Choose the amount of sub-pixel aliasing removal. Higher values makes the image softer/blurrier. #define fxaa_EdgeThreshold 0.000 //[0.000 to 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 to 1.000] Darkness threshold. Pixels darker than this are not processed in order to increase performance. /*----------------------------------------------------------. / Advanced CRT settings / '----------------------------------------------------------*/ #define CRTAmount 1.00 //[0.00 to 1.00] Amount of CRT effect you want #define CRTResolution 2.0 //[1.0 to 8.0] Input size coefficent (low values gives the "low-res retro look"). Default is 1.2 #define CRTgamma 2.2 //[0.0 to 4.0] Gamma of simulated CRT (default 2.2) #define CRTmonitorgamma 2.4 //[0.0 to 4.0] Gamma of display monitor (typically 2.2 is correct) #define CRTBrightness 1.2 //[1.0 to 3.0] Used to boost brightness a little. Default is 1.0 #define CRTScanlineIntensity 2.0 //[2.0 to 4.0] Scanlines intensity (use integer values preferably). Default is 2.0 #define CRTScanlineGaussian 1 //[0 or 1] Use the "new nongaussian scanlines bloom effect". Default is on #define CRTCurvature 1 //[[0 or 1] "Barrel effect" enabled (1) or off (0) #define CRTCurvatureRadius 2.0 //[0.0 to 2.0] Curvature Radius (only effective when Curvature is enabled). Default is 1.5 #define CRTCornerSize 0.0100 //[0.0000 to 0.0020] Higher values, more rounded corner. Default is 0.001 #define CRTDistance 2.00 //[0.00 to 4.00] Simulated distance from viewer to monitor. Default is 2.00 #define CRTAngleX 0.00 //[-0.20 to 0.20] Tilt angle in radians (X coordinates) #define CRTAngleY -0.15 //[-0.20 to 0.20] Tilt angle in radians (Y coordinates). (Value of -0.15 gives the 'arcade tilt' look) #define CRTOverScan 1.00 //[1.00 to 1.10] Overscan (e.g. 1.02 for 2% overscan). Default is 1.01 #define CRTOversample 0 //[0 or 1] Enable 3x oversampling of the beam profile (warning : performance hit) /*-----------------------------------------------------------. / Pixel Art CRT / '-----------------------------------------------------------*/ // -- Emulated input resolution -- #define PixelArtCRT_resolution_mode 1 //[1 or 2] 1 = Ratio, 2 = Fixed resolution #define PixelArtCRT_resolution_ratio (1.0/4.0) // #define PixelArtCRT_fixed_resolution float2(320.0,160.0) // // -- Hardness -- #define PixelArtCRT_hardScan -24.0 // Hardness of scanline : -8.0 = soft, -16.0 = medium #define PixelArtCRT_hardPix -24.0 // 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) // Display warp : 0.0 = none , 1.0/8.0 = extreme // -- Type of shadow mask -- #define PixelArtCRT_ShadowMask 3 // 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 // #define PixelArtCRT_maskLight 1.5 // // -- Falloff shape -- #define PixelArtCRT_shape 3.0 // Falloff shape : 1.0 = exp(x), 1.25 = in between, 2.0 = gaussian, 3.0 = more square // -- Amp signal -- #define PixelArtCRT_overdrive 1.25 // /*-----------------------------------------------------------. / HDR settings / '-----------------------------------------------------------*/ #define HDRPower 0.90 //[0.00 to 8.00] Strangely lowering this makes the image brighter #define radius2 0.90 //[0.00 to 8.00] Raising this seems to make the effect stronger and also brighter /*-----------------------------------------------------------. / LumaSharpen settings / '-----------------------------------------------------------*/ // -- Sharpening -- #define sharp_strength 0.55 //[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.0 //[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) /*-----------------------------------------------------------. / Color Matrix settings / '-----------------------------------------------------------*/ // Red Green Blue #define ColorMatrix_Red float3(0.817, 0.183, 0.000) //[0.00 to 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.333, 0.667, 0.000) //[0.00 to 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.000, 0.125, 0.875) //[0.00 to 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 //Adjust the strength /*-----------------------------------------------------------. / Sepia settings / '-----------------------------------------------------------*/ #define ColorTone float3(1.40, 1.10, 0.90) //[0.00 to 2.55, 0.00 to 2.55, 0.00 to 2.55] What color to tint 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 /*-----------------------------------------------------------. / Daltonize settings / '-----------------------------------------------------------*/ #define Daltonize_type 1 //[1|2|3] Type of colorblindness. 1 = Protanopia (missing red spectrum), 2 = Deuteranopia (missing green spectrum), 3 = Tritanopia (missing blue spectrum) /*-----------------------------------------------------------. / Film Grain settings / '-----------------------------------------------------------*/ #define FilmGrain_intensity 0.15 //[0.00 to 1.00] How visible the grain is. Higher is more visible. #define FilmGrain_variance 0.55 //[0.00 to 1.00] Controls the variance of the gaussian noise. Lower values look smoother. #define FilmGrain_SNR 6 //[0 to 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 to 1.00] The average mean of the gaussian noise. Probably best kept at the middle value (0.50) //A sideeffect 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. /*-----------------------------------------------------------. / Vignette settings / '-----------------------------------------------------------*/ #define VignetteType 1 //[1|2|3] 1 = Original, 2 = New, 3 = TV style #define VignetteRatio 1.00 //[0.15 to 6.00] Sets a width to height ratio. 1.00 (1/1) is perfectly round, while 1.60 (16/10) is 60 % wider than it's high. #define VignetteRadius 1.00 //[-1.00 to 3.00] lower values = stronger radial effect from center #define VignetteAmount -1.00 //[-2.00 to 1.00] Strength of black. -2.00 = Max Black, 1.00 = Max White. #define VignetteSlope 2 //[2 to 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 to 1.000, 0.000 to 1.000] Center of effect for VignetteType 1. 2 and 3 do not obey this setting. /*-----------------------------------------------------------. / Dither settings / '-----------------------------------------------------------*/ #define dither_method 2 //[1 or 2] 1 = Ordered dithering (very good and very fast), 2 = Random dithering (different but slightly slower dithering)