Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Sharp bilinear filtering implementation for output scaling #16001

Open
MercuryAmalgam opened this issue Aug 26, 2024 · 1 comment

Comments

@MercuryAmalgam
Copy link

Quick summary

A less blurry implementation of bilinear output scaling

Details

There are 3 output scaling options present in RPCS3 at the moment:

  • Nearest - only really works if your display matches or has 2x the resolution of the output resolution
  • Bilinear - blurrier than the 720p output of a real PS3 displayed on a TV
  • FSR1 - rounds off sharp corners on all sharpness settings

For users who can't or prefer not to use increased resolution scaling (due to performance, visual glitches etc.) - there is no output mode setting that could present a nicely scaled picture without excessive blurring (bilinear), shimmer (nearest) or scaling artifacts (FSR1) on 1080p displays in most games

Other emulators such as Duckstation, PCSX2, Dolphin and others - have a "sharp bilinear" output filtering implementation
It works by maintaining the sharpness of an integer scaling while performing some blending to reduce shimmering artifacts

  • What part of RPCS3 would be affected by your feature? (Gameplay, Debugging, UI, Patches, Installation, CI etc.)
    Game visuals, output scaling method implementation + UI option

  • Why your feature is important to RPCS3.
    It would allow users with displays that don't match the output resolution (usually 720p) or can't use resolution scaling to enjoy a sharp image without apparent scaling artifacts

  • If the feature is implemented in other projects, attach screenshots.
    The feature can be found at the very least in the Duckstation, PCSX2 and Dolphin emulators:
    Dolphin
    Duckstation
    PCSX2

Here is an example implementation for another project, with source code:
https://github.com/rsn8887/Sharp-Bilinear-Shaders

Please consider implementing this feature

@kd-11 kd-11 changed the title Sharp bilinear filtering implementation for output scaling [Feature Request] Sharp bilinear filtering implementation for output scaling Aug 26, 2024
@MercuryAmalgam
Copy link
Author

MercuryAmalgam commented Sep 28, 2024

Got a new PS3 - so made a comparison between integer, bilinear on RPCS3 at 720p and an actual PS3
As you can see at native res RPCS3 on bilinear is more blurry, on integer it's way pixelated - no mode matches the PS3's output
Increasing internal res improves things, but requires more resources and can have glitches
Scaling

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants