Port Charles' GF3 fixes
This commit is contained in:
parent
338d299280
commit
86dd8cffdd
3 changed files with 43 additions and 10 deletions
17
gl_bumparb.c
17
gl_bumparb.c
|
@ -748,7 +748,7 @@ void ARB_SetupSimpleStage(stage_t *s)
|
|||
ARB_SetupTcMod(&s->tcmods[i]);
|
||||
}
|
||||
|
||||
if (s->src_blend > 0)
|
||||
if (s->src_blend > -1)
|
||||
{
|
||||
glBlendFunc(s->src_blend, s->dst_blend);
|
||||
glEnable(GL_BLEND);
|
||||
|
@ -869,6 +869,11 @@ void ARB_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
|
||||
if (!shader->cull)
|
||||
{
|
||||
glDisable(GL_CULL_FACE);
|
||||
}
|
||||
|
||||
for ( i = 0; i < shader->numstages; i++)
|
||||
{
|
||||
ARB_SetupSimpleStage(&shader->stages[i]);
|
||||
|
@ -877,7 +882,7 @@ void ARB_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
}
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
|
||||
if (verts->colors)
|
||||
if (verts->colors && (shader->flags & SURF_PPLIGHT))
|
||||
{
|
||||
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
||||
glEnableClientState(GL_COLOR_ARRAY);
|
||||
|
@ -920,7 +925,7 @@ void ARB_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
|
||||
glDisableClientState(GL_COLOR_ARRAY);
|
||||
}
|
||||
else
|
||||
else if (shader->flags & SURF_PPLIGHT)
|
||||
{
|
||||
glColor3f(0,0,0);
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
|
@ -928,9 +933,15 @@ void ARB_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
glEnable(GL_TEXTURE_2D);
|
||||
}
|
||||
|
||||
if (!shader->cull)
|
||||
{
|
||||
glEnable(GL_CULL_FACE);
|
||||
}
|
||||
|
||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
glDisable(GL_BLEND);
|
||||
glDisable(GL_ALPHA_TEST);
|
||||
}
|
||||
|
||||
/*************************
|
||||
|
|
|
@ -1122,7 +1122,7 @@ void Parhelia_SetupSimpleStage(stage_t *s)
|
|||
Parhelia_SetupTcMod(&s->tcmods[i]);
|
||||
}
|
||||
|
||||
if (s->src_blend > 0)
|
||||
if (s->src_blend > -1)
|
||||
{
|
||||
glBlendFunc(s->src_blend, s->dst_blend);
|
||||
glEnable(GL_BLEND);
|
||||
|
@ -1267,6 +1267,11 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
|
||||
if (!shader->cull)
|
||||
{
|
||||
glDisable(GL_CULL_FACE);
|
||||
}
|
||||
|
||||
for ( i = 0; i < shader->numstages; i++)
|
||||
{
|
||||
Parhelia_SetupSimpleStage(&shader->stages[i]);
|
||||
|
@ -1275,7 +1280,7 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
}
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
|
||||
if (verts->colors)
|
||||
if (verts->colors && (shader->flags & SURF_PPLIGHT))
|
||||
{
|
||||
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
||||
glEnableClientState(GL_COLOR_ARRAY);
|
||||
|
@ -1295,7 +1300,7 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
glBlendFunc(GL_ONE, GL_ONE);
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
glDisable(GL_BLEND);
|
||||
}
|
||||
|
@ -1318,7 +1323,7 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
|
||||
glDisableClientState(GL_COLOR_ARRAY);
|
||||
}
|
||||
else
|
||||
else if (shader->flags & SURF_PPLIGHT)
|
||||
{
|
||||
glColor3f(0,0,0);
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
|
@ -1326,9 +1331,15 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
glEnable(GL_TEXTURE_2D);
|
||||
}
|
||||
|
||||
if (!shader->cull)
|
||||
{
|
||||
glEnable(GL_CULL_FACE);
|
||||
}
|
||||
|
||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
glDisable(GL_BLEND);
|
||||
glDisable(GL_ALPHA_TEST);
|
||||
}
|
||||
|
||||
/*************************
|
||||
|
|
|
@ -1007,7 +1007,7 @@ void Radeon_SetupSimpleStage(stage_t *s)
|
|||
Radeon_SetupTcMod(&s->tcmods[i]);
|
||||
}
|
||||
|
||||
if (s->src_blend > 0)
|
||||
if (s->src_blend > -1)
|
||||
{
|
||||
glBlendFunc(s->src_blend, s->dst_blend);
|
||||
glEnable(GL_BLEND);
|
||||
|
@ -1128,6 +1128,11 @@ void Radeon_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
|
||||
if (!shader->cull)
|
||||
{
|
||||
glDisable(GL_CULL_FACE);
|
||||
}
|
||||
|
||||
for ( i = 0; i < shader->numstages; i++)
|
||||
{
|
||||
Radeon_SetupSimpleStage(&shader->stages[i]);
|
||||
|
@ -1136,7 +1141,7 @@ void Radeon_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
}
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
|
||||
if (verts->colors)
|
||||
if (verts->colors && (shader->flags & SURF_PPLIGHT))
|
||||
{
|
||||
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
||||
glEnableClientState(GL_COLOR_ARRAY);
|
||||
|
@ -1179,7 +1184,7 @@ void Radeon_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
|
||||
glDisableClientState(GL_COLOR_ARRAY);
|
||||
}
|
||||
else
|
||||
else if (shader->flags & SURF_PPLIGHT)
|
||||
{
|
||||
glColor3f(0,0,0);
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
|
@ -1187,9 +1192,15 @@ void Radeon_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
|||
glEnable(GL_TEXTURE_2D);
|
||||
}
|
||||
|
||||
if (!shader->cull)
|
||||
{
|
||||
glEnable(GL_CULL_FACE);
|
||||
}
|
||||
|
||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
glDisable(GL_BLEND);
|
||||
glDisable(GL_ALPHA_TEST);
|
||||
}
|
||||
|
||||
/*************************
|
||||
|
|
Loading…
Reference in a new issue