A collection of post-processing shaders written for ReShade.

Overview

ReShade FX shaders

This repository aims to collect post-processing shaders written in the ReShade FX shader language.

Installation

  1. Download this repository
  2. Extract the downloaded archive file somewhere
  3. Start your game, open the ReShade in-game menu and switch to the "Settings" tab
  4. Add the path to the extracted Shaders folder to "Effect Search Paths"
  5. Add the path to the extracted Textures folder to "Texture Search Paths"
  6. Switch back to the "Home" tab and click on "Reload" to load the shaders

Contributing

Check out the language reference document to get started on how to write your own!

Comments
  • Adds an advanced cinematic Depth of Field shader for Reshade 3.x

    Adds an advanced cinematic Depth of Field shader for Reshade 3.x

    I implemented a cinematic depth of field shader from scratch for Reshade 3.x.

    Features:

    • Near plane bleed into focus plane
    • Advanced focusing helpers with hyperfocal near/far/focus planes blended using colors chosen by the user
    • Fine-grained control over blur in near and far plane as well as blur quality and amount of near-plane bleed
    • Auto focus and manual focus, where auto-focus can be driven by the mouse.
    • Focusing based on real camera aspects like focal length (1-300mm) and f-number (1-22)
    • Highlight extrapolation
    • Resolution stable
    • Circular bokeh only.

    Some screenshots:

    Focus overlay rottr_2018_08_08_13_55_03_492

    Near-plane bleed into focus plane rottr_2018_08_08_13_56_55_540

    rottr_2018_08_08_15_43_11_494

    Highlight extrapolation rottr_2018_08_08_14_49_59_542

    Shader is roughly as fast as Marty's latest qUINT ADOF and in many cases faster (even though it uses 9 passes). I didn't compromise on resolution as I wanted the output to be as good as possible. I cited the papers/presentations I used in the code and commented as much as possible so others might learn from it, as I have learned during the writing of this shader.

    I'm not a shader expert, I know I made mistakes somewhere and likely cut corners where I shouldn't have. Although I marked the shader internally as 'beta' I think it's usable in its current state. If there are bugs or other things I have to fix, please let me know :)

    opened by FransBouma 21
  • Added 5 LUTs to the multilut shader, based on Adobe Lightroom presets

    Added 5 LUTs to the multilut shader, based on Adobe Lightroom presets

    Added 4 LUTs to the multiLUT shader. The texture is now 227KB. I see the original one is optimized for web, no idea why, as 227KB or thereabout is small enough but anyway, this gives the merge conflict according to Github but git doesn't deal well with binaries so it's a replacement anyway.

    They look like this: multi_lut

    and are based on Adobe Lightroom presets.

    I did try an online optimizer, and using compression and lesser colors squeezes 140KB out of the LUT, but should this really be done? as the LUT texture is rather small already and as they're lookup tables I think reducing the # of colors isn't really helping the end result, so I left the texture atlas as is at 227KB. But it's your call :)

    (edit) I've added an additional one from GameVogue, not pictured above.

    opened by FransBouma 14
  • Added Adaptive Fog effect

    Added Adaptive Fog effect

    Adaptive fog is a simple depth-based fog effect which combines depth-based fogging with a bloomed version of the framebuffer to fake light diffusion. It's controllable through mouse coordinates to pick the fog color from the scene. Highly configurable so you can add whatever fog type you like.

    Examples: extreme fog parameters: https://farm2.staticflickr.com/1523/25856171573_45dbb6f64a_o.jpg Fog with more normal parameters: http://abload.de/img/acs2016-04-1613-13-5883lv2.png Fog off, same scene: http://abload.de/img/acs2016-04-1613-14-02mpcnn.png

    opened by FransBouma 5
  • Updated Several Shaders to Reduce Calc's but Keep Functionality

    Updated Several Shaders to Reduce Calc's but Keep Functionality

    Commented out original code, and made copy with "// modified - Craig - (date)" to flag what func's I changed. Flagged the parts of the func's I changed with "// !!! (comment)" explaining what I did. Most of what I changed was procedural: just moving things out of loops that can get calc'ed once instead of over and over. End result calc should still be same, just reduced calculations getting there. The idea was to reduce calculations more, since this is a pixel / fragment shader, which can impact performance more. I experimented with the changes via Daggerfall Unity DREAM which installs ReShade shaders (Bloom.fx being one that it uses). I spent a few years tweaking shader code (did the FUEL: Reshaded mod.. didn't use Reshader.. I was manually tweaking the shaders myself). Decided to stick my nose in the shader files DREAM was using, and noticed places to tweak. Decided to just come here and see if you wanted them incorporated.

    opened by ccritchfield 4
  • Cinematic DOF v1.1.15.

    Cinematic DOF v1.1.15.

    • Better near plane alpha calculations so pointy edges are no longer sticking out and edges of softness is now a bit translucent as it should be.
    • fixed issue with near-in focus elements in near plane which weren't blurred particularly well.
    • Changed default of focal length from 120 to 100mm
    opened by FransBouma 4
  • Update Depth3D.fx

    Update Depth3D.fx

    Depth3D: Harden to help prevent cheating. -=let me know if I can do more=-

    +Cursor Is now Bound to the 3D image only. +Removed Depth Buffer Debug view to keep users from using this to cheat. +Basic VR Compatibility added so that it can be used with VR Desktop apps. +Basic Theater Mode added for Cellphone VR users. +Renamed many items in the UI to help new users with controlling this shader. +New Depth Detection Code. +New Screen Boundary Detection added. +Edge Handling added from SuperDepth3D

    Fixed issues with the UI in Freestyle and automated many functions as I could to reduce UI clutter. The idea was to keep as much of the functionality as possible without sacrificing too much.

    Fixed issues with NV System that was causing a black screen on my Testers PC. This was not easy, I had to remote into a user's pc halfway across the world since I needed someone with an NV Card that was able to help me. Seems like this may be an issue for me with porting my other shaders. Thank you, Durante - aka Dorinte & TheGordinho - aka Gordinho

    The goal of Depth3D to allow users to experience the world of 3D Gaming by adding real depth to your game. -=This shader requires depth access to work=-

    This shader will work with 3D TV, 3D Monitors, and the NEW VR HMDs. The VR Theater experience worth exploring in VR. Here are two free applications for VR Headsets That I seen people use that anyone can try. Virtual Space https://store.steampowered.com/app/703480/Virtual_Space/ Big Screen https://bigscreenvr.com/help/gettingstarted/sbs3d/

    Older games and non-VR games can benefit from being played again with Stereo3D. I have been working on My 3D Shader for some time now and learned how to improve things over time even with limitations. My hope is to share this experience with as many people as possible. I would like this shader to be considered as a standard shader to be used as openly as NV discontinued 3DVision Stereo Software. Since I know many users in the 3D community still enjoy 3D gaming.

    Please let me know if there is anything I can change. Thank you. Image of CrashBandicoot Noted Issues One of the things that bug me with Depth3D It's hard to use for new users. So I will be making better tutorials when I have the hardware to do so for VR.

    opened by BlueSkyDefender 4
  • MXAO output gamma and input color saturation filter

    MXAO output gamma and input color saturation filter

    Default values for the new parameters leave the old look intact.

    Input color saturation filter

    IL looks cool with saturated input colors but when stuff is mostly white then sometimes it can completely overblow the AO effect in the corners. I figured it would be nice to filter out desaturated colors and the results are better now imo. Default value is 0.0 which let's through all the light, at 1.0 bounced light is multiplied by its color saturation.

    input image: MXAO (DX11 Texture2D ReShade) help-Renderer_2019 05 18-21 31 08

    without saturation filter: MXAO (DX11 Texture2D ReShade) help-Renderer_2019 05 18-21 34 20

    with saturation filter: MXAO (DX11 Texture2D ReShade) help-Renderer_2019 05 18-21 31 19

    Output gamma

    Sometimes MXAO might cause unnatural linear looking falloff curves or in other words a darken halo instead of proper AO, and to dampen that I've added independent gamma settings for AO and IL components. Now with gamma = 2.0 for example the halo-look is way less visible and generally the effect looks more natural. The above pictures already use gamma = 2.0 for both AO and IL. Default value for both = 1.0 which means no change compared to previous look.

    I hope you people like it.

    opened by microdee 3
  • Add dither toggle to AmbientLight.fx

    Add dither toggle to AmbientLight.fx

    opened by HekutoruMAC 2
  • Reshade.fxh Emulator Changes

    Reshade.fxh Emulator Changes

    Sat on resubmitting a pull request for a couple of days pending any feedback from people on discord and as such, this should be good to go for a pull. Adds the following preprocessors: RESHADE_DEPTH_MULTIPLIER - Useful for weak emulator buffers. Basically Bolotaur's manual tweak to reshade.fxh (https://reshade.me/forum/general-discussion/5391-release-pcsx2-with-depth-buffer-access) added in as an extra parameter that can vary per profile instead of being per reshade.fxh. When set to 1 it acts exactly the same as before the preprocessor was implemented and is set to that for compatibility by default.

    RESHADE_DEPTH_INPUT_X_SCALE and RESHADE_DEPTH_INPUT_Y_SCALE - Used to scale the depth buffer output by. Below 1 shrinks the depth buffer on an axis and above 1 expands the image (2 doubling the size). By default set to 1 in order not to scale the depth buffer at all (not to break compatibility)

    RESHADE_DEPTH_INPUT_X_OFFSET and RESHADE_DEPTH_INPUT_Y_OFFSET (changed _OFFSET from _OFFSET_SCALE) - Used to shift the depth buffer position on the screen. On the Y axis, Positive numbers = Up, Negative numbers = Down and on the X axis Positive numbers = Right, Negative numbers = Left.

    and thanks to crosire for suggesting the initial Y Scale in the first place on discord. I just added more after that to try and make emulator tweaking less of an ordeal in general. Though these will likely also benefit games with weird size/position depth buffers.

    opened by JJXB 2
  • Prod80 B&W shader addition

    Prod80 B&W shader addition

    B&W Shader with various options to create the image

    • Selection of color to create B&W
    • Controls of Levels, Contrast, Brightness
    • Options to blend with Gaussian blurred self, self, selectable color gradient, original colored image (can select multiple options to blend them all together)
    • Blending options; darken, multiply, linearburn, colorburn, lighten, screen, colordodge, lineardodge, overlay, softlight, vividlight, linearlight, pinlight
    • Chromatic Aberration filter with rotation option and ofsset based on distance to middle
    • Film Grain/Noise filter based on 3D Perlin noise filter
    opened by prod80 2
  • Update EyeAdaption.fx

    Update EyeAdaption.fx

    -major rewrite -simpler, easier to understand parameters -better chroma preservation -less banding artifacts -fixed wrong Fametime <-> adaption speed dependence

    opened by brussell1 2
  • Add new AO and Tonemap implementation

    Add new AO and Tonemap implementation

    New AO and Tonemap implementation.

    AO uses 2d screen space disk sampling, then extracts world-space coordinates of sampled points and calculates occlusion. Using 2d disk allows optimal sampling and makes it trivial to ensure that all points within the disk are equally likely to be sampled through random jittering.

    Tonemap combines Reinhard compression curve with S-shaped contrast curve to achieve a curve shape similar to filmic with a toe and a shoulder, controlled through intuitive parameters.

    opened by KosRud 4
  • Shaders: Update Layer dynamically remove backgrounds

    Shaders: Update Layer dynamically remove backgrounds

    * Add Min/Max Luminance to remove unwanted colors
    * Add Speed ability to blink in and out
    - This is very useful for removing backgrounds for images with no alpha layer
    
    opened by Oncorporation 2
  • Added Pixel.fx and PixelDither.fx

    Added Pixel.fx and PixelDither.fx

    I've written a simple shader to pixelate the screen, and included a variant that also maps the pixelated image to a palette from a texture with ordered dithering.

    opened by robalty 1
  • New Pixelate Shader

    New Pixelate Shader

    A new shader. Mimics the appearance of running at a lower resolution with integer upscaling. Currently not an option for Nvidia or ATI users, who only get blurry interpolated upscaling. Includes the option to blend in a 16 sample average for a smoother result, similar to what you get with photoshop. Good for creating a retro look, or for hiding the flaws that appear when running older games at higher resolutions.

    opened by sYNTHwAVE88 0
