From fc0855fac7a26ba37ac9aa0d7e2f573e48bc72df Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 21 May 2017 12:36:34 +0200 Subject: [PATCH] - fixed size of particles in the hardware renderer. From the look of it the scale was changed in the software renderer several years back but the hardware renderer never got adjusted for it. This also adds a bit of compensation to round particles so that they get rendered a bit larger than square ones. --- src/gl/scene/gl_sprite.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gl/scene/gl_sprite.cpp b/src/gl/scene/gl_sprite.cpp index 629f8acb9..c491bb33e 100644 --- a/src/gl/scene/gl_sprite.cpp +++ b/src/gl/scene/gl_sprite.cpp @@ -1185,10 +1185,11 @@ void GLSprite::ProcessParticle (particle_t *particle, sector_t *sector)//, int s y = particle->Pos.Y; z = particle->Pos.Z; - float scalefac=particle->size/4.0f; - // [BB] The smooth particles are smaller than the other ones. Compensate for this here. - if (gl_particles_style==2) - scalefac *= 1.7; + float factor; + if (gl_particles_style == 1) factor = 1.3f / 7.f; + else if (gl_particles_style == 2) factor = 2.5f / 7.f; + else factor = 1 / 7.f; + float scalefac=particle->size * factor; float viewvecX = GLRenderer->mViewVector.X; float viewvecY = GLRenderer->mViewVector.Y;