Jump to content
DarthKadra

ReShade (Depth Buffer Enabled) for Warframe

Recommended Posts

Let me start by explaining what ReShade is for those who are unfamiliar with it. (If you are well acquainted with ReShade - skip to the bottom) Here's a quote from the official website:

Quote

ReShade is an advanced, fully 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.

In simple terms it allows you to improve a game's graphics, or simply apply and adjust some fancy or weird effects on the fly in-game. 

Here is a simple video demonstration of how ReShade works (Spoiler Alert for those who have not completed The Second Dream). The video quality does not really allow you to catch all the details but it certainly is enough to understand the principles of operation and what you can do with the game's visual output with very little effort.

Spoiler

 

What this build of ReShade is and why you would want to use it over the original:

Slightly edited code of the original ReShade that I've built for my own use. Codename Debbie. Debbie comes from DBE which stands for Depth Buffer Enabled.

The reason for using it lies in the same quote above: 

Quote

way to access both frame color and depth information (latter is automatically disabled during multiplayer to prevent exploitation)

This means that shaders that can potentially drastically improve game graphics (like MXAO, Depth-of-Field, Reflective Bumpmapping etc.) cannot function because they depend on having access to the depth buffer. In respect of Warframe this means that those shaders will not work outside your Obriter or hubs, unless you are playing solo, i.e. they will be disabled the moment you load into any mission with a squad. This build will let you use those shaders regardless of network activity.

Disabling depth buffer access is originally done to prevent potential exploits in competitive online games and possible resulting restrictions on the use of ReShade by online game developers. The most obvious exploit for competetive online games that involves depth buffer would be a wallhack. However, it would require a good amount of expertise on the part of the user to make use of that access to depth buffer because simply having ReShade with access to depth buffer doesn't really do anything by itself. And people who have the expertise to exploit that don't really need ReShade to do it in the first place.

Is it safe to use?

As far as I'm aware, DE stated that ReShade is officially accepted. I don't see how access to depth buffer could ever be exploited in Warframe outside of PvP, but that is such a small niche and let me repeat myself - it requires expertise - and if a person can do it, that person doesn't need ReShade for that (and that person can most certainly make those tiny modifications to the ReShade code that I have). So from that point of view I believe this build should be just as safe to use as the original. As concerns security - I did not include any malware or anything. But don't take my word for it, use your own judgment. 

Requirements and version info:

Includes binaries for both 32 and 64bit systems. Built from modified source of the original ReShade with maximum performance optimization.

Download:

ReShade_v4.3.0.563Debbie.zip

Installation: 

    1. Download and install ReShade from the official website (reshade.me). When asked choose to download shaders.

    2. Replace the library installed by ReShade to the directory containing your game executable
    with the library from this distribution (renaming it accordingly).

        E.g.: ReShade installed a dxgi.dll into your game directory. Make a backup copy of that file and
        delete the original. Copy ReShade64.dll or ReShade32.dll from this distribution to that directory as dxgi.dll.

    3.**(is currently required for Warframe only)**: Change the new file's properties to make it read-only.
    This is done to prevent the game launcher from deleting the injector's library.

Presets:

I have included my own Warframe presets into the archive, but I recommend you to create a custom one for yourself once you get acquainted with how ReShade works. You can also find presets from other users on the net. 

TLDR for those who very well know what ReShade is and how it works:

This build enables depth buffer access regardless of network activity. As a result, shaders relying on the z-buffer (like MXAO, DoF, Reflective Bumpmapping etc.) always remain in effect.

Leave any comments or feedback below. If you're having troubles with installation - feel free to ask for guidance as well.

Edited by DarthKadra
version update
  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, MidoriFuse said:

Strange,without the effect game looks better to me (sharper)
 

I'm not really noting anything that would make me jump at the opportunity. It would have more effect on prettier games with better views. 

Share this post


Link to post
Share on other sites
4 minutes ago, ShichiseitenYasha said:

I'm not really noting anything that would make me jump at the opportunity. It would have more effect on prettier games with better views. 

So i tried it and i got ban instantly! I m so angry right now. I will have to tell admin that I'm from planet minecraft and i came to  review the server so i get unban,yeah the ban is in minecraft.

Did not try in warframe yet.

  • Like 1
  • Woah 1

Share this post


Link to post
Share on other sites
23 minutes ago, MidoriFuse said:

Strange,without the effect game looks better to me (sharper)

Lol. You sure you didn't mix up the screenshots? Cause it's the one with ReShade on that has Adaptive Sharpening enabled (although ever so subtle).

 

22 minutes ago, ShichiseitenYasha said:

I'm not really noting anything that would make me jump at the opportunity. It would have more effect on prettier games with better views.

As I mentioned, it's a very subtle preset without any fancy stuff and all the effects have low strength, so it's more apparent in dynamics than it is on a screenshot. The preset has a slight sharpening, very subtle MXAO (abmient occlusion), Reflective Bumpmapping (reflections on textures from other bright objects), some personal preference colour adjustments. 

But that is not the point. My preset does not matter, visual results can vary A LOT, because you can configure any effects you like by yourself just by checking boxes and adjusting numbers and see the results on the fly. There's also plenty of presets made by other users on the net. What matters is you can now use the shaders that would otherwise be disabled online. How you configure them visually is another matter. 

  • Like 1

Share this post


Link to post
Share on other sites

The differences are so abyssimal, i don't think it's worth the hassle of downloading and installing it.

Still, if you like it then more power to you. 

  • Like 1

Share this post


Link to post
Share on other sites
21 hours ago, G4LD4RT said:

download link off, does not appear the files for me, dxgi.dll, even showing hidden files.

The old link has expired. I never really intended to maintain it for any extended period of time. Anyway, I've reupped it if you're still interested.

https://nofile.io/f/2ptF9NU9dgC/ReShade_v3.4.1.350Debbie.zip

As for the missing dxgi.dll (I assume you mean after installing the official ReShade) - take note of Step 3 - you have to make the dll read-only, otherwise the moment you start the Warframe launcher it will delete it for good. So first install official Reshade, then replace the dxgi.dll with the one from the link I provided (rename as necessary), then right click on it, make it read-only. And do not start Warframe _LAUNCHER_ (because the launcher does it, not the game itself) before you've done that. Hope this helps.

Edited by DarthKadra

Share this post


Link to post
Share on other sites
21 hours ago, (PS4)watt4hem said:

The differences are so abyssimal, i don't think it's worth the hassle of downloading and installing it.

Still, if you like it then more power to you. 

The differences can be huge, it depends on how you set it up for yourself, that's just my sample preset in the screenshots. I mean, people do stuff that looks a far cry from the original graphics with ReShade, for example:

https://www.nexusmods.com/witcher3/mods/1781?tab=images

Share this post


Link to post
Share on other sites

I've never seen a screenshot of someone using reshade that didn't look worse than the regular game.

Which is why I never bothered trying it out.

Share this post


Link to post
Share on other sites
On 2018-10-14 at 12:01 PM, DarthKadra said:

The old link has expired. I never really intended to maintain it for any extended period of time. Anyway, I've reupped it if you're still interested.

https://nofile.io/f/2ptF9NU9dgC/ReShade_v3.4.1.350Debbie.zip

As for the missing dxgi.dll (I assume you mean after installing the official ReShade) - take note of Step 3 - you have to make the dll read-only, otherwise the moment you start the Warframe launcher it will delete it for good. So first install official Reshade, then replace the dxgi.dll with the one from the link I provided (rename as necessary), then right click on it, make it read-only. And do not start Warframe _LAUNCHER_ (because the launcher does it, not the game itself) before you've done that. Hope this helps.

Thanks for sharing the file again, about  "Dxgi. dll " I found that it only created if the Reshade is installed with the game is open, I was doing the process with the game closed. 

Share this post


Link to post
Share on other sites

Reshade is ok, everything is done post process and can achieve some decent results. It’s not as user friendly as something like enb series, but if you’re willing to learn how it and some of the community created effects work for it you can pretty up a lot of different games. But seeing as how it injects it’s effects I’m not quite sure if that has a chance of getting you banned or not.

Share this post


Link to post
Share on other sites
9 hours ago, (PS4)TEKKENGOD420 said:

Reshade is ok, everything is done post process and can achieve some decent results. It’s not as user friendly as something like enb series, but if you’re willing to learn how it and some of the community created effects work for it you can pretty up a lot of different games. But seeing as how it injects it’s effects I’m not quite sure if that has a chance of getting you banned or not.

