-
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
Water reflections in Flatout head on #11376
Comments
Never fixed yet |
Could you try exporting a GE debugger dump on PC? To do this, open the game and select Debug -> GE debugger..., then when it's displaying the scene, press Record in the top right. After a second or so, it'll finish and save a trace of the drawing activity. After that, check the memstick/PSP/SYSTEM/DUMP folder and it'll have created a file named something like "ULES12345_0000.ppdmp". You can zip that and then drag and drop it into a reply here. -[Unknown] |
I tried to reproduce the error on Windows version. No issues. |
Still the same opengl+vulkan |
A frame dump would be useful as unknown says above, full instructions: https://github.com/hrydgard/ppsspp/wiki/How-to-create-a-frame-dump (then just zip up and drag into your github post) Additionally, a screenshot with the software renderer enabled could be enlightening, or from hardware. |
So what does it look like on actual PSP hardware? |
I'm sending dump or atleast i think it's dump |
Am i did it right? |
You can see part of the boat visible under water |
As a quick test, I tried enabling depth write on this draw. Here's what software drew: Hardware is similar, although it has more and darker patches of water that way. Now for another test: disabling depth clamp/clipping in software for just that one draw: This looks almost exactly right. Hardware still gets the water bluer, but it looks much better: Digging deeper, if I turn off near clipping bad things happen. But if I target it just to that draw: So clipping is causing problems here... and yes. It's another triangle inversion. Each time it clipped (in this case), one or more original vertices had a negative w, and the resulting vertices are ending up with always positive w. This is happening to hardware rendering as well, in a visible way. I think it's harsher because of 8888 vs 5551. That means this is similar to the issue noted in #16207 and #15875, linking #16131 as well. But this one is visibly wrong in hardware rendering as well (not surprising.) Clipping against -[Unknown] |
I can confirm that water is now looking right in software rendering |
Fixing this in hardware renderers will be annoying. Should be pretty doable with a geometry shader, as long as we clip (or do some of the same math, at least) manually... we can't really decide to discard the points from the vertex shader, not accurately, anyway. Now that I understand how all of this works, it's obvious that the vertex range primitive discard just always happens, and clipping only "skips" it by happening beforehand. But APIs don't want to clip beforehand... -[Unknown] |
What happens?
What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.
Tested on android OpenGL with HW transformation-ON. Dont know if this issue have vulkan or dx
The text was updated successfully, but these errors were encountered: