- 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
parent 1c3d4b46c6
commit 1eb1d8d280

View file

@ -343,10 +343,12 @@ GLHorizonPortal::GLHorizonPortal(FPortalSceneState *s, GLHorizonInfo * pt, FRend
// 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);