Skip to content

Repository files navigation

ReShade

ReShade is an advanced, fully generic post-processing injector for games and video software. 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 and all the tools to make it happen.

Building

You'll need both Git and Visual Studio 2015 or higher to build ReShade. Latter is required since the project makes use of various C++11 and C++17 features. Additionally a Python 2.7.9 or later (Python 3 is supported as well) installation is necessary for the gl3w dependency to build.

  1. Clone this repository including all Git submodules
  2. Open the Visual Studio solution
  3. Select either the "32-bit" or "64-bit" target platform and build the solution (this will build ReShade and all dependencies)

Contributing

Any contributions to the project are welcomed, it's recommended to use GitHub pull requests.

License

All the source code is licensed under the conditions of the BSD 3-clause license.

File Overview

PathDescription
/depsDependencies
/resResources
/setupSetup tool source code
/sourceReShade source code
/source/d3d9Direct3D 9 hooks and runtime implementation
/source/d3d10Direct3D 10 hooks and runtime implementation
/source/d3d11Direct3D 11 hooks and runtime implementation
/source/dxgiDXGI hooks
/source/openglOpenGL hooks and runtime implementation
/source/windowsNetwork and window management hooks
/source/constant_folding.cppVarious rules that fold incoming constant abstract syntax tree expressions
/source/directory_watcher.cppClass which notifies on file modifications
/source/filesystem.cppHelper functions for file and path management
/source/hook.cppFunction hooking
/source/hook_manager.cppManagement of the different hooking methods and automatic hooking based on DLL export matching
/source/ini_file.cppINI file format parser
/source/input.cppMouse and keyboard input management
/source/lexer.cppHand-written tokenizer for ReShade FX code
/source/log.cppLogging
/source/main.cppDLL main entry point
/source/parser.cppHand-written recursive descent parser for ReShade FX code
/source/preprocessor.cppC-style preprocessor for ReShade FX code
/source/resource_loading.cppWin32 DLL resource loader
/source/runtime.cppMain code interface managing the in-game user interface, effects etc.
/source/runtime_objects.cppConstant buffer read/write and data type conversion
/source/symbol_table.cppSymbol table managing functions and variables while parsing ReShade FX code
/toolsAdditional build tools

About

An advanced, generic post-processing injector for games and video software.

Resources

Stars

8 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages