-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Metal Slug XX - texture issue at combat school #15755
Comments
Just to confirm, a PSP does render this frame dump properly: Vulkan gets it right too, but only at 1x. I explain here why it's problematic to handle these cases at higher resolutions: https://forums.ppsspp.org/showthread.php?tid=13556 Anyway, in software it draws the face like this: It's a triangle strip rectangle, in transform (3D) mode, and the coordinates are not very accurate:
If I disable As I described in the posted link, this is a case of "bad math." Software is a bug, but hardware at 2x is just doubling all the coordinates. Snapping to pixels will make 3D graphics look worse at higher render resolutions. Screen positions are 31.9375x31.9375 from a texture that's 31.476227x31.59655. That should end up close enough (it seems) at 1x, but the higher the resolution, the more those diverge. -[Unknown] |
On 1x there is a rectangle below her mouth for some reason... |
To me, that just looks slightly off-color, I wonder if it's a slightly different bitdepth and dither/etc. solves it on actual hardware. Does that happen in the software renderer? -[Unknown] |
No the coloring seems fine there. Also uploaded a frame capture here as well: |
If the start coordinate was something like 51.75, we were incorrectly drawing to 51. This can be seen in the Metal Slug intro (hrydgard#15755.)
I believe #16241 fixes all the software renderer issues noted here. Looking more closely at Vulkan, you're right that it's rendering this wrong - even with anisotropic set to off. It seems like it ends up sampling or drawing slightly outside where it should. This might still be tricky to fix due to the math concerns I mentioned, but I was hoping we wouldn't see issues of this at 1x... -[Unknown] |
Game or games this happens in
ULUS10495 Metal Slug XX v 1.01
What area of the game
When you are going to the Combat School option in the game you could see that when the character sprite mouth moves.
What happens
There is what some people call "misaligned texture" around the mouth area.

You can see it here:
What should happen
There should be no issue with the graphics there.
Note: You can still notice this happens even without upscaling its just less obvious.
Also , this happens on both Vulkan and OpenGL.
GE frame capture
ULUS10495.zip
Platform
Linux / BSD
Mobile phone model or graphics card
AMD Radeon 530/Intel UHD 620
PPSSPP version affected
1.13.1
Last working version
No response
Graphics backend (3D API)
Vulkan
Checklist
The text was updated successfully, but these errors were encountered: