[Release] Misc. emulators with depth buffer access
- Boulotaur2024
- Topic Author
goCHIEFgo wrote: I've been trying to get Dolphin working but it always cuts the depth buffer at the bottom of the screen, regardless of window size, rez, fullscreen, Dolphin/Ishiiruka. So the shaders are all misaligned.
imgur.com/S4iQEL9
imgur.com/CTzIK8
Ok, sorry.
I think there's an issue with wide resolutions ("UHD" ?).
Some people on Reddit reported siimilar issues with extra wide res (3840x2160 or 2560x1440) :
www.reddit.com/r/emulation/comments/ci3z...s_rt_shader/ev5stgy/
Looking at your screens I'm assuming you have a really wide resolution too.
I have no idea why it doesn't work though and without said hardware it's hard to tell...
Please Log in or Create an account to join the conversation.
- goCHIEFgo
I thought I had tried every combination of res, window, fullscreen and aspect ratio, but apparently not. Thanks dude!
Please Log in or Create an account to join the conversation.
- goCHIEFgo
Also, you don't think there's a way to change anything in the way reshade handles alignment of the shaders that you could do the same for rotating with Citra?
Btw, I did try just starting dolphin in 1080p desktop res and it gave me the same result of misaligned shaders - really confusing. Dolphin can detect my monitor is UW? wt
Please Log in or Create an account to join the conversation.
- Boulotaur2024
- Topic Author
Yes I'm getting the same results as you : no depth buffer at all until a fight starts (a Pokemon "battle" : ?) and then a few models end up showing normals...
Nothing I can do, the game emulation may very well be glitchy (I see black lines on the ground). Ask the devs
I submitted a pull request to Reshade Github for all the work I have done so far :
github.com/crosire/reshade/pull/153
I'm not planning to work on it further : it is ready to be merged (if positively reviewed of course)
Working and syncing with Gonetz (gliden64 developper) was a cool experience. Now I'll probably move on to something else :]
Please Log in or Create an account to join the conversation.
- spaulding
Boulotaur2024 wrote:
Notes for MartyMcFly's RT shader :
As I obviously cannot redistribute MartyMcFly's RT shader[/li]. Here is what you have to do to fix alignment issue :
- (You should have downloaded my modified qUINT shaders - see above)
- Open qUINT_rt.fx and replace "linear_depth" by "linear_depth_resized" throughout the shader file
- Add the following new pass :
void PS_ResizeDepth(in VSOUT v, out float4 color : SV_Target0) { color = tex2D(qUINT::sDepthBufferTex, v.uv).x; }
- And call it this way, at the end of the shader file (it has to be the first pass)
pass { VertexShader = PostProcessVS; PixelShader = PS_ResizeDepth; RenderTarget = qUINT::DepthBufferTexResized; }
Can you be more precise? Where should I put these passes exactly? (I'm not a developer but would love to try that shader with dolphin)
Please Log in or Create an account to join the conversation.
- HenrikoMagnifico
Basically, it's a short configuration edit for ReShade.fhx which flips the depth buffer 90 degrees to hopefully help display the depth buffer correctly in Citra. However, I have not even managed to get to the state you displayed in the beginning of the thread, with Link sitting on his bed inside his house in Kokiri Forest and clearly displaying depth buffer information. I've followed all the steps correctly, I think. It just shows a white and black bar which is split in the middle of the screen vertically. Any idea why it's not working for me?
This is what it looks like when I enable DisplayDepth.fx in Citra with all the proper ReShade.ini settings;
Thanks,
Henriko
Please Log in or Create an account to join the conversation.
- YOBAWO
Please Log in or Create an account to join the conversation.
- goCHIEFgo
My Displaydepth does indeed show the buffer turned 180° degrees, but the Quint fx won't follow along. Weirdly however, the MXAO fx that comes with any installation of reshade does change 90° to 180. Look at this:
Upper left corner, QUINT MXAO at a 90° angle, MXAO at a 180° angle.
This was originally what I wanted to explore with Citra, this proves that it's all down to some adjustment in the alignment in the .fx files themselves, surely. Unlikely to be solved unless someone who actually knows how to do this stuff comes along again though.
Please Log in or Create an account to join the conversation.
- goCHIEFgo
Also, when using Displaydepth, make sure you use global preprocessor definitions, given you have edited those in your ini.
Please Log in or Create an account to join the conversation.
- HenrikoMagnifico
Please Log in or Create an account to join the conversation.
- goCHIEFgo
Please Log in or Create an account to join the conversation.
- Niko of Death
Please Log in or Create an account to join the conversation.
- Nerrel
The issue is that objects covered with grayscale alpha textures go transparent, usually in indoor areas. Link's hat and shield are grayscale textures with alpha:
The milk bar and observatory are great examples, the wood and stair textures are grayscales.
(I filled one example texture, the wood trim on the walls, with a red background to show the transparency)
Loading a savestate resolves the problem (the milk bar on the right was loaded from a state and looks normal). Not only that, but it stays fixed the entire session, so whatever is going wrong seems to be only at startup.
It doesn't seem to matter which shaders are active or whether shaders are installed at all, just having the opengl32.dll triggers it. Others on my Discord with Nvidia cards have confirmed that it happens the same for them (I never saw a trace of this issue on AMD). This probably has to be fixed on the GlideN64 side but Gonetz may not understand what ReShade is doing to cause the problem. Any thoughts on what's going wrong? And if not, let me know so I can go ahead and pass it on to Gonetz.
Please Log in or Create an account to join the conversation.
- silaspokemon
Please Log in or Create an account to join the conversation.
- Siggs
I followed all the instructions but I can't seem to see any depth effects when ingame. Not specifically for Marty's shaders, but anything; goes for the default AOshader, and DoF doesn't seem to work either. But that's not bothering me. The Reshade install was fresh, for me to try this out.
I suspect it's not specifically tied to these files, but does anyone know why I might not be getting depth information in reshade at all? And if I need to provide any info or logs, what ones are needed. Cheers
Please Log in or Create an account to join the conversation.
- Nerrel
Siggs wrote: I followed all the instructions but I can't seem to see any depth effects when ingame. Not specifically for Marty's shaders, but anything; goes for the default AOshader, and DoF doesn't seem to work either. But that's not bothering me. The Reshade install was fresh, for me to try this out.
I'm not at all sure if this applies at all to redream, but for GlideN64 the "force default depth buffer" box has to be checked in the OpenGL tab...
Please Log in or Create an account to join the conversation.
- Siggs
Nerrel wrote:
Siggs wrote: I followed all the instructions but I can't seem to see any depth effects when ingame. Not specifically for Marty's shaders, but anything; goes for the default AOshader, and DoF doesn't seem to work either. But that's not bothering me. The Reshade install was fresh, for me to try this out.
I'm not at all sure if this applies at all to redream, but for GlideN64 the "force default depth buffer" box has to be checked in the OpenGL tab...
I've tried that ticked and unticked, with no success. I removed my Nvidia profile forced AA thinking that was effecting it, reloaded Reshade several times etc, still nothing
It installed correctly, runs, and the extra qUINT shaders show up. But no AO effects on that, or the default plugin
Please Log in or Create an account to join the conversation.
- Nerrel
I just wanted to confirm it since I wasn't sure if there are any special settings needed anymore (the "force default depth buffer" option isn't there but doesn't seem needed). Thanks
Please Log in or Create an account to join the conversation.
- crosire
The only thing not merged from the pull request is automatic depth buffer scaling, but it's not something I have currently plans to merge due to the emulator-specific nature.
Please Log in or Create an account to join the conversation.
- Zombeaver
If both dxgi.dll and opengl32.dll are present alongside PCSX2 (which has access to use both, and which of the two is preferred is dependent on the game) using the Direct3D 11 renderer works fine and hooks into dxgi.dll as expected, you can pause and go to the video plugin section and there are no issues. When using the OpenGL renderer, however, content can be started and it will function normally but if you pause the emulation and then go to the video plugin section the app will crash.
This can be avoided by renaming dxgi.dll to d3d11.dll, which will still work if using the Direct3D 11 renderer, however it doesn't get hooked properly (on launch) until you force it to do a renderer refresh (pressing F9 twice).
Both dxgi.dll and opengl32.dll can be side by side and work as expected in 4.4.2. The issue seems to have started in 4.5.0.
In summary:
1) 4.5.0+ causes a crash if both dxgi.dll and opengl32.dll are present, GL content is started and then attempting to change the video plugin settings; doesn't happen if dxgi.dll is named d3d11.dll instead
2) d3d11.dll doesn't get hooked when using the Direct3D 11 renderer unless you do a renderer refresh while content is running
EDIT: I should mention, this problem isn't present with the version of opengl32.dll available in this thread either. It's the one in the standard ReShade release that I'm talking about. Sorry, this probably isn't the right place for this I'll post it in troubleshooting.
Please Log in or Create an account to join the conversation.