- fixed math imprecisions in horizon vertex generation.

Floats are not precise enough to be used as a loop counter.
This commit is contained in:
Christoph Oelckers 2018-09-09 08:57:50 +02:00 committed by drfrag666
parent f557fa4296
commit 7848bab7b3

View file

@ -1101,10 +1101,12 @@ GLHorizonPortal::GLHorizonPortal(GLHorizonInfo * pt, bool local)
// Draw to some far away boundary
// This is not drawn as larger strips because it causes visual glitches.
FFlatVertex *ptr = GLRenderer->mVBO->GetBuffer();
for (float x = -32768 + vx; x<32768 + vx; x += 4096)
for (int xx = -32768; xx < 32768; xx += 4096)
{
for (float y = -32768 + vy; y<32768 + vy; y += 4096)
float x = xx + vx;
for (int yy = -32768; yy < 32768; yy += 4096)
{
float y = yy + vy;
ptr->Set(x, z, y, x / 64, -y / 64);
ptr++;
ptr->Set(x + 4096, z, y, x / 64 + 64, -y / 64);