Polymer: Don't bother fogcalc()ing invisible planes.

Doesn't actually matter that much.

git-svn-id: https://svn.eduke32.com/eduke32@1978 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
plagman 2011-08-20 21:05:14 +00:00
parent 5b379decc6
commit 98061f3a38

View file

@ -1244,10 +1244,6 @@ void polymer_drawmaskwall(int32_t damaskwallcnt)
wal = &wall[maskwall[damaskwallcnt]]; wal = &wall[maskwall[damaskwallcnt]];
w = prwalls[maskwall[damaskwallcnt]]; w = prwalls[maskwall[damaskwallcnt]];
fogcalc(wal->shade,sec->visibility,sec->floorpal);
bglFogf(GL_FOG_DENSITY,fogresult);
bglFogfv(GL_FOG_COLOR,fogcol);
bglEnable(GL_CULL_FACE); bglEnable(GL_CULL_FACE);
if (searchit == 2) { if (searchit == 2) {
@ -1257,6 +1253,10 @@ void polymer_drawmaskwall(int32_t damaskwallcnt)
w->mask.material.diffusemodulation[1] = ((GLubyte *)(&maskwall[damaskwallcnt]))[0]; w->mask.material.diffusemodulation[1] = ((GLubyte *)(&maskwall[damaskwallcnt]))[0];
w->mask.material.diffusemodulation[2] = ((GLubyte *)(&maskwall[damaskwallcnt]))[1]; w->mask.material.diffusemodulation[2] = ((GLubyte *)(&maskwall[damaskwallcnt]))[1];
w->mask.material.diffusemodulation[3] = 0xFF; w->mask.material.diffusemodulation[3] = 0xFF;
} else {
fogcalc(wal->shade, sec->visibility, sec->floorpal);
bglFogf(GL_FOG_DENSITY, fogresult);
bglFogfv(GL_FOG_COLOR, fogcol);
} }
polymer_drawplane(&w->mask); polymer_drawplane(&w->mask);
@ -1285,9 +1285,10 @@ void polymer_drawsprite(int32_t snum)
if ((tspr->cstat & 16384) && (!depth || mirrors[depth-1].plane)) if ((tspr->cstat & 16384) && (!depth || mirrors[depth-1].plane))
return; return;
fogcalc(tspr->shade,sector[tspr->sectnum].visibility,sector[tspr->sectnum].floorpal); fogcalc(tspr->shade, sector[tspr->sectnum].visibility,
bglFogf(GL_FOG_DENSITY,fogresult); sector[tspr->sectnum].floorpal);
bglFogfv(GL_FOG_COLOR,fogcol); bglFogf(GL_FOG_DENSITY, fogresult);
bglFogfv(GL_FOG_COLOR, fogcol);
if (usemodels && tile2model[Ptile2tile(tspr->picnum,tspr->pal)].modelid >= 0 && if (usemodels && tile2model[Ptile2tile(tspr->picnum,tspr->pal)].modelid >= 0 &&
tile2model[Ptile2tile(tspr->picnum,tspr->pal)].framenum >= 0 && tile2model[Ptile2tile(tspr->picnum,tspr->pal)].framenum >= 0 &&
@ -2462,10 +2463,6 @@ static void polymer_drawsector(int16_t sectnum)
sec = &sector[sectnum]; sec = &sector[sectnum];
s = prsectors[sectnum]; s = prsectors[sectnum];
fogcalc(sec->floorshade,sec->visibility,sec->floorpal);
bglFogf(GL_FOG_DENSITY,fogresult);
bglFogfv(GL_FOG_COLOR,fogcol);
if (!(sec->floorstat & 1025) || (searchit == 2)) { if (!(sec->floorstat & 1025) || (searchit == 2)) {
if (searchit == 2) { if (searchit == 2) {
memcpy(oldcolor, s->floor.material.diffusemodulation, sizeof(GLubyte) * 4); memcpy(oldcolor, s->floor.material.diffusemodulation, sizeof(GLubyte) * 4);
@ -2474,17 +2471,18 @@ static void polymer_drawsector(int16_t sectnum)
s->floor.material.diffusemodulation[1] = ((GLubyte *)(&sectnum))[0]; s->floor.material.diffusemodulation[1] = ((GLubyte *)(&sectnum))[0];
s->floor.material.diffusemodulation[2] = ((GLubyte *)(&sectnum))[1]; s->floor.material.diffusemodulation[2] = ((GLubyte *)(&sectnum))[1];
s->floor.material.diffusemodulation[3] = 0xFF; s->floor.material.diffusemodulation[3] = 0xFF;
} else {
fogcalc(sec->floorshade, sec->visibility, sec->floorpal);
bglFogf(GL_FOG_DENSITY, fogresult);
bglFogfv(GL_FOG_COLOR, fogcol);
} }
polymer_drawplane(&s->floor); polymer_drawplane(&s->floor);
if (searchit == 2) if (searchit == 2)
memcpy(s->floor.material.diffusemodulation, oldcolor, sizeof(GLubyte) * 4); memcpy(s->floor.material.diffusemodulation, oldcolor, sizeof(GLubyte) * 4);
} }
fogcalc(sec->ceilingshade,sec->visibility,sec->ceilingpal);
bglFogf(GL_FOG_DENSITY,fogresult);
bglFogfv(GL_FOG_COLOR,fogcol);
if (!(sec->ceilingstat & 1025) || (searchit == 2)) { if (!(sec->ceilingstat & 1025) || (searchit == 2)) {
if (searchit == 2) { if (searchit == 2) {
memcpy(oldcolor, s->ceil.material.diffusemodulation, sizeof(GLubyte) * 4); memcpy(oldcolor, s->ceil.material.diffusemodulation, sizeof(GLubyte) * 4);
@ -2493,7 +2491,12 @@ static void polymer_drawsector(int16_t sectnum)
s->ceil.material.diffusemodulation[1] = ((GLubyte *)(&sectnum))[0]; s->ceil.material.diffusemodulation[1] = ((GLubyte *)(&sectnum))[0];
s->ceil.material.diffusemodulation[2] = ((GLubyte *)(&sectnum))[1]; s->ceil.material.diffusemodulation[2] = ((GLubyte *)(&sectnum))[1];
s->ceil.material.diffusemodulation[3] = 0xFF; s->ceil.material.diffusemodulation[3] = 0xFF;
} else {
fogcalc(sec->ceilingshade, sec->visibility, sec->ceilingpal);
bglFogf(GL_FOG_DENSITY, fogresult);
bglFogfv(GL_FOG_COLOR, fogcol);
} }
polymer_drawplane(&s->ceil); polymer_drawplane(&s->ceil);
if (searchit == 2) if (searchit == 2)