- Posts: 15
a subtle hack UI Mask
- UTwelve
-
Topic Author
- Offline
Working in FF14. so,maybe other games will work too...
so subtle,you need to try,I can't guarantee anything.

There are three in the list,is order
- HackUIMask ←top
- ** other fx **
- HackUICut ←is a UI black mask,avoid UI impact on next FX
- **other fx **
- HackUIRestore ←end
HackUImask.fx
Please Log in or Create an account to join the conversation.
- UTwelve
-
Topic Author
- Offline
- Posts: 15
Please Log in or Create an account to join the conversation.
- aaronth07
-
- Offline
- Posts: 74
Please Log in or Create an account to join the conversation.
- Daodan
-
- Offline
- Posts: 177
aaronth07 wrote: Probably a stupid question
Not at all. In some games the UI is visible in the alpha component of the backbuffer. With that it is possible to create a UI mask at runtime (i.e. a mask that automatically adapts to the UI). As far as i know UIMask.fx masks the UI based on an image you provide and UIDetect.fx can bypass other effects (DOF for example) based on the color of certain pixels.
Please Log in or Create an account to join the conversation.
- Scorpio82CO
-
- Offline
- Posts: 91
Please Log in or Create an account to join the conversation.
- dddfault
-
- Offline
- Posts: 8
Please Log in or Create an account to join the conversation.
- peronmls
-
- Offline
- Posts: 12
Please Log in or Create an account to join the conversation.
- Marty McFly
-
- Offline
- Posts: 1222
peronmls wrote: honestly Would there ever be such a fix? It's the only thing really bad with reshade. I never understood why the dev's never try to fix it but can release more advanced shaders like raytracing that will just obscure any HUD on screen. That's the only immersion breaking reshade does for me.
Doubtable that it'll ever happen. Each game renders their UI in a different way, different elements and so on. It would defeat the purpose of ReShade to manage things on a game to game level. It also can't be done perfectly with a shader either as UI elements are so diverse, detecting them with any sort of failsafe heuristic is impossible. Also it's not possible to restore data obscured by the UI, so effects that would require such data cannot be fixed, even if the UI was detected perfectly.
Please Log in or Create an account to join the conversation.
- Martigen
-
- Offline
- Posts: 466
But isn't this exactly what the shader posted in the OP is doing? It's not even using a texture as an overlay, so it seems to be doing it on the fly. I haven't tried the shader yet but it's intriguing.Marty McFly wrote:
peronmls wrote: honestly Would there ever be such a fix? It's the only thing really bad with reshade. I never understood why the dev's never try to fix it but can release more advanced shaders like raytracing that will just obscure any HUD on screen. That's the only immersion breaking reshade does for me.
Doubtable that it'll ever happen. Each game renders their UI in a different way, different elements and so on. It would defeat the purpose of ReShade to manage things on a game to game level. It also can't be done perfectly with a shader either as UI elements are so diverse, detecting them with any sort of failsafe heuristic is impossible. Also it's not possible to restore data obscured by the UI, so effects that would require such data cannot be fixed, even if the UI was detected perfectly.
Please Log in or Create an account to join the conversation.
- Marty McFly
-
- Offline
- Posts: 1222
Also, transparent effects, what the person above asked for, is completely impossible. Just because our eyes can discern what's a transparent object does not mean that a shader can.
Please Log in or Create an account to join the conversation.
- Martigen
-
- Offline
- Posts: 466
Cool, thanks for explaining MartyMarty McFly wrote: It uses the alpha channel of the backbuffer before any rendering happened. By chance, FF14 draws the UI mask into alpha channel, so you have info where UI is and where not. No other game I know of does this, and thus you'd have to infer from the screen colors, a failsafe method is impossible that way. Plus you cannot restore data behind the UI, that's why this shader masks it with black to mask it from future effects that might smear it beyond the UI mask borders.
Also, transparent effects, what the person above asked for, is completely impossible. Just because our eyes can discern what's a transparent object does not mean that a shader can.

Please Log in or Create an account to join the conversation.
- Niko of Death
-
- Offline
- Posts: 88
Please Log in or Create an account to join the conversation.
- crosire
-
- Offline
- Posts: 3865
float4 UIMask = tex2D(ReShade::BackBuffer, texcoord).a;
float4 UIMask = tex2D(ReShade::DepthBuffer, texcoord).x == 0.0;
Please Log in or Create an account to join the conversation.
- Niko of Death
-
- Offline
- Posts: 88
i.imgur.com/hcwTlLq.png
Please Log in or Create an account to join the conversation.
- Radstark
-
- Offline
- Posts: 3
Please Log in or Create an account to join the conversation.
- nu_bie
-
- Offline
- Posts: 5
edit: found out how, just gotta switch destblend around. works for the UI but not for character dialogue bust, hmm.
Please Log in or Create an account to join the conversation.