Imagine your favorite game with ambient occlusion, real depth of field effects, color correction and more. ReShade exposes an automated and generic way to access both frame color and depth information (latter is automatically disabled during multiplayer to prevent exploitation) and all the tools to make it happen.

The possibilities are endless! Add advanced depth-edge-detection-driven SMAA antialiasing, screen space ambient occlusion, depth of field effects, chromatic aberration, dynamic film grain, automatic saturation and color correction, cross processing, multi-pass blurring ... you name it.

Note: ReShade supports all of Direct3D 9, Direct3D 10, Direct3D 11, Direct3D 12, OpenGL and Vulkan. A computer with Windows 7 SP1, 8.1, 10 or 11 and .NET Framework 4.6.2 or higher installed is required.

ReShade features its very own shading language and transcompiler, called ReShade FX. The syntax is based on HLSL, adding useful features designed for developing post-processing-effects: Define and use textures right from the shader code, render to them, change renderstates, retrieve color and depth data, request custom values like timers or key states, ...

And that's not it. Write your shaders just once, they'll work everywhere, regardless of your target being Direct3D or OpenGL: ReShade takes care of compiling them to the right shader model and language.

Open Source

As of January 1st 2017, ReShade is open sourced under the terms and conditions of the BSD 3-clause license! You can help development with your own contributions via the official GitHub repository.

Use preset files (*.ini) that can be created from ReShade's in-game user interface to share your configurations.
ReShade loads all presets placed in the game directory automatically (both *.ini and *.txt).
Do NOT share the binaries or shader files. Link users to this website instead.

Quick start: Run setup tool > Follow instructions > Close setup tool > Start game > ... > Profit | Troubleshooting

What's New

  • Added reset button for effect preprocessor definitions
  • Added effects state synchronization to built-in effect runtime synchronization add-on
  • Added separate finish button to setup tool
  • Fixed crash in Vulkan
  • Fixed technique/variable toggle keyboard shortcuts not registering in some rare cases
  • Fixed deadlock when enabling effect runtime synchronization
  • Fixed user defined names prepended with underscore clashing with same names without underscore in generated GLSL
  • Fixed "reshade::api::device::get_resource_view_desc" returning invalid description in D3D12 when view was created with defaults
  • Changed "reshade::get_config_value/set_config_value" add-on API to support reading/writing array values
  • Changed save button to not clean up preset when auto save is disabled
  • Changed MSAA depth buffer support to include copying during frame