Fix OpenGL2 ignoring last light grid point on each axis

Also change light grid bounds clamping to make it more clear what invalid
values are.
This commit is contained in:
Zack Middleton 2015-07-09 22:28:08 -05:00
parent 5768e2316a
commit 1bb2bc370d
2 changed files with 3 additions and 3 deletions

View file

@ -151,7 +151,7 @@ static void R_SetupEntityLightingGrid( trRefEntity_t *ent ) {
frac[i] = v - pos[i]; frac[i] = v - pos[i];
if ( pos[i] < 0 ) { if ( pos[i] < 0 ) {
pos[i] = 0; pos[i] = 0;
} else if ( pos[i] >= tr.world->lightGridBounds[i] - 1 ) { } else if ( pos[i] > tr.world->lightGridBounds[i] - 1 ) {
pos[i] = tr.world->lightGridBounds[i] - 1; pos[i] = tr.world->lightGridBounds[i] - 1;
} }
} }

View file

@ -156,7 +156,7 @@ static void R_SetupEntityLightingGrid( trRefEntity_t *ent, world_t *world ) {
frac[i] = v - pos[i]; frac[i] = v - pos[i];
if ( pos[i] < 0 ) { if ( pos[i] < 0 ) {
pos[i] = 0; pos[i] = 0;
} else if ( pos[i] >= world->lightGridBounds[i] - 1 ) { } else if ( pos[i] > world->lightGridBounds[i] - 1 ) {
pos[i] = world->lightGridBounds[i] - 1; pos[i] = world->lightGridBounds[i] - 1;
} }
} }
@ -189,7 +189,7 @@ static void R_SetupEntityLightingGrid( trRefEntity_t *ent, world_t *world ) {
ignore = qfalse; ignore = qfalse;
for ( j = 0 ; j < 3 ; j++ ) { for ( j = 0 ; j < 3 ; j++ ) {
if ( i & (1<<j) ) { if ( i & (1<<j) ) {
if ((pos[j] + 1) >= world->lightGridBounds[j] - 1) if ((pos[j] + 1) > world->lightGridBounds[j] - 1)
{ {
ignore = qtrue; // ignore values outside lightgrid ignore = qtrue; // ignore values outside lightgrid
} }