Welcome, Guest.
Username: Password: Remember me

TOPIC: Noob questions

Noob questions 1 year 3 months ago #1

Hello I'm using ReShade 3.07 with Black Desert. No Issues so far, just a couple of questions I googled unsuccesfully...

1) The installation as far as I get just copy dlls and shader files in the game folder, and shaders can be moved later provided we update the relative game dxgi.ini... but how does ReShade exactly gets called and loaded? How does inject itself?

I'm not really interested into the deep explanation, just if I later want to unistall it, always as far as I got it, I just need to uninstall the files the installer copied into my game dir, but then how do I know ReShade is completely removed? Did it placed some hook somewhere else?
I looked in the registry and found nothing, appData folder nothing there, programs (x86/def) nothing too... I'm baffled. I mean I could place a random.ini file in there too myself too, but the game wouldn't call it automatically, what is the trigger that makes ReShade get started?

EDIT: Consequentially, if I want to use it again later then I could just copy paste the same files I was to delete if instead I saved them and moved them temporarily elsewhere?

EDIT2:
Found this, don't know how google won't list it in its results:
crosire wrote:
ReShade doesn't run in a process. It pretends to be the DirectX or OpenGL driver, so that games load ReShade instead of the actual driver and send all render commands to ReShade. ReShade then passes those commands on to the real driver while adding and modifying some commands to do its thing.

Post-processing under D3D11 happens when the game calls IDXGISwapChain::Present to mark a finished frame.

So how does it pretends to be the graphic libraries? If it doesn't install any other files in the system I still can't explain myself how it is being called just by placing dxgi.dll and dxgi.ini within the game.exe files.

2) To edit specific fx values do I need to to edit <myPreset>.ini file in a text editor or can I use the ReShade UI? I've seen it showed me the values edit fields after I've created my 1st preset, but how do I open that form again? SOLVED: swapping in-between config and perf modes

3) If during the installation I press control onto the "Chose game" button the installer copy reshade.dll and reshade64.dll in its folder, what use for them?

Thanks, great piece of software.
Last Edit: 1 year 3 months ago by WhatTheDayIsToday.
The administrator has disabled public write access.

Noob questions 1 year 3 months ago #2

1) Windows applications usually load DLLs without specifying a path to load them from. Windows has a list of search paths where it tries to find the DLL the app is requesting and then loads it when found. Those search paths contain both the Windows system32 directory, as well as the directory the executable that requested a DLL is in. Fortunately the latter has a higher priority than the former, so if a game attempts to load "dxgi.dll", it will first check if that file exists in the game directory, before falling back to the actual one in system32. As such if ReShade is placed there, the game thinks this is the actual DirectX/OpenGL driver and loads it.

3) The installer copies the 32-bit or 64-bit version of ReShade to the game folder (depending on what architecture the game was built for) and renames it to one of the driver DLL names (d3d9.dll/dxgi.dll/opengl32.dll). 1) explains why. That DLL file + the shader files are the only files the setup creates, removing them removes ReShade completly.
Cheers, crosire =)
The administrator has disabled public write access.
The following user(s) said Thank You: WhatTheDayIsToday

Noob questions 1 year 3 months ago #3

Ah ok, all boils down to the local path priority, stupid me for not having think of that, very clean and clever way of installation, kudos, and thanks for answering me on this matter, probably for the millionth time already, yet kindly :D
The administrator has disabled public write access.