A collection of osl shaders

This is a collection of osl shaders that I have found. This collection is intended for use with a version of blender that has been compiled with osl

Shane Ambler 301 Dec 25, 2022
Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++, the architecture and usage like Cobalt Strike

Khepri Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++ Description Khepri is a Cross-platform agent, the archi

Young 1.4k Jan 3, 2023
A personal collection of Windows CVE I have turned in to exploit source, as well as a collection of payloads I've written to be used in conjunction with these exploits.

This repository contains a personal collection of Windows CVE I have turned in to exploit source, as well as a collection of payloads I've written to

null 85 Dec 28, 2022
Cloud Native Data Plane (CNDP) is a collection of user space libraries to accelerate packet processing for cloud applications.

CNDP - Cloud Native Data Plane Overview Cloud Native Data Plane (CNDP) is a collection of userspace libraries for accelerating packet processing for c

Cloud Native Data Plane 35 Dec 28, 2022
A library to develop kernel level Windows payloads for post HVCI era

A library to develop kernel level Windows payloads for post HVCI era

Dmytro Oleksiuk 283 Dec 15, 2022
Blog post on using a custom Bash builtin to parse INI config files

Writing a Bash Builtin in C to Parse INI Configs Why Not Just Parse INI Configs With Bash? Shell languages such as Bash excel at certain tasks, such a

Jesse Hathaway 16 Oct 8, 2022
Violent Fungus is a command and control (C2) software suite, providing red teams post-exploitation persistence and other juicy stuff.

Violent Fungus is a command and control (C2) software suite, providing red teams post-exploitation persistence and other juicy stuff.

Chris Humphries 34 Sep 7, 2022
A demo of the relevant blog post: Hook Heaps and Live Free

LockdExeDemo A demo of the relevant blog post: Hook Heaps and Live Free DEMO Explanation There are 2 compile types. The first is an EXE. The EXE requi

null 158 Nov 28, 2022
null 3 Jan 19, 2022
code for the Proxy DLL example blog post

ProxyDLLExample A simple DLL for Windows that can be used to demonstrate a DLL Proxy Attack. This project uses GCC through MinGW was tested on Ubuntu

Cobalt Strike 50 Dec 26, 2022
Cobalt Strike is a commercial, full-featured, remote access tool that bills itself as "adversary simulation software designed to execute targeted attacks and emulate the post-exploitation actions of advanced threat actors".

COBALT STRIKE 4.4 Cobalt Strike is a commercial, full-featured, remote access tool that bills itself as "adversary simulation software designed to exe

Trewis [work] Scotch 104 Aug 21, 2022
Jaws is an invisible programming language! Inject invisible code into other languages and files! Created for security research -- see blog post

Jaws is an invisible interpreted programming language that was created for antivirus research. Since Jaws code is composed entirely of whitespace char

C.J. May 208 Dec 9, 2022
SKSE plugin for replacing Skyrim SE shaders at launch.

Plugin for SSE Parallax Shader Fix. Requirements CMake Add this to your PATH PowerShell Vcpkg Add the environment variable VCPKG_ROOT with the value a

null 8 Nov 30, 2022
Hydrogen is a tiny GDI Malware, with some bytebeat music, many payloads and some shaders

Hydrogen is a tiny GDI Malware, with some bytebeat music, many payloads and some shaders

Leo Lezury 28 Nov 12, 2022
LLVM IR and optimizer for shaders, including front-end adapters for GLSL and SPIR-V and back-end adapter for GLSL

Licensing LunarGLASS is available via a three clause BSD-style open source license. Goals The primary goals of the LunarGLASS project are: Reduce the

LunarG, Inc. 153 Dec 8, 2022
⚔️ A tool for cross compiling shaders. Convert between GLSL, HLSL, Metal Shader Language, or older versions of GLSL.

A cross compiler for shader languages. Convert between SPIR-V, GLSL / GLSL ES, HLSL, Metal Shader Language, or older versions of a given language. Cross Shader wraps glslang and SPIRV-Cross, exposing a simpler interface to transpile shaders.

Alain Galvan 207 Dec 30, 2022
yariv.h is a single C/C++ header to encode and decode SPIR-V shaders into a more compressed form I've called YARI-V.

YARI-V yariv.h is a single C/C++ header to encode and decode SPIR-V shaders into a more compressed form I've called YARI-V. YARI-V is an alternative e

Neil Henning 31 Dec 8, 2022
Step-by-step guide through the abstract and complex universe of Fragment Shaders.

The Book of Shaders by Patricio Gonzalez Vivo and Jen Lowe This is a gentle step-by-step guide through the abstract and complex universe of Fragment S

Patricio Gonzalez Vivo 4.9k Jan 2, 2023
Making it easier to work with shaders

Slang Slang is a shading language that makes it easier to build and maintain large shader codebases in a modular and extensible fashion, while also ma

null 1.1k Jan 2, 2023