mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-04-11 12:40:45 +00:00
Work around the z-fighting on some baseq2 maps (new cvar gl_zfix)
This commit is contained in:
parent
d9519cee61
commit
7637d32f6f
3 changed files with 25 additions and 0 deletions
|
@ -234,6 +234,7 @@ extern cvar_t *gl_skymip;
|
|||
extern cvar_t *gl_showtris;
|
||||
extern cvar_t *gl_finish;
|
||||
extern cvar_t *gl_ztrick;
|
||||
extern cvar_t *gl_zfix;
|
||||
extern cvar_t *gl_clear;
|
||||
extern cvar_t *gl_cull;
|
||||
extern cvar_t *gl_poly;
|
||||
|
|
|
@ -146,6 +146,7 @@ cvar_t *gl_picmip;
|
|||
cvar_t *gl_skymip;
|
||||
cvar_t *gl_showtris;
|
||||
cvar_t *gl_ztrick;
|
||||
cvar_t *gl_zfix;
|
||||
cvar_t *gl_finish;
|
||||
cvar_t *gl_clear;
|
||||
cvar_t *gl_cull;
|
||||
|
@ -788,12 +789,20 @@ R_Clear(void)
|
|||
gldepthmin = 0;
|
||||
gldepthmax = 0.49999;
|
||||
qglDepthFunc(GL_LEQUAL);
|
||||
if (gl_zfix->value)
|
||||
{
|
||||
qglPolygonOffset(0, 14);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gldepthmin = 1;
|
||||
gldepthmax = 0.5;
|
||||
qglDepthFunc(GL_GEQUAL);
|
||||
if (gl_zfix->value)
|
||||
{
|
||||
qglPolygonOffset(0, -14);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -810,6 +819,10 @@ R_Clear(void)
|
|||
gldepthmin = 0;
|
||||
gldepthmax = 1;
|
||||
qglDepthFunc(GL_LEQUAL);
|
||||
if (gl_zfix->value)
|
||||
{
|
||||
qglPolygonOffset(0, 14);
|
||||
}
|
||||
}
|
||||
|
||||
qglDepthRange(gldepthmin, gldepthmax);
|
||||
|
@ -992,6 +1005,7 @@ R_Register(void)
|
|||
gl_skymip = ri.Cvar_Get("gl_skymip", "0", 0);
|
||||
gl_showtris = ri.Cvar_Get("gl_showtris", "0", 0);
|
||||
gl_ztrick = ri.Cvar_Get("gl_ztrick", "0", 0);
|
||||
gl_zfix = ri.Cvar_Get("gl_zfix", "1", 0);
|
||||
gl_finish = ri.Cvar_Get("gl_finish", "0", CVAR_ARCHIVE);
|
||||
gl_clear = ri.Cvar_Get("gl_clear", "0", 0);
|
||||
gl_cull = ri.Cvar_Get("gl_cull", "1", 0);
|
||||
|
|
|
@ -911,6 +911,11 @@ R_DrawBrushModel(entity_t *e)
|
|||
return;
|
||||
}
|
||||
|
||||
if (gl_zfix->value)
|
||||
{
|
||||
qglEnable(GL_POLYGON_OFFSET_FILL);
|
||||
}
|
||||
|
||||
qglColor3f(1, 1, 1);
|
||||
memset(gl_lms.lightmap_surfaces, 0, sizeof(gl_lms.lightmap_surfaces));
|
||||
|
||||
|
@ -992,6 +997,11 @@ R_DrawBrushModel(entity_t *e)
|
|||
R_EnableMultitexture(false);
|
||||
|
||||
qglPopMatrix();
|
||||
|
||||
if (gl_zfix->value)
|
||||
{
|
||||
qglDisable(GL_POLYGON_OFFSET_FILL);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue