- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
08745 | Graphics | Minor | Always | Aug 12, 2023, 14:08 | Aug 23, 2023, 11:30 |
Tester | AJR | View Status | Public | Platform | MAME (Self-compiled) |
Assigned To | AJR | Resolution | Fixed | OS | Linux (64-bit) |
Status [?] | Resolved | Driver | |||
Version | 0.255 | Fixed in Version | 0.258 | Build | 64-bit |
Fixed in Git Commit | 4727a73 | Github Pull Request # | |||
Summary | 08745: starcas: Invisible projectiles on OpenGL backend | ||||
Description |
When the player's ship fires, the projectiles are invisible. This is a regression since 0.248, where they appeared as blue points. I experimentally reverted 4df2f9d2f904073cd31d4d5db65cdb0d23270aac for ccpu, but that didn't fix this. It seems to be a purely graphical glitch, as the game remains otherwise playable. |
||||
Steps To Reproduce | Start a game and start firing at anything. | ||||
Additional Information | This seems specific to the OpenGL backend. With -video bgfx, dots can be seen at the ends of vectors, which also appear in my 0.248 build. | ||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | starcas | ||||
Attached Files
|
|||||
Relationships
There are no relationship linked to this issue. |
Notes
7
No.21696
Haze Senior Tester
Aug 12, 2023, 15:31
|
I can still see (very dark) blue points here |
---|---|
No.21699
Robbbert Senior Tester
Aug 15, 2023, 08:53
|
The bullets show up clearly for me. |
No.21700
AJR Developer
Aug 15, 2023, 23:44
|
With -video bgfx, the end dots return. I'll mark this report as OpenGL specific. |
No.21702
hap Developer
Aug 16, 2023, 19:41
|
opengl ignores mame.ini beam_dot_size somehow? set eg. beam_dot_size 5.0 then try in another video backend, get huge dots in starcas. try with opengl and they're near invisible as you say. |
No.21703
Robbbert Senior Tester
Aug 17, 2023, 04:57
|
Confirmed with opengl. Also, when the player's ship blows up there's no debris. |
No.21707
AJR Developer
Aug 19, 2023, 19:14
edited on: Aug 19, 2023, 19:16 |
After further investigation of the OpenGL renderer, I was able to locate the code that fails to respect -beam_dot_size (whose value is actually instated by the "vector" video device). However, this also points to a flaw in OpenGL itself regarding the GL_POINT_SMOOTH feature, which MAME automatically enables. Antialiasing and "proper filtering" are great things to have in theory, but in practice the OpenGL drivers draw "smooth" point objects as circle shapes that are smaller than they would be with the feature disabled (which turns them into squares) or with other renderers (BGFX draws them as diamonds) and vanishingly faint with the default -beam_dot_size. What's more, this flaw is unlikely to ever be fixed, given that the "Fixed Function Pipeline" OpenGL API that MAME uses was already deprecated when SDLMAME (where the OpenGL renderer originated) was merged in 2010. (The newer, shader-based OpenGL API appears to not even include GL_POINT_SMOOTH.) The easiest recourse to the OpenGL dot size problem, I think, would be to just disable GL_POINT_SMOOTH. Are there any objections to that? |
No.21708
hap Developer
Aug 19, 2023, 19:52
|
I don't see any difference when I locally remove GL_POINT_SMOOTH. The Windows GDI renderer also doesn't like it if you increase beam_dot_size btw, it will draw thin vertical lines. |