ReShade won't get you banned on Warframe, someone from DE staff said in the past that it's alright to use it. This means my build can't get you banned either regardless of how they might look upon the fact that it has the z-buffer enabled, although I see no reason for them to view it in a negative way. Anyway, there is no way to tell whether you're using the official or any other build of ReShade. 

Share this post


Link to post
Share on other sites
10 hours ago, G4LD4RT said:

I found that it only created if the Reshade is installed with the game is open, I was doing the process with the game closed.

The installation process does not depend on the game running. However, it needs an Internet connection to download the shader effect files. You must have had something else going on there.

Share this post


Link to post
Share on other sites

UPDATE:

Updated included Warframe preset in connection with the Fortuna release.

Specifically, toned down MXAO and Reflective Bumpmapping a wee bit to avoid too deep shadows being cast in the mist closer to the horizon and excessive reflections causing some areas to look too bright. The result is an even subtler preset than it had been before.

Comparison gallery:

https://imgur.com/a/oQNT9cW

 

P. S. Also included my preset for the Mass Effect trilogy (the Tint shader you might want to turn off if you feel the picture is too greenish for your taste). 

 

 

Share this post


Link to post
Share on other sites
2 hours ago, Aleix16 said:

Hey I cant see any homesettings when i choose your preset.. Any thoughts? Thanks in advance

 I've been able to identify the issue and will try to address it as soon as I have time in order to minimize user efforts. For now - a quick fix should do it. Edit ReShade.ini or dxgi.ini (whichever you have there) in the same directory as the dll library and Warframe executable -  you'll need to change two lines. You can use Notepad to do it or any other text editor. Or, alternatively, you can edit those directly in the Settings tab when you open the ReShade overlay.

Judging from your screenshot your paths should look like this:

EffectSearchPaths=E:\Steam\SteamApps\common\Warframe\reshade-shaders\Shaders

TextureSearchPaths=E:\Steam\SteamApps\common\Warframe\reshade-shaders\Textures

So, what happens there is that for some reason the default paths are set to a wrong location. I'll have to check if this has to do with the build itself, because I'd had my .ini paths written way before I made my custom ReShade build and replaced the original library. At least I believe that is what's happening and hope this solution will help. Naturally, you must have downloaded those shaders during the original ReShade installation process.

 

I'll upload a revised version later on, for now, if your paths are not set to the correct directories - you'll have to edit the .ini (or ReShade settings) manually as shown above.

Another solution that I imagine should work without having to edit anything manually is to run the game with the original ReShade once so that it can create the .ini file with correct paths (remember to make the dll read only). And then quit the game and replace the library. However, I'm not sure about this second way, it's just an educated guess.

EDIT: My quick investigation into the matter has shown that following my installation instructions from the readme/original post works like a charm, because the original ReShade installation sets the paths after downloading the shaders, therefore the library itself has nothing to do with it. However, I still believe that your issue lies with those paths being incorrect or the actual shaders missing (failed to download them / skipped the step of installing the original ReShade from the official website or something like that).

So, for now I see no need for me to correct anything in the distribution because as far as I can tell, there is nothing to correct there, which I've confirmed by making a fresh install.

Edited by DarthKadra

Share this post


Link to post
Share on other sites
En 11/11/2018 a las 15:10, DarthKadra dijo:

 I've been able to identify the issue and will try to address it as soon as I have time in order to minimize user efforts. For now - a quick fix should do it. Edit ReShade.ini or dxgi.ini (whichever you have there) in the same directory as the dll library and Warframe executable -  you'll need to change two lines. You can use Notepad to do it or any other text editor. Or, alternatively, you can edit those directly in the Settings tab when you open the ReShade overlay.

Judging from your screenshot your paths should look like this:

EffectSearchPaths=E:\Steam\SteamApps\common\Warframe\reshade-shaders\Shaders

TextureSearchPaths=E:\Steam\SteamApps\common\Warframe\reshade-shaders\Textures

So, what happens there is that for some reason the default paths are set to a wrong location. I'll have to check if this has to do with the build itself, because I'd had my .ini paths written way before I made my custom ReShade build and replaced the original library. At least I believe that is what's happening and hope this solution will help. Naturally, you must have downloaded those shaders during the original ReShade installation process.

 

I'll upload a revised version later on, for now, if your paths are not set to the correct directories - you'll have to edit the .ini (or ReShade settings) manually as shown above.

Another solution that I imagine should work without having to edit anything manually is to run the game with the original ReShade once so that it can create the .ini file with correct paths (remember to make the dll read only). And then quit the game and replace the library. However, I'm not sure about this second way, it's just an educated guess.

EDIT: My quick investigation into the matter has shown that following my installation instructions from the readme/original post works like a charm, because the original ReShade installation sets the paths after downloading the shaders, therefore the library itself has nothing to do with it. However, I still believe that your issue lies with those paths being incorrect or the actual shaders missing (failed to download them / skipped the step of installing the original ReShade from the official website or something like that).

So, for now I see no need for me to correct anything in the distribution because as far as I can tell, there is nothing to correct there, which I've confirmed by making a fresh install.

Yes thanks for all the research, just re-installed Reshade with all the shaders/textures and now its working fine 😄

Share this post


Link to post
Share on other sites

Heya, @DarthKadra!
Thanks for bringing ReShade to Warframe. Before your version I made do with a little trick: have the configure box open, but with minimal resolution and input pass through when outside the box.

With the release of ReShade 4.0, are you planning to make a similar Debbie release?
If not, can you advise on how to do the same myself?

Thank you.

Share this post


Link to post
Share on other sites
51 minutes ago, jayofgrey said:

With the release of ReShade 4.0, are you planning to make a similar Debbie release?
If not, can you advise on how to do the same myself?

Yes, I'm going to update it. I've already pulled the new source code from git. The portion that checks for network activity has been changed, I took a quick glance at it and I believe that I've identified it, so I don't expect any problems, but who knows. If I can, I intend to update my build tomorrow since I just cannot be bothered with it today.

In order to make the changes yourself you'll need the GIT tools to clone the code, Visual Studio and Python to build the project. And naturally, you'll have to sift through the source and remove the checks for network activity, then build it. If you want details - ask. Otherwise, just wait a bit, I'm going to update it anyway cause I keep building it for myself with every official update. 

Share this post


Link to post
Share on other sites

Heya again, @DarthKadra

Thanks for a quick response. While I'm not too good at coding, I can get the logic most of the time. Give me a rough guideline at least and where to start. I'll tinker and blunder around and maybe get it done😋

UPD: Asked around on ReShade forum, here's what crosire told me

Quote

ReShade disables depth access in multiplayer games to prevent cheating. Now for Warframe this is probably less of an issue, but to keep consistent and have anti-cheat tools whitelist ReShade this is done to all games (and there are no plans to change that). What you do with your own ReShade builds from source code is your thing though (since they have different file hashes and will be flagged by anti-cheat tools anyway). Search the code for "has_high_network_activity" and the rest should be self explanatory (I won't go into detail here).

 

Edited by jayofgrey

Share this post


Link to post
Share on other sites
28 minutes ago, jayofgrey said:

Heya again, @DarthKadra

Thanks for a quick response. While I'm not too good at coding, I can get the logic most of the time. Give me a rough guideline at least and where to start. I'll tinker and blunder around and maybe get it done😋

This is the portion from 3.5.1 that was checking for network activity (from d3d10_runtime.cpp as an example)

Spoiler

            if (traffic > 10)
            {
                traffic = 0;
//              create_depthstencil_replacement(nullptr, nullptr);
                return;
            }
            else
            {
                traffic = 0;

Note the commented out line - this was all that I edited (in every DirectX version and OpenGL *runtime file). Could have removed the whole check, but I preferred to keep the editing to absolute minimum thus also minimizing any problems. 

The new check seems to be this:

Spoiler

        if (_has_high_network_activity)
        {
            create_depthstencil_replacement(nullptr, nullptr);
            return;
        }

Most probably, this is the only part that is going to need editing (across the *runtime files). I'll look through the code more closely tomorrow, build it, test, make the package and update it. 

EDIT: well, seems you're mighty eager to get to it right now, so you even went to the official forums before I could reply. 🙂

Edited by DarthKadra

Share this post


Link to post
Share on other sites

UPDATE:

Updated build in connection with new major release of ReShade. New base version - 4.0.1.488.

Switched to permanent file hosting solution (Dropbox). 

 

You can check all the good stuff that crosire introduced with this new ReShade release on the official forums here:

https://reshade.me/forum/releases/4772-4-0

Just one amazing thing about the new release you'll notice immediately - the loading is now lightning fast! No more freezes and hiccups while waiting for the shaders to compile at loading! 

Edited by DarthKadra

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...