Welcome, Guest.
Username: Password: Remember me

TOPIC: [Release] Misc. emulators with depth buffer access

[Release] Misc. emulators with depth buffer access 3 weeks 3 days ago #1



Soul Calibur with Marty McFly's Ground Truth AO implementation running in Redream... Now imagine DOA boobs...


Instructions :
  • Install latest Redream
  • Install Reshade as you would normally do
  • Download and replace your existing Reshade opengl32.dll at the root of your Redream directory with either of the following :
NVIDIA userhttps://mega.nz/#!aQNRTSoD!CHfTGu_IVXYjYk-MQDbGQLspSB-U070rqz5_a_Hazak
AMD userhttps://mega.nz/#!HE8ljYxZ!L1AVMxxmentxs-SVT1ldjM25VAAUeG7Taa3xMIoy4BQ
  • Run the emulator once to make sure Reshade is working at all and close it
  • Make sure to grab Marty qUINT shaders and replace the content of qUINT_common.fxh with the content of this pastebin (important for proper depth linearization)
  • Open ReShade.ini and configure it as follows (EMUWidth and EMUHeight values should be set accordingly to your current Redream internal resolution) :
[EMULATORS]
EMUName=redream
EMUMode=1
EMUHeight=2880
EMUWidth=3840
  • Still in ReShade.ini, replace the line starting with PreprocessorDefinitions by this line :
PreprocessorDefinitions=RESHADE_DEPTH_LINEARIZATION_FAR_PLANE=1000.0,RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN=1,RESHADE_DEPTH_INPUT_IS_REVERSED=1,RESHADE_DEPTH_INPUT_IS_LOGARITHMIC=1

Issues :
  • It (the depth buffer texture) doesn't adapt to different aspect ratios so for now you have to keep the aspect ratio to "stretched"

Recommendations :
  • You might want to play with the nearZ/farZ values to increase/decrease them for the SSAO to work well
  • Some games may require to tweak the values in qUINT_common.fxh, like more or less depth output boost :
float depth = tex2Dlod(sDepthBufferTex, float4(uv, 0, 0)).x * 2200;
Reshade fork for emulators :
github.com/Boulotaur2024/reshade
Last Edit: 1 week 6 days ago by Boulotaur2024.
The administrator has disabled public write access.
The following user(s) said Thank You: Pondural, Uncle Crassius, Ryukou36

[Release] Redream with depth buffer access 2 weeks 15 hours ago #2

The same dll (64 bits) also works nicely with PPSSPP :


  • Run the 64 bits executable PPSSPPWindows64.exe
  • Use the OpenGL Renderer
  • Open ReShade.ini and configure it as follows (EMUWidth and EMUHeight values should be set accordingly to your current PPSSPP internal resolution) :
[EMULATORS]
EMUName=ppsspp
EMUMode=1
EMUHeight=1360
EMUWidth=2400
  • Do exactly as above except you don't have to bother about sutble operations on qUINT_common.fxh like above
  • The depth buffer is not "upside down", so forget about PreprocessorDefinitions like above
This thread is a mess but I don't want to make a single post for every emulator out there. So I'll stick to what works with 64 bits (ie this dll)
Reshade fork for emulators :
github.com/Boulotaur2024/reshade
Last Edit: 1 week 6 days ago by Boulotaur2024.
The administrator has disabled public write access.

[Release] Redream with depth buffer access 3 days 10 hours ago #3

I don't want to derail your thread, but I've been trying to get depth effects working with GlideN64 for over a year and wanted to ask if you have any advice based on your experience with these emulators. ReShade gets depth information from the wrong buffer and ends up misaligned by a small amount:


It also applies one frame too soon, which the developer of GlideN64 says is due to the incorrect buffer being chosen "N64 games allocate at least two color buffers for double-buffering. One buffer is being rendered, other is displayed." It's basically choosing the newly rendered buffer instead of the one that displays a few vertical interrupts later. It needs to use the depth buffer instead.

I'm not sure if an OpenGL mod for buffer selection (like what Thalixte did for D3D) would work or if it's possible to do something like what you've done and use a custom ReShade version that gets depth data from the correct location. The developer of GlideN64 wants to help, he just doesn't know what needs to be done on his end to make ReShade work.

If you could share any speculation or advice I'd appreciate it!
The administrator has disabled public write access.