How To Add Shaders To Reshade

0 views
Skip to first unread message

Clint Callas

unread,
Aug 4, 2024, 2:01:46 PM8/4/24
to schotinexpy
ReShadeis a generic post-processing injector for games and video software developed by crosire. 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.


ReShade features its very own shading language and compiler, 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, OpenGL or Vulkan: ReShade takes care of compiling them to the right shader model and language (HLSL, GLSL or SPIR-V).


ReShade 5.0 introduced a powerful add-on API that makes it possible to write add-ons for both ReShade and the games it is used with (this is only enabled in the ReShade build with full add-on support, which is unsigned). For more information check out the documentation.


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.

Do NOT share the binaries or shader files. Link users to this website instead.


Hello there! We take your privacy seriously, and want to be as transparent as possible. So: We (and our partners) use cookies to collect some personal data from you. Some of these cookies we absolutely need in order to make things work, and others you can choose in order to optimize your experience while using our site and services. It's up to you!


Additionally, we and our advertising partners store and/or access information on your device and also process personal data, like unique identifiers, browsing activity, and other standard information sent by your device including your IP address. This information is collected over time and used for personalized ads, ad measurement, audience insights, and product development specific to our ads program.


If this sounds good to you, select \"I Agree!\" below. Otherwise, you can get more information, customize your consent preferences, or decline consent by selecting \"Learn More\". Note that your preferences apply only to Tumblr. If you change your mind in the future you can update your preferences any time by using the Privacy link beneath each ad. One last thing: Some of your data may be processed by our advertising partners based on legitimate interests instead of consent, but you can object to that by choosing \"Learn More\" and then disabling the Legitimate Interests toggle under any listed Purpose or Partner on their respective settings pages.


Thankfully there is an online repository of previous ReShade binaries. Unfortunately the appropriate shaders are not distributed with them. However, it is possible to browse github and find the shaders you need.


If anyone else goes to the hard work of using the method above to find the shaders for other versions of ReShade on github (I know 3.0.8 is still very popular), let me know and I will add the direct links to this post.


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.


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.


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.


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:


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.


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.


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.


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.- DH_UBER_RT: All-in-one RT shader (GI, AO and SSR).- dh_rtgi- 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.fxh file from the repo.


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.


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.


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.


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.


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!

3a8082e126
Reply all
Reply to author
Forward
0 new messages