Thanks, that does help. I tested toon highlighting in Advance Wars: Dual Strike and Advance Wars: Days of Ruin. During unit selection, the highlighted tiles do indeed use toon highlight blending. With these test cases, along with the Shadows of Almia logo, I think its safe to confirm that the fix in r5230 is correct.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Another issue is random line appear in the game itself (which should not exist). If OpenGL is set as the renderer the line appear is constant throughout the game. If Softrasterizer is set, the lines are there too but disappear once the character goes near it. This means if my character is walk down the line will disappear on the spot while walking back up makes the line appear again.
The weird line issue only appear in Pokemon Ranger game series only (except the original Pokemon Ranger).
This is a known issue with the current 3D rendering system, where we're approximating vertex coordinates with floating point numbers instead of being exact with fixed point numbers. Both renderers will reveal this inaccuracy to different degrees, and some games do better with certain renderers than others. It seems like OpenGL does worse than SoftRasterizer in this particular game.
This issue won't be fixed until we rewrite the base 3D rendering code to use fixed point. However, we can keep this issue open as another test case.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Partial texture of Pokemon missing or partially invisible when I click and hold the Pokemon. This issue is not trigger when clicking on it but it does flicker to show the small instance of time that during the clicking process causes partial invisibility.
This one happens in the original series of Pokemon Ranger.
This issue occurs because there is a special comparison between the polygon IDs of a translucent destination fragment and the source fragment's polygon ID, where if the comparison passes, then you overwrite the destination polygon ID with the source polygon ID.
Again, we run into a situation where we have to read and write the destination fragment at the same time, so we won't be fixing this in OpenGL anytime soon.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Latest issue that I found out is the looping that is drawn partially went missing initially during the pre title screen animation of Pokemon Rangers - Shadows of Almia. Later on the 2nd round loop that is drawn displayed 1 full circle as expected. I have to change it to use 1 core only so that it is slow enough for me to take screenshot.
If this can be fix immediately that will be good or else it's fine.
"Fixed" in [r5231]. This was an issue caused by a change I did in [r5176], where I intended to work on polygon ID handling, but never got around to it. I have reverted the code in r5231 to get the code out of its half-baked state. Stencil buffer clears will need to work this way until we can figure out how to better handle polygon IDs in the OpenGL renderer.
Bah, it's another polygon ID / stencil buffer issue, which won't be fixed until this stuff gets completely reworked.
In the future, please be more specific about bug reports. It would have been helpful if you mentioned that the fountain was in Striaton City. And if a bug takes more than a few minutes to encounter from the title screen, then please provide the .dsv save file so that the bug can easily be tested. You lucked out in that I've already completed Pokemon Black myself, so I was able to fly over to Striaton City and quickly get this bug tested. But keep in mind that not everyone will be able to do that.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not sure if this is a bug but I notice there is a yellow tint during the transition phase of fading in/out in Pokemon Mystery Dungeon pre title screen in all edition (Explorer of Time/Darkness/Sky)
Happens only on the bottom screen of the DS.
This is the same issue as the rainbow and clouds in Pokemon Rangers: Guardian Signs.
OpenGL does not emulate the special blending condition: If the destination fragment alpha is 0, then overwrite the destination fragment with the source fragment.
And as before, my response is: This won't be fixed in OpenGL anytime soon, if ever.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is a light colour shade difference in Softrasterizer whereby the top screen is a little lighter compare to the bottom screen but not occur in OpenGL.
Also the shape of the spiral is not in perfect curve. Can see a small miniature of the dent.
Top and bottom screen discrepancy is almost certainly not a bug. I get the same on opengl and softrasterizer and nobody would notice on an actual split screen.
Dent in spiral is caused by a standard texture precision issue. TXT hack will even fix it, like other text problems.
Nothing to address on either of these issues
Also stop posting JPGs for screen shots and circling tiny blocky bugs that look like JPG artifacts. Use PNG for screenshots.
Last edit: zeromus 2015-08-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's actually two problems: Yes, the polygon ID / stencil buffer issue does affect this scene a little bit. But the major issue is in how OpenGL treats depth differently from SoftRasterizer. We don't know why OpenGL's depth rendering can sometimes cause such wildly different results than SoftRasterizer... it just does. This is an issue that's eluded me for some time now, and will require further investigation to figure out exactly what's going on.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Once again I wanna thank rogerman for taking time to explain thoroughly on what is going on and what causes it. The explanation does indeed increase my knowledge on how rendering in emulator works.
And I like to learn new stuff all the time.
Last edit: Josh 2015-08-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks, that does help. I tested toon highlighting in Advance Wars: Dual Strike and Advance Wars: Days of Ruin. During unit selection, the highlighted tiles do indeed use toon highlight blending. With these test cases, along with the Shadows of Almia logo, I think its safe to confirm that the fix in r5230 is correct.
No problem at all. Glad that I could be your help :D
Last edit: Josh 2015-08-02
Another issue is random line appear in the game itself (which should not exist). If OpenGL is set as the renderer the line appear is constant throughout the game. If Softrasterizer is set, the lines are there too but disappear once the character goes near it. This means if my character is walk down the line will disappear on the spot while walking back up makes the line appear again.
The weird line issue only appear in Pokemon Ranger game series only (except the original Pokemon Ranger).
This is a known issue with the current 3D rendering system, where we're approximating vertex coordinates with floating point numbers instead of being exact with fixed point numbers. Both renderers will reveal this inaccuracy to different degrees, and some games do better with certain renderers than others. It seems like OpenGL does worse than SoftRasterizer in this particular game.
This issue won't be fixed until we rewrite the base 3D rendering code to use fixed point. However, we can keep this issue open as another test case.
Partial texture of Pokemon missing or partially invisible when I click and hold the Pokemon. This issue is not trigger when clicking on it but it does flicker to show the small instance of time that during the clicking process causes partial invisibility.
This one happens in the original series of Pokemon Ranger.
Last edit: Josh 2015-07-31
This issue occurs because there is a special comparison between the polygon IDs of a translucent destination fragment and the source fragment's polygon ID, where if the comparison passes, then you overwrite the destination polygon ID with the source polygon ID.
Again, we run into a situation where we have to read and write the destination fragment at the same time, so we won't be fixing this in OpenGL anytime soon.
Time to dump the oldtards with their pos gpu's.
OpenGL can handle reading and writing destinations now just fine.
Latest issue that I found out is the looping that is drawn partially went missing initially during the pre title screen animation of Pokemon Rangers - Shadows of Almia. Later on the 2nd round loop that is drawn displayed 1 full circle as expected. I have to change it to use 1 core only so that it is slow enough for me to take screenshot.
If this can be fix immediately that will be good or else it's fine.
Last edit: Josh 2015-08-02
"Fixed" in [r5231]. This was an issue caused by a change I did in [r5176], where I intended to work on polygon ID handling, but never got around to it. I have reverted the code in r5231 to get the code out of its half-baked state. Stencil buffer clears will need to work this way until we can figure out how to better handle polygon IDs in the OpenGL renderer.
Related
Commit: [r5176]
Commit: [r5231]
get equipped with Frame Advance hotkey (bound to N)
Fountain water flowing partial texture missing in Pokemon Black version.
The hole becomes more apparent (larger) as I move closer to it.
Last edit: Josh 2015-08-02
Bah, it's another polygon ID / stencil buffer issue, which won't be fixed until this stuff gets completely reworked.
In the future, please be more specific about bug reports. It would have been helpful if you mentioned that the fountain was in Striaton City. And if a bug takes more than a few minutes to encounter from the title screen, then please provide the .dsv save file so that the bug can easily be tested. You lucked out in that I've already completed Pokemon Black myself, so I was able to fly over to Striaton City and quickly get this bug tested. But keep in mind that not everyone will be able to do that.
Sorry about that. I will report more details about bug reports next time.
I'm not sure if this is a bug but I notice there is a yellow tint during the transition phase of fading in/out in Pokemon Mystery Dungeon pre title screen in all edition (Explorer of Time/Darkness/Sky)
Happens only on the bottom screen of the DS.
Last edit: Josh 2015-08-11
How about this issue then? Did you accidentally miss this part, zeromus?
no, it's just an opengl bug. sounds like something rogerman will enjoy fixing.
This is the same issue as the rainbow and clouds in Pokemon Rangers: Guardian Signs.
OpenGL does not emulate the special blending condition: If the destination fragment alpha is 0, then overwrite the destination fragment with the source fragment.
And as before, my response is: This won't be fixed in OpenGL anytime soon, if ever.
I see. Ok then. Thx for the response.
There is a light colour shade difference in Softrasterizer whereby the top screen is a little lighter compare to the bottom screen but not occur in OpenGL.
Also the shape of the spiral is not in perfect curve. Can see a small miniature of the dent.
Last edit: Josh 2015-08-11
Top and bottom screen discrepancy is almost certainly not a bug. I get the same on opengl and softrasterizer and nobody would notice on an actual split screen.
Dent in spiral is caused by a standard texture precision issue. TXT hack will even fix it, like other text problems.
Nothing to address on either of these issues
Also stop posting JPGs for screen shots and circling tiny blocky bugs that look like JPG artifacts. Use PNG for screenshots.
Last edit: zeromus 2015-08-11
I have enabled TXT hack and that is the result. The dent is more obvious with TXT hack turned off.
ok fine, but it doesnt matter, TXT hack can't fix everything. It's just proof that it's related. Still the same bug, still the same non-resolution.
Posted by another user regarding OpenGL renderer has missing 3D geometry.
Is that another Polygon ID/stencil buffer issue as well?
Bug #1493
It's actually two problems: Yes, the polygon ID / stencil buffer issue does affect this scene a little bit. But the major issue is in how OpenGL treats depth differently from SoftRasterizer. We don't know why OpenGL's depth rendering can sometimes cause such wildly different results than SoftRasterizer... it just does. This is an issue that's eluded me for some time now, and will require further investigation to figure out exactly what's going on.
Once again I wanna thank rogerman for taking time to explain thoroughly on what is going on and what causes it. The explanation does indeed increase my knowledge on how rendering in emulator works.
And I like to learn new stuff all the time.
Last edit: Josh 2015-08-12