The purpose of this guide is to let you know about the different stuff you can do in reshade and show you why to use it instead of doing post-processing in common editing software.
I have gone through all the effects of every repo I could find and made this list with some (hopefully understandable) explanations. I don't have in-depth knowledge of every shader, so if you think you can write a better explanation, trick, or go into more in detail on how it works, please feel free to make a pull request or contact someone from Framed to update this guide. The same goes if there is a shader in the list that is outdated, if the link is not the newest version or if you want to include more shaders.
If you are not familiar with reshade and want to know about how to use it, shader order, shader duplication, and other tricks be sure to check out the Setting up Reshade guide.
I wrote this guide with the goal in mind of selecting the shaders that can be useful in post-processing screenshots, which means I haven't included CRT shaders or flashlight shaders for example. I also did not include a lot of curves, saturation, contrast, etc. shaders since a lot of them did essentially the same thing (with some exceptions that used very specific algorithms). If you feel like one of these might be worth including, again please do so. In the meantime, I have included most of prods shaders for these types of shaders.
For more info about how each shader works or tips for using them, check the shader's code if there is info about it in the comments, the readme file from the repo the shader belongs to or if there is a thread on the reshade forums presenting the shader.
If you are going to download each shader separately, make sure you download the necessary files (like
.fxh header files) and textures that come along with it.
These are the shaders that I consider essential to screenshotting. If you have to leave with something from this list, it is among these.
One of the advantages of using reshade over other post-processing software (besides the obvious real-time post-processing) is the use of the depth buffer. With a depth buffer, effects like depth of field become second nature whereas if you would want to apply said effect with another software, not only will it take way more time, it would probably not look as good as it does with reshade.
- CinematicDOF: Based on various scientific papers and the most "realistic" and most used Depth of Field shader. It has near-plane bleed, configurable highlights, high performance, easy-to-use focusing code, and great bokeh. Please see the Full guide on this site.
- LightDOF: Doesn't tank performance and easy to configure.
- quintDoF: A Depth of Field shader that aspires to give movie-quality bokeh blur to video games. It provides a very high-quality DoF effect with artistic controls, ideal for both screenshots and gameplay. The bokeh discs it produces can be polygonal, circular, and anything in between. It also features a disc occlusion feature (where the bokeh discs look like a boolean intersection between 2 circles) and chromatic aberration at bokeh shape edges. This is done by a unique gradient-based algorithm that has a very low constant cost ignorant of scene complexity or blur settings. To prohibit focused areas from bleeding their color into blurred areas the shader employs a highly sophisticated solution that is capable of mitigating this artifact completely without the overhead of common solutions that also mostly underperform.
- qUINTPhysical DoF: Marty's new dof shader with really nice bokeh highlights.
- Deband: Have you ever seen gradients that don't seamlessly blend into each other? That's called banding. It happens when there aren't enough tones available to recreate a seamless gradation. This shader is meant to fix that. Be sure to grab the one linked since it has an option to adjust the depth of where the shader should act (since most of the time it should be applied only in backgrounds). Deband is part of the official Reshade shaders the Reshade installer will install for you always.
- qUINT_deband.fx: Fixes blocky color gradients and breaks up crushed texture detail.
Maybe it's not right to call these shaders essentials, but I find that, if used right, these shaders can greatly increase a composition. What they do is basically simulate points of light in the scene, and they light up the scene while also drawing shadows. Extremely useful for giving more depth to portraits, but keep in mind that, given that it uses the depth buffer to "understand" the scene and lighting correctly, it won't behave exactly like vanilla, in-game light:
- NiceGuy Lamps: Add up to 4 point lights with customizable color, brightness, location, optional fog, and optional screen space shadows with customizable soft shadows. Fog intensity, Specular reflection intensity, and Specular reflection roughness are fully customizable. Reflection uses GGX (all credit to LVutner) and Diffuse light uses Lambert model. Fog is fake.
- Marty's ReLight: Marty's spin on the concept. The shader benefits a lot with some smooth normal algorithms that make the lights look basically vanilla. And given Marty's years of experience with RTGI you can expect this to have as much, if not more, work behind how the lights should behave.
Witcher 3 by barkar-b
A Plague Tale: Requiem by Dread
Shaders that are useful for composition and cropping.
- AspectRatioComposition: Adds black bars to simulate the desired aspect ratio for later cropping. Plus you can display fractions with the black bars to guide you through the rule of thirds or the rule of fifths for example.
- AspectRatioMultiGrid: Same capabilities as AspectRatioComposition with the addition of multiple types of grids that you can use at the same time, the capability of inverting the color of the grid to better see it, creating a list of aspect ratios to easily select from, and more.
- AspectRatioSuit: Like the previous shader but it allows you to have multiple aspect ratio delimiters at the same time, so you can evaluate all of them at once. It might be difficult to understand each possible AR with all the lines on the screen, so make sure to edit the
ASPECT_RATIO_SUITE_VALUESdefinition to delete or add aspect ratios.
- Aspect Ratio: If the images get stretched this can help fix it. Would recommend using another post-processing software instead of this (or cropping the shot instead of using an AR the game doesn't accept), but the possibility is there if you want.
If you want a histogram while shooting and editing in reshade. Same as you would find in photoshop or lightroom.
- Histogram: Shows a histogram on screen.
- HistogramCompute: Same shader as before but faster (does not work in DX9).
A collateral effect of hotsampling is that if the game is rendering in high definition, you will only see part of the game on your screen. These shaders render the game in a thumbnail preview/picture-in-picture view so that you can see the whole game window on your monitor. It is also useful for looking at the screenshot as a thumbnail to see how well it reads and looks in a smaller size, and what probably most people will see when they first stumble upon your shot.
- HotsamplingHelper: As explained above, draws a scaled-down version of the image onto the screen. The size and position of the overlay are configurable.
- FreezeShot: This one is similar to the previous shader whilst also adding the capability to rotate the thumbnail, so it's useful for seeing how a vertical shot will look after rotating it (in the case you are not using a vertical AR). The shader has more options that are irrelevant to the purpose stated here and will be touched on later. Be sure to turn on the Black Background option and use a value of 1 in the Layer Depth value for an easier hotsampling experience.
MagnifyingGlass: Sometimes you may want to zoom in on a specific part of the screen to check stuff like banding for example. This shader allows you to do so.
I am using quotes since the title can be deceptive. What I mean by it is that these shaders can be used in most situations since they can improve how a scene looks, especially in old titles. It's worth pointing out that most of these shaders are situational, so you will have to ask yourself if the scene benefits from the use of a specific shader. But before listing the shaders I will first introduce you to one that can be useful in conjunction with the rest.
- ReVail: Similar to the dehaze option in photoshop, except that it also allows you to reintroduce the haze afterward. Super useful with ambient occlusion or raytracing effects to help them look native. Put the shaders that you don't want to see on top of smoke/fog/mist between the
Revail_Bottomtechniques. RadiantGI has native revail support so it doesn't need it.
You are probably familiar with the term, if not Anti Aliasing helps reduce the "sawtooth" you see in games. Even if the game has an anti-aliasing option, these shaders can help you in situations where the game anti aliasing breaks the depth buffer (MSAA for example) or where said anti-aliasing implementations are old. These shaders use different implementations of different types of Anti Alisings; SMAA tends to give great results, but feel free to try them and see which one suits you best.
- SMAA: Anti-aliases the image using the SMAA technique - see http://www.iryoku.com/smaa/. Be sure to download the .fxh file as well.
- DLLA_plus: Directionally Localized Anti Aliasing plus.
- NFAA: Normal Filter Anti Aliasing.
- Temporal AA
- BIAA: Bilinear Interpolation Anti Aliasing. Based on the temporal AA "Epic Games" implementation.
- TAA: Another TAA implementation.
- HQAA: Hybrid high-Quality Anti-Aliasing. Smooshes FXAA and SMAA together as a single shader with customizations designed to maximize edge detection and minimize blurring.
- CMAA2 (LordOfLunacy implementation)
- TFAA: Make sure to follow the instructions in the readme.md
- FAAA: Based on Timothy Lottes' PC FXAA v3.
You probably stumbled across the term. Raytracing technology aims to simulate light and shadows more precisely. Even tho a game implementation of this kind of technology would be more accurate than a reshade implementation, most games don't do ray tracing within them and so these shaders can be useful, especially in old titles.
- Marty's RTGI: With a lot of work put into it, Marty's RTGI is the way to go. You might need to learn how to configure it.
- RadiantGI: BlueSky implementation of global illumination plus subsurface scattering. Can be used in conjunction with Marty's RTGI, but it also works very well on its own. It would require you to learn how to use it.
- NGLighting: Remember to pick up the
NGLightingUI.fxhfile from the repo.
Ambient occlusion aims to simulate shadows based on the scene geometry. As with ray tracing, it's often very useful with old titles.
- GloomAO: Screen Space Directional Occlusion.
- qUINT_MXAO: Algorithmically similar to latest-gen techs like GTAO and CACAO, although it features some relatively unique features such as indirect illumination, smoothing filter for depth-derived normal maps, double-layer option at no additional cost and others. Highly configurable, easily tweakable.
- qUINT_MXGI: Basically MXAO with added GI, or RTGI without the raytracing. Planned to be merged with MXAO v2 at some point, currently, they're separate shaders.
- qUINTMXAO v2: Compute-based version of MXAO, runs 2-4x faster.
- SSAO (HBAO, RayAO, HBAO, SSGI, AO_SAO, SSAO): The SSAO shader has all the ambient occlusion techniques in parenthesis.
- qUINT_ssr: Adds reflections to the scene, using the data that is already available in the image. As a Screen-Space technique, it suffers like all similar implementations from the fact that nothing outside the screen can be reflected. It also cannot distinguish between reflective and non-reflective surfaces, so it will just cover everything with a reflection layer.
- ReflectiveBumpMapping: previous version of qUINT_ssr (or so I understand). It's here for archival purposes, use the shader if possible.
- Scatter: Add roughness to qUINT_SSR or to denoise DH_RTGI (screenshot comparison). If you want to do both, make a copy of the shader file so you have two pairs of it in your stack. DEPRECTAED: using NiceGuy Lighting instead is strongly recommended.
As they sound, bloom shaders are used to imitate bloom in a scene.
- AmbientLight: Bloom mixed with eye adaptation and lens dirt. The linked version of the shader has a toggle for using dither, since having it turned on can produce artifacts. It's highly recommended to turn off the dither. If the shader gets updated you won't find the latest version in this link.
- BesselBloom: Instead of using the typical Gaussian filter used by bloom, an approximate is implemented instead of using a 2nd order Bessel IIR filter.
- PD80_02_Bloom: Bloom shader based on scene luminosity. It uses a Gaussian blur applied on the fly. It blends the bloom with the rest using the Screen blending method.
- qUINT_bloom: Filter that adds a glow around bright screen areas, adapting to the current scene brightness.
- PPFX_Godrays: If you want to add godrays to a scene then this shader can help you with that.
- TrackingRays: Similar to the previous shader but the orientation of the rays is automatic.
If the shaders in the "graphics improvement" section were situational, these are even more. They would probably require some fiddling but use them if you are going for a very specific look. In some of them, instead of explaining what they do, I will be dropping screenshots because it would be easier to see than read about them.
- AdaptiveFog: Used most for creating a color background, or putting a subject in shadows. It also has some bloom settings for when the fog starts.
- Adaptive Rimlight: Another implementation of rimlight.
- Anime4k: Port of UnityAnime4K, used for upscaling textures, specifically anime-style images.
- Atmospheric Density: A more faithful fog simulation. You will need MShadersAVGen.fxh and MShadersBlendingModes.fxh. Alternative link in TreyM discord server.
- CanvasFog: Used most for drawing colored shapes in the game, but it has a lot of room for creativity. More explanation on how it works on the repo's readme.
- ChannelMixer: Simple channel mixer shader for mixing or swapping image channels, could be useful to get different black and white images.
- ColorIsolation: This shader lets the user configure the preferred hue and desaturates everything else. It is also possible to desaturate only the user-defined hue. It also has a nice debug option to see the interaction of the shader with the colors.
- ColorSort: Compute shader, which sorts colors from brightest to darkest.
- ComputeGravity: Compute shader version of Gravity.fx. It has a better color selection, and inverse gravity option. It runs slower on normal resolution, but a lot faster than Gravity.fx on high resolution, so you can downsample/hotsample without issues. Don't forget to include the texture inside the Textures folder!
- DepthHaze: This effect is a simple depth-blur that makes far-away objects look slightly blurred. It's more subtle than a Depth of Field effect as it's not based on a lens, but on how the human eye sees far away objects outdoors: detail is lost and the farther away an object, e.g. a tower, the less sharp the human eye sees it. Modern render engines tend to render far-away objects crisp and sharp which makes the far-away objects too sharp to look natural. Additionally, Depth Haze also includes fog based on depth and screen position, which is configurable through parameters. It currently fogs more around the middle line of the screen and gradiently lowers the fog intensity towards the top/bottom of the screen, to avoid fog in the sky. Keep in mind that the blur used in the shader is outdated compared to DoF shaders.
- DirectionalDepthBlur: Can be used for more abstract backgrounds, but with the "focus point targeting strokes" option it can also be used to simulate movement with slow shutter speed. Keep in mind that it can be a very heavy shader when hotsampling.
- DisplayDepth: This is a shader mostly useful for checking if the depth buffer is working as intended, BUT it can also help with simple silhouette shots.
- Droste: The "Droste Effect" recursively warps space into a spiral pattern.
- DoubleExposure: As the name suggests, it's used to do double exposure shots.
- Emphasize: Allows you to make a part of the scene pop out more while other parts are de-emphasized. This is done by using the depth buffer of the 3D engine, and by default, it desaturates the areas which are not 'in focus'. Additionally, you can specify a blend color that allows you to e.g. make what's not important much darker so the not-in-focus parts of the scene are way darker than the area which should be emphasized which is left as-is.
- Flip: Invert the orientation of the image in the x or y-axis. Can be used interestingly with masks.
- FreezeShot: Can be used to grab a subject from the game, freeze it and carry it into another scene, but keep in mind that the frozen image will be lost if reshade is restarted (for example, after hotsampling).
- Gravity: Let's pixels gravitate towards the bottom of the screen inside the game's 3D environment. This shader consumes an insane amount of resources on high resolutions (4k+), so keep this in mind as a warning. Don't forget to include the texture inside the Textures folder! About the texture: You can replace it with your own texture, if you want. It has to be 1920x1080 and greyscale. The brighter the pixel inside the texture, the more intense the effect will be at this location in-game.
- Halftone: Attempts to emulate an amplitude-based CMYK halftoning similar to that of offset printing.
- Height fog: Inserts a fog plane in the 3D scene which you can use to add a volumetric fog layer, which is fully configurable. See the guide on this site.
- kMirror: Mirroring and kaleidoscope effect.
- MagicBorder: If you want to add borders in your shot but want the subject to hover over said border then try this shader.
- Monocular_Cues(Depth_Cues): (Image Enhancement by Unsharp Masking the Depth Buffer)
- NormalMap: It allows the use of a normal map texture to be applied on screen. You can find one of these on the internet, but it's often better to make your own with software like Substance Designer.
- PatternShading: Applies a pattern to a black and white version of the scene. Example in the shader repository readme.
- PD80_04_Color_Isolation: Sames as the previous Color Isolation shader.
- PD80_04_Magical_Rectangle: Create a rectangle, change dimensions/rotation, change color, change position in 3D space, blend with depth, blend with colors, create gradients, soften edges, create game mist, remove game mist, create flares, manipulate contrasts/brightness, create light leaks, and so on.
- PD80_06_Depth_Slicer: Similar to AdaptiveFog but with blending mods and other a couple more options.
- RealLongExposure: Enables you to capture changes over time, like in long-exposure photography. If you filter by brightness, it will have the most similar effect to real-world photography, but try Freeze on a static scene with the brightness turned off and not moving the camera to receive the most interesting results. Keep in mind that having low fps (that being because of hotsampling or using expensive shaders for example) would decrease the number of samples the shader makes, thus resulting in a low-quality result. If the tools that you are using to shoot a game allow you to control the velocity of the game then slow down said velocity for better results. It can also be used when you have a jitter depth buffer (sometimes caused by TAA or other noisy effects like SSR or raytracing) to accumulate and produce a cleaner image.
- Rim: Aims to reproduce a Rim Light effect using the game's depth buffer.
- ThreeColorGradient: Like the name suggests it applies 3 gradients to the scene with a couple of blending modes.
- TiltShift: Useful for simulating tilt-shift photography, altho with the lack of depth controls and an outdated DOF method its recommended to use CinematicDOF and try to recreate the effect with it.
- TinyPlanet: Its purpose is to create a "tiny planet" image based on what's shown on screen. Useful if you don't know/want to do the proper work in Photoshop or similar post-processing software.
- Trails: Similar brightness results to RealLongExposure with improved smoothness and depth effects.
- Volumetric Fog V2
- qUINT_frametool: If you want to hotsample with a background blur similar to the one "DirectionalDepthBlur" makes then this one does the job.
- ZigZag: It distorts the image around a point, useful for creating abstract shapes. And since it has an animation opinion, you can get some interesting results in combination with reallongexposure.
- Oilify: Applies a Kuwahara painty filter using an optimized method for extracting the image mean and variance separably.
- BilateralComic: Cel-shading shader that uses a combination of bilateral filtering, posterization, and edge detection to create a comic book style effect.
- Cartoon: Creates an outline effect that makes the image look more cartoonish.
- Comic: To achieve this look this shader uses different sorts of (configurable) edge detection methods on the color and depth information of the frame. Also, every edge layer can be individually faded in and out with distance. After all the layers are combined the resulting layer can be masked based on the luminosity and saturation of the original color (which can be useful to mask the game's UI).
- dh_anime: Outlines and some color stuff.
- MeshEdges: More outlines with some color regarding the outlines themselves and the possibility to use a plain color with the outlines on top.
- LumaLines: Draws an outline depending on the difference in luma between the pixels.
- kContour: Contour line effect
Used to screenshot using pixels with an alpha value of 0 depending on the depth of the shot. You will probably need to use the latest version of reshade for these.
Shaders used for rendering an image in-game (like changing the sky). Can be used in combination with shaders like DepthAlpha and CuttingTool_Depth very well.
- StageDepthPlus: Allows manipulating an image, letting you resize it independently from the x and y-axis, positioning it, rotating it, using depth for masking and the ability to use different blending modes. You can also use a depth map alongside the texture image to interact with the game's depth.
- Posterize: You can only get this shader in the pack provided by nvidia
- Nostalgia: Tries to mimic the look of very old computers or console systems.
If you are familiar with photoshop or lightroom you probably know what masking is. If not, masking is referred to as the act of selecting what parts of the screen you want some editing to take effect, often represented by white and black pixels for (white = the effects in between the CanvasMask shaders will be visible there, black= those effects won't be visible). The shaders that are in between the "Before" and "After" techniques of each mask shader will be masked out of the scene.
- Cobra Mask: A color masking shader designed to be used with the ColorSort and Gravity shader, to apply a Mask with similar settings to the scene.
- CanvasMask: Use the same controls as CanvasFog for masking purposes (linear, circle, rectangle gradients with depth interaction).
- ColorMask: Use the color and luma of the image to create a dynamic mask.
- PD80_06_Luma_Fade: Use the scene luminance to mask shaders.
- UIMask: Simply uses an image to mask effects.
- UIMaskCreator: Not exactly a masking shader, but this shader makes it possible to quickly create a UI mask in-game without making use of a photo editor by directly drawing over the UI, so that it can then be saved with a screenshot and used with a shader like
So this section has shaders that are similar to what you could expect from editing software like Lightroom or Photoshops camera raw. Some of these implementations may be different from what you might find in these kind of software, so even if at first glance it may look like these shaders can be seen as "stuff you can do in post after taking the shot" it might be worth trying them anyway.
If you want a detailed explanation about what most of prods shaders do make sure to check his reshade forum thread.
- ContrastStretch: A histogram-based contrast stretching shader that adaptively adjusts the contrast of the image based on its contents.
- cLuminance: Various grayscale algorithms.
- LocalContrastCS: A histogram-based contrast stretching shader that locally adjusts the contrast of the image based on the contents of small regions of the image.
- PD80_01A_RT_Correct_Contrast: Automatic contrast correction when it finds a need to correct in the current scene. It works by adjusting white/black points and does not change color. Works like Photoshop "Auto Contrast".
- PD80_01B_RT_Correct_Color: Removes the tint of a scene. Works exactly the same (with additional methods/options) as Photoshop "Auto Tint".
- PD80_03_Color_Space_Curves: : Ability to apply contrast curve in luminance channel of LAB*, HSL, HSV, and RGBW color spaces. This would avoid shifts in saturation when adjusting contrast. Also comes with a saturation slider to apply saturation using any of those color spaces.
- PD80_03_Curved_Levels: It has a preprocessor definition to show the curves on your screen so you know exactly what you are doing.
- PD80_03_Levels: It has a switch to apply the effect based on depth. When depth is enabled through the UI, you can apply different settings against the foreground and background, and you are able to set where the foreground and background start and ends.
- PD80_04_Color_Balance: This effect will let you manipulate the color balance in shadows, mid-tones, and highlights. Much like traditional photo editing tools (Photoshop or else). You can shift coloring in individual channels to your liking.
- PD80_04_Color_Gradients: This lets you apply a color gradient to the image while preserving luminosity. You can pick the colors in the UI and determine the balance between shadows and mid-tones. It will preserve highlights.
- qUINTClarity: Image enhancement shader, makes things "clearer" (might be similar to the texture slider in camera raw or lightroom).
- qUINT_lightroom: Highly comprehensive set of color grading filters, modeled after industry applications such as Adobe Lightroom, Da Vinci Resolve and others. It allows for minuscule adjustments of the scene colors with the ability to embed the current preset into a 3D LUT - a small image file that contains all color grading that the LUT.fx of the ReShade repository can easily load and apply. This both saves performance as reading a LUT is faster and it also protects your work as you only need to deploy the LUT along with your preset so you can keep your configuration private.
- qUINTReGrade: Colour correction suite, successor to qUINT Lightroom, includes Solaris (bloom shader) & Insight (image analysis tool).
- BilateralCS: Adaptive IIR filter for sharpening and blurring.
- CAS (ContrastAdaptiveSharpen): AMD FidelityFX Contrast Adaptive Sharpening. Sharpens the image, making details easier to see.
- cShard: Simple unmask sharpening.
- SharpContrast: This sharpen filter uses a Kuwahara filter to create an unsharp mask.
- Smart_Sharp: Depth Based Unsharp Mask Bilateral Contrast Adaptive Sharpening
- qUINT_sharp: Attempts to sharpen texture detail only while avoiding common sharpen artifacts such as halos around strong edges, excessive aliasing and flickering. It uses the depth buffer to enhance the detail and mask areas that would otherwise produce oversharpening.
- DPX: Makes the image look like it was converted from film to Cineon DPX. Can be used to create a "sunny" look.
- FilmicPass: Applies some common color adjustments to mimic a more cinema-like look.
- Technicolor: Makes the image look like it was processed using a three-strip Technicolor process - see http://en.wikipedia.org/wiki/Technicolor
- Yet Another Chromatic Aberration: It operates in HDR, is the only shader with a correct spectral gradient which is the result of lots of MATLAB work, and it also supports achromatic and apochromatic aberration, which is what you get with current-gen camera lenses.
- Film Workshop: Emulates the process of real-world film capture, scanning & grading, and printing process workflow of traditional motion picture filmstock for cinema. For more info on the shader see the info displayed on the shader UI or TreyM tutorial on how to use it. To download head out to TreyM discord server. You may also want to download the film workshop expansion.
- NativeEnhancer-FE: A Film emulation using LUT with various overlays and textures to mimic an old film looks. A lot of stuff.
- PandaFX: Applies cinematic lens effects and color grading, bloom for example.
- FGFXLargeScalePerceptualObscuranceIrradiance: The Large Scale Perceptual Obscurance and Irradiance is a post-processing effect that attempts to inject obscurance and irradiance in the scene at a large scale (low frequency).
- Glamayre_Fast_Effects Implements fast FXAA, intelligent sharpening, fast ambient occlusion, subtle depth of field, fake global illumination, and bounce lighting in a single shader. For more info, comparison shots, and troubleshooting check the readme file on the shaders repository.
- LensDiffusion: To download it head out to TreyM discord server.
LUTs are a very important part of doing post-processing, that being for screenshotting or just playing. For a more detailed look at what LUTs are and how to make your own go to this guide. If you want a great source of LUTs head over to gordinho MLUT shader repo. Below I would list some of my favorites.
I would like to also point out to prods LUTS (make sure to download the textures as well):
If you want to test any MLUT shader in an image file try out this lut tester Fraulk made.
And that's it, I hope I convinced you to start using reshade or presented you with a shader you didn't know. If you want to add more please write an issue on the sites repo, or create a pull request adding it!