-
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
Tokimeki Memorial 4 graphic issue. #6379
Comments
Annoying. It looks like the game is rendering to a y offset within a framebuffer. -[Unknown] |
Just a black box since #6513 |
can't play with big black box in the middle. |
Does #7289 fix this or are the arms still broken, just black box resolved? -[Unknown] |
Arms still broken |
same. tested for windows x64
|
screenshot showing black bar on top arms
|
I think the issue in this game is basically that the game renders to two buffers that are each 256x256, and which are right next to each other. Because it rendered, we use it as a render-to-texture, but we only have the top half of the texture, not the lower half. We'd need to splice the two framebuffers together, or texture from both of them depending on the v coordinate. Or be really smart and break it into two drawcalls. Another option might be downloading both framebuffers to memory (in order to splice them.) Since we know that the height is > 256, we can be reasonably sure about the height of the first one, but the second one is unsafe and could corrupt important memory. I've thought before about trying to do all rendering to one big framebuffer that we try to creatively map to correct coordinates, or else use image load/store or something, but all of these are complicated or require GPU features that the devices we support don't have. -[Unknown] |
A little change,the lower part is cut out since #8130 |
I guess that means it's no longer at the edge on that side, so it's not repeating, or something. It's annoying it even bothers to draw it in two separate render targets. @hrydgard what do you think? This actually happens - per my memory - in at least one or two other games. In one of them, it's horizontally, because the game renders at a higher resolution (in two parts) and then scales it down. To detect it, we'd have to see a framebuffer Then we could just create a temp FBO, and blit the first framebuffer to the top, and blit the second to the bottom. We'd have to do this every frame but it would probably not be too expensive. This wouldn't lose any visual quality, but at > 1x render res, there might probably be a line between the two textures in some cases. I think that'd be fine, does it sound like a good approach? -[Unknown] |
go back to the usual broken look since #8168 |
v1.8.0-88-g24cfad87d |
Yeah we either need to detect this scenario or stitch the framebuffers together. -[Unknown] |
v1.15.4-121-g27b8d27ef-android |
A GE frame dump of the font display issue would be helpful. -[Unknown] |
sorry for the font issue like my comment has been fixed in a later version, at that time other games also experienced it. I forgot to report it sorry 🙏🙏🙏🙏🙏. |
Just for the record, |
Ran into this looking at issue #6379
Nearing the 10-year-anniversary of the issue, I have a fix by expanding the framebuffer and applying a vertical offset, seems to work. Based on the old method for Juiced 2. Will gate behind a compat flag for safety. |
Fixes Tokimeki Memorial 4 rendering. Fixes #6379, see comments.
Please test new builds with that commit, and re-open if there are still issues. |
Look at the arms.
buffered rendering
read framebuffers to memory fixes the problem,but have other problem.
log
Gedebugger
draw upper part of the girl
draw lower part
then
next step
The text was updated successfully, but these errors were encountered: