Welcome, Guest.
Username: Password: Remember me

TOPIC: UI By-Pass

UI By-Pass 1 year 7 months ago #1

Hello everybody!
Sometimes it's really inconvenient when you set up your shaders and they process the whole screen including the UI. Is there any possibility to create a shader or something that will recognise the UI elements and by-pass them from processing?
I saw this option in LuciferHawk's GemFX 1.0.8 but since it 's only for R2:TW it became interesting for me how it works and why it doesn't work with other games.
The administrator has disabled public write access.

UI By-Pass 1 year 7 months ago #2

  • jmp909
  • jmp909's Avatar
  • Offline
  • Posts: 135
  • Thank you received: 48
I'm not sure about GemFX and TW, but with Reshade currently you can use a black & white mask png .. see this link reshade.me/forum/shader-presentation/161...hread?start=240#2456

that's not always ideal because the HUD on some games can vary

I thought it might be possible to use the depth buffer, but Crosire already explained why that won't work here
reshade.me/forum/general-discussion/368-...sion-via-depthbuffer

GeDoSaTo has a more complex method for isolating the HUD...
www.pcgamer.com/how-to-create-sweetfx-st...h-durantes-gedosato/

maybe one day a similar process might get included into Reshade, as Durante opened up the source
github.com/PeterTh/gedosato/tree/master/source

but that's up to Crosire.
Last Edit: 1 year 1 month ago by crosire. Reason: Fixed link
The administrator has disabled public write access.
The following user(s) said Thank You: ValerBOSS

UI By-Pass 1 year 7 months ago #3

  • Kleio420
  • Kleio420's Avatar
  • Offline
  • Posts: 213
  • Thank you received: 28
the way gedosato does it would work for more games if not all its just hard on the end user to get it working as there is no generic way really to do it unless crosire came up with a way, you have to know when the UI textures are loaded in the chain and be able to inject reshade before then so even at that if the game has random menu pop ups i dont see how its going to detect those and this turns into a per game deal where it needs serious work on it and thats not the point of reshade they want it simple for end users to be able to just flip settings
The administrator has disabled public write access.
The following user(s) said Thank You: crosire

UI By-Pass 1 year 7 months ago #4

  • Martigen
  • Martigen's Avatar
  • Offline
  • Posts: 140
  • Thank you received: 35
Kleio420 wrote:
the way gedosato does it would work for more games if not all its just hard on the end user to get it working as there is no generic way really to do it unless crosire came up with a way, you have to know when the UI textures are loaded in the chain and be able to inject reshade before then so even at that if the game has random menu pop ups i dont see how its going to detect those and this turns into a per game deal where it needs serious work on it and thats not the point of reshade they want it simple for end users to be able to just flip settings

This is a request we'll hear again and again for the life of the injector, as it's the logical next step. In that regard, it's not a bad thing to ask :)

I could be wrong but with Gedosato's method as long as the GUI in the game is generated at the same stage each frame, once you've found it then I would presume even new UI elements like pop-ups would be covered too.

The other thing to consider is that while the Gedosato method is time-consuming to setup for a game, once it's done those injectPS hashes remain the same. I.e, if one user isolates the UI they can simply upload the result and everyone else can use it without going through the work. Early adopters of a game will do this naturally, just like we have shader presets on sfxthelazy.net :).

Hopefully it's on Crosire's to-do, though I fully appreciate if it's a down-the-track kinda thing.
The administrator has disabled public write access.

UI By-Pass 1 year 7 months ago #5

  • Kleio420
  • Kleio420's Avatar
  • Offline
  • Posts: 213
  • Thank you received: 28
Martigen wrote:
Kleio420 wrote:
the way gedosato does it would work for more games if not all its just hard on the end user to get it working as there is no generic way really to do it unless crosire came up with a way, you have to know when the UI textures are loaded in the chain and be able to inject reshade before then so even at that if the game has random menu pop ups i dont see how its going to detect those and this turns into a per game deal where it needs serious work on it and thats not the point of reshade they want it simple for end users to be able to just flip settings

This is a request we'll hear again and again for the life of the injector, as it's the logical next step. In that regard, it's not a bad thing to ask :)

I could be wrong but with Gedosato's method as long as the GUI in the game is generated at the same stage each frame, once you've found it then I would presume even new UI elements like pop-ups would be covered too.

The other thing to consider is that while the Gedosato method is time-consuming to setup for a game, once it's done those injectPS hashes remain the same. I.e, if one user isolates the UI they can simply upload the result and everyone else can use it without going through the work. Early adopters of a game will do this naturally, just like we have shader presets on sfxthelazy.net :).

Hopefully it's on Crosire's to-do, though I fully appreciate if it's a down-the-track kinda thing.
by far imo its the most important thing to figure out trying to do a generic shader while your whole screen sets something off gets annoying you almost always need depth and some way to apply post before the ui so it doesnt get hit by it or detected as something its not.Most of the effects imo look like crap without having depth data to determine whether something should have an effect applied on it if something would be blocking the effect when i heard they were working on finding a solution for depth buffer in sweet fx i was super happy but so far most games i would ever want to use reshade in are online and really most games now days have something online about them
The administrator has disabled public write access.

UI By-Pass 1 year 7 months ago #6

Thank you very much for the informative response guys!
I hope crosire will take note of the GeDoSaTo's ideas some time, it would be a really great feature.
Also I think it's a good idea to cooperate with GeDoSaTo's creator to implement this in ReShade like you did with creators of shaderpacks.
Last Edit: 1 year 7 months ago by ValerBOSS.
The administrator has disabled public write access.

UI By-Pass 1 year 7 months ago #7

  • crosire
  • crosire's Avatar
  • Offline
  • Posts: 2437
  • Thank you received: 1384
Cheers, crosire =)
The administrator has disabled public write access.

UI By-Pass 1 year 7 months ago #8

From what I understand, it's a matter of finding out which frames within the stack render the UI?

www.pcgamer.com/how-to-create-sweetfx-st...h-durantes-gedosato/

So, I suppose what we really need is more diagnostic tools?
The administrator has disabled public write access.

UI By-Pass 1 year 7 months ago #9

  • Kleio420
  • Kleio420's Avatar
  • Offline
  • Posts: 213
  • Thank you received: 28
Fruitrocket wrote:
From what I understand, it's a matter of finding out which frames within the stack render the UI?

www.pcgamer.com/how-to-create-sweetfx-st...h-durantes-gedosato/

So, I suppose what we really need is more diagnostic tools?
he is aware of this and the link he posted states this he is looking for a more simple way so the end user has little to no configuring needed to get a UI with no effects applied on it
The administrator has disabled public write access.