Themaister / parallel-rdp

A low-level Vulkan compute emulation of the N64 RDP
MIT License
156 stars 15 forks source link

Incorrect Resolution Scaling #38

Closed DaRkL3AD3R closed 2 years ago

DaRkL3AD3R commented 2 years ago

Comparing Project64 with Angrylion RDP to Mupen64Plus-GUI with Parallel-RDP, we can see that the pixels look "off" in the latter when games aren't using the standard 320x240 internal resolution. In the following case, Goldeneye is using a strange resolution for menus, and it leads to lots of clipped pixels.

Project64 + Angrylion RDP = https://i.imgur.com/xloNndf.png

M64P-GUI + Parallel-RDP = https://i.imgur.com/k80ibV5.png

In both tests, nearest neighbor scaling is used with the N64 filtering disabled so we can see the raw pixels as they really are before filtering/scaling. Text becomes horribly low resolution and broken in the latter setup, lots of missing and misaligned pixels.

If I set Parallel-RDP to 2x render scaling, it helps a lot with cleaning up the broken text, but you can definitely tell it's still misaligned and pixels don't look like they're correct size/scale: https://i.imgur.com/8YOZg6c.png

Comparing all the above to my real Nintendo 64 with Goldeneye on a 480i NTSC TV using composite cables, the Project64 + Angrylion RDP output is an exact match for the real hardware.

mudlord commented 2 years ago

That would be a problem on my end, not Themaister's. Fixable if I rewrite the PJ64 and Mupen64Plus plugins to be pure Vulkan.

DaRkL3AD3R commented 2 years ago

I see. Then I'll be closing this issue.