subj.
This probably wasn't very noticeable while it was used solely in DECORATE, but now in use cases like this it's very apparent that the same particle size given to SpawnParticle() results in twice as larger particle in OpenGL than it is in Software.
While this can be circumvented by GetCVar("vid_renderer"), this check is VERY unreliable since vid_renderer can be set before restarting, and isn't even a valid CVar in ZDoom and as such you can set it to anything and get the most random results in mods that rely on it.
Would be nice to have some consistency in SpawnParticle implementation instead.
Still happens as of current git build gzdoom-x64-g2.2pre-2024-g0e2d9af.
ACS SpawnParticle() size is different in Software and OpenGL
Moderator: Graf Zahl
-
- Developer
- Posts: 14
- Joined: Thu Nov 26, 2015 6:10
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
Re: ACS SpawnParticle() size is different in Software and OpenGL
I don't really understand how this can be, considering that the particle code is shared between renderers. This should happen with regular particles, too, then.
-
- Developer
- Posts: 14
- Joined: Thu Nov 26, 2015 6:10
Re: ACS SpawnParticle() size is different in Software and OpenGL
Test map: http://www.mediafire.com/download/2o18k ... xample.wad
This should display a rotating white line in the middle using particles.
In OpenGL the line will be almost continuous, while in Software it's made of dots.
Also, it's probably the same with particles in general as well, it's just that it becomes most apparent when you try to use it for drawing lines or other geometric shapes.
This should display a rotating white line in the middle using particles.
In OpenGL the line will be almost continuous, while in Software it's made of dots.
Also, it's probably the same with particles in general as well, it's just that it becomes most apparent when you try to use it for drawing lines or other geometric shapes.
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
Re: ACS SpawnParticle() size is different in Software and OpenGL
No idea right now. But I rather suspect a problem in the software renderer due to the floating point changes. Particles were among the affected things and it may just be that the scaling still isn't right. The particle size code in GZDoom hasn't changed for a long time.
-
- Developer
- Posts: 798
- Joined: Sat Jul 23, 2016 7:53
Re: ACS SpawnParticle() size is different in Software and OpenGL
On the subject of this, it seems that ZDoom uses a particle scale of 1/8 while GZDoom uses a scale of 1/4.
I'm not sure which one is the correct one, but that's why the sizes don't match.
I'm not sure which one is the correct one, but that's why the sizes don't match.