ReShade for PSOBB

ZabaZu

Member
Hello everyone, I'm new to this forum and server (loving it so far). I made a ReShade preset for PSOBB, which has an extensive post on the Ultima forums, so if it's allowed (didn't see it in the rules), here's a link to that post.

https://www.phantasystaronline.net/forum/index.php?/topic/27191-reshade-for-psobb-20/

If linking to another forum is frowned upon, I can redo the post here, however it is substantially easier to maintain accurately from one source.
 

Sodaboy

Administrator
Staff member
I think it looks interesting but, for me, it makes everything have too much contrast and a lot of detail is lost in the picture due to crushing of shadow detail, etc.

I’m sure a lot of other people may think it is worth using, however.
 

ZabaZu

Member
I think it looks interesting but, for me, it makes everything have too much contrast and a lot of detail is lost in the picture due to crushing of shadow detail, etc.

I’m sure a lot of other people may think it is worth using, however.

That's the HDR shader, with that disabled the highs and lows are preserved. The fake HDR shader makes the eye adaptation shader more convincing. Based on my research, eye adaptation doesn't work well without an HDR output to reference (as you're effectively reducing the contrast ratio), and the fake shader helps give the impression that you're still looking at a proper full range output. At least, that was my intent. Many of the shaders for these post processing injectors are just a bunch of hacks to look like the real deal, it's impressive what they can pull off in a generic way. Thanks for commenting!
 

todd

Member
ZabuZu very impressive. Thanks for compiling this.

I might work on my own distro later of ReShade but basically,

ReShade is required for all PSOBB players with nVidia or AMD discrete graphics cards in a laptop or desktop with integrated graphics which cannot be disabled. This is also called optimus or switchable graphics. PSOBB cannot see the different GPUs or switch between them, being hardcoded to use the first graphics adapter so it cannot be switched to the discrete GPU. The problem of course is Intel CPU graphics have low frame rates in PSOBB limiting the resolution to 1080p or less. Intel GPU also does not really support AA/AF, although AF is possible to turn on, AA is not. 4K users need their discrete graphics to pull it off while enabling AA and AF.

The workaround is these post processing engines. The first I found last year was ENB but it turns out its codebase is so unoptimized and outdated it does not work well. It will cause PSOBB to spit an error if switched to 4K resolution or even qHD resolution as they call it. The frame rate even with all post processing effects disabled crawls especially on areas like the seabeds, certain episode 2/4 spots at all resolutions even 640x480.

This is the error ENB causes with qHD or 4K res:

Failed : CreateDevice
Error : Can't use format [D3DFMT_X8R8G8B8]
Error : Can't find DisplayMode
Error : Can't use format [D3DFMT_A8R8G8B8]

Then last night I found this ReShade compile. Very nice work. It automatically makes PSOBB compatible with switchable graphics so I can go onto the switchable graphics control panel and choose to run PSOBB on either the Intel GPU or my AMD Radeon M390X, and on my Radeon M390X I can for the first time run the qHD and 4K resolutions, max all settings including using pixel fog, etc. I even run it with 4xEQ AA and 16x AF forced on via AMD control panel.

My recommendation is we have an edition of ReShade that only switches on things like AF, AA, and enables the use of the discrete graphics that way we can run it as pure graphically as possible. Just to fix the issue of PSOBB not being able to switch to discrete graphics. Anyone who wants to enable some post processing that's up to them. As far as I noticed by default all it does is enable switchable graphics support with no post processing unless you turn on some effects with Shift+F2.

But yeah this really fixed PSOBB on my Alienware 15 R2 6820HK, 32GB RAM, SSD, AMD Radeon M390X. PSOBB is finally maxed and running again on my laptop:)
 
Last edited:

ZabaZu

Member
ZabuZu very impressive. Thanks for compiling this.

I might work on my own distro later of ReShade but basically,

ReShade is required for all PSOBB players with nVidia or AMD discrete graphics cards in a laptop or desktop with integrated graphics which cannot be disabled. This is also called optimus or switchable graphics. PSOBB cannot see the different GPUs or switch between them, being hardcoded to use the first graphics adapter so it cannot be switched to the discrete GPU. The problem of course is Intel CPU graphics have low frame rates in PSOBB limiting the resolution to 1080p or less. Intel GPU also does not really support AA/AF, although AF is possible to turn on, AA is not. 4K users need their discrete graphics to pull it off while enabling AA and AF.

The workaround is these post processing engines. The first I found last year was ENB but it turns out its codebase is so unoptimized and outdated it does not work well. It will cause PSOBB to spit an error if switched to 4K resolution or even qHD resolution as they call it. The frame rate even with all post processing effects disabled crawls especially on areas like the seabeds, certain episode 2/4 spots at all resolutions even 640x480.

This is the error ENB causes with qHD or 4K res:

Failed : CreateDevice
Error : Can't use format [D3DFMT_X8R8G8B8]
Error : Can't find DisplayMode
Error : Can't use format [D3DFMT_A8R8G8B8]

Then last night I found this ReShade compile. Very nice work. It automatically makes PSOBB compatible with switchable graphics so I can go onto the switchable graphics control panel and choose to run PSOBB on either the Intel GPU or my AMD Radeon M390X, and on my Radeon M390X I can for the first time run the qHD and 4K resolutions, max all settings including using pixel fog, etc. I even run it with 4xEQ AA and 16x AF forced on via AMD control panel.

My recommendation is we have an edition of ReShade that only switches on things like AF, AA, and enables the use of the discrete graphics that way we can run it as pure graphically as possible. Just to fix the issue of PSOBB not being able to switch to discrete graphics. Anyone who wants to enable some post processing that's up to them. As far as I noticed by default all it does is enable switchable graphics support with no post processing unless you turn on some effects with Shift+F2.

But yeah this really fixed PSOBB on my Alienware 15 R2 6820HK, 32GB RAM, SSD, AMD Radeon M390X. PSOBB is finally maxed and running again on my laptop:)

In the Radeon control panel you can't make per application rules? I know you can in Nvidia..although thinking about it now I recall Optimus not working properly with dx8. If that's the case, all you need is the dx8 to dx9 dlls off the ReShade website, don't even need ReShade itself.

github.com/crosire/d3d8to9/releases

This should also enable you to force AA and AF through the control panel for both Nvidia and AMD (can't personally confirm AMD, just a hunch).
 

todd

Member
ah yes I was just over on the ReShade website reading about DirectX8 to DirectX9.
ReShade itself does not support DirectX8, but they made a wrapper that converts the calls to DirectX9. this has applications outside of ReShade, because it's a generic wrapper that simply makes DirectX8 games send their calls through the DirectX9 framework.

tested it out. drop d3d8.dll in the PSOBB folder and this will convert PSOBB DirectX8 graphics calls to DirectX9 ones, and enable switchable graphics support for nVidia and AMD.

installing ReShade is an optional task you can do separately, which has a nice Shift+F2 menu you can pull up to turn on clocks, FPS counter, and load up shader files.

constant 29FPS on my rig using DirectX8 -> DX9 wrapper, with 4K res, 8xEQ supersampling AA, 16xAF. c00. game fixed.
 
Last edited:
Top