ReShade Addon That Renders Behind UI/Fog

ZabaZu

Member
Gender
Male
There's an addon for reshade now that lets you render selected reshade effects behind selectable pixel/vertex shaders in the game, and it seems to work well in PSOBB (at least with the DX11 wrapper). I haven't done extensive testing to see if anything breaks, but I did get it setup to render behind the UI and the CCA fog (when set to pixel fog at least). This may work to render behind other effects as well, but those were the things I briefly tested.

https://github.com/4lex4nder/ReshadeEffectShaderToggler

Download the latest release and place the files into the reshade addons folder (should be a folder in your games installation directory). I'll assume you'll need Reshade 5.8 or newer just because I didn't try with older versions.

This is my config file for the addon which has the relevant vertex shader marked already (it also uses custom keybindings because I have a TKL keyboard). Copy and paste this code into a file named "ReshadeEffectShaderToggler.ini" at the location of your reshade addons.

INI:
[General]
ResourceShim=none
ConstantBufferHookType=none
ConstantBufferHookCopyType=singular
AmountGroups=1

[Keybindings]
PIXEL_SHADER_DOWN=219
PIXEL_SHADER_UP=221
PIXEL_SHADER_MARK=80
PIXEL_SHADER_MARKED_DOWN=475
PIXEL_SHADER_MARKED_UP=477
VERTEX_SHADER_DOWN=186
VERTEX_SHADER_UP=222
VERTEX_SHADER_MARK=76
VERTEX_SHADER_MARKED_DOWN=442
VERTEX_SHADER_MARKED_UP=478
INVOCATION_DOWN=190
INVOCATION_UP=191
DESCRIPTOR_DOWN=189
DESCRIPTOR_UP=187

[Group0_VertexShaders]
ShaderHash0=2229055237
ShaderHash1=2028682045
AmountHashes=2

[Group0_PixelShaders]
AmountHashes=0

[Group0_Constants]
AmountConstants=0

[Group0]
Name=Default
ToggleKey=0
Active=True
InvocationLocation=0
MatchSwapchainResolutionOnly=True
RequeueAfterRTMatchingFailure=False
AllowAllTechniques=True
TechniqueExceptions=True
ProvideTextureBinding=False
ClearTextureBindings=False
ExtractConstants=False
ConstantPipelineSlot=0
ConstantDescriptorIndex=0
ExtractSRVs=False
SRVPipelineSlot=0
SRVDescriptorIndex=0

Now by default, all effects will render before the fog/UI, but you may want to change that (color grading for instance). If so, you'll need to open up the reshade UI in-game, go to the addons tab, find the addon, and expand it. Locate the "List of Toggle Groups", find the 1 active group, and click "Change effects". From there, you'll select the shaders that you want to exclude from the rendering group (aka, render after the UI/Fog).

If I discover any other improvements, I'll update the thread and add the config file.
 
So there's actually a problem with this: this currently only truly works with Solybum's addon to give it the right render targets. However, with more expensive effects, frametimes are all over the place, except for a perfect storm of conditions to even it out.
for some reason in reshade enabling marty's regrade+ addon fixes frametimes???
If you remove Solybum's addon, you can specify render targets behind UI/Fog as long as there are 3D visuals (main menu and loading screens become affected). This has no frametime issues at all.

I don't know which software is technically at fault for this or if it's even resolvable given that they're two discrete mods. It also means that my settings above only work with Solybum's addon.
 
Back
Top