subdivided skys are back. it seems some cards don't like big polys.

gl_sky_divide (default 1) controls this.
This commit is contained in:
Bill Currie 2000-12-17 22:07:06 +00:00
parent db7450c11d
commit 8c90357234
7 changed files with 16 additions and 8 deletions

View file

@ -222,8 +222,9 @@ extern cvar_t *gl_max_size;
extern cvar_t *gl_playermip;
extern cvar_t *r_skyname;
extern cvar_t *gl_skymultipass;
extern cvar_t *gl_skymultipass;
extern cvar_t *gl_sky_clip;
extern cvar_t *gl_sky_divide;
extern float r_world_matrix[16];

View file

@ -122,6 +122,7 @@ cvar_t *gl_lerp_anim;
cvar_t *r_skyname;
cvar_t *gl_skymultipass;
cvar_t *gl_sky_clip;
cvar_t *gl_sky_divide;
cvar_t *gl_fb_models;
cvar_t *gl_fb_bmodels;

View file

@ -270,6 +270,8 @@ R_Init_Cvars (void)
"controls whether the skydome is single or double pass");
gl_sky_clip = Cvar_Get ("gl_sky_clip", "0", CVAR_NONE,
"controls whether sky is drawn first (0) or later (1)");
gl_sky_divide = Cvar_Get ("gl_sky_divide", "1", CVAR_ARCHIVE,
"subdivide sky polys");
}
/*

View file

@ -1304,6 +1304,8 @@ GL_BuildLightmaps (void)
for (i = 0; i < m->numsurfaces; i++) {
if (m->surfaces[i].flags & SURF_DRAWTURB)
continue;
if (gl_sky_divide->int_val && (m->surfaces[i].flags & SURF_DRAWSKY))
continue;
GL_CreateSurfaceLightmap (m->surfaces + i);
BuildSurfaceDisplayList (m->surfaces + i);
}

View file

@ -35,6 +35,7 @@
#include <math.h>
#include <string.h>
#include "cvar.h"
#include "model.h"
#include "qendian.h"
#include "server.h"
@ -48,6 +49,7 @@ extern const int mod_lightmap_bytes;
byte mod_novis[MAX_MAP_LEAFS / 8];
void GL_SubdivideSurface (msurface_t *fa);
extern cvar_t *gl_sky_divide;
/*
===============
@ -578,9 +580,9 @@ Mod_LoadFaces (lump_t *l)
if (!strncmp (out->texinfo->texture->name, "sky", 3)) // sky
{
void BuildSurfaceDisplayList (msurface_t *);
out->flags |= (SURF_DRAWSKY | SURF_DRAWTILED);
if (gl_sky_divide && gl_sky_divide->int_val)
GL_SubdivideSurface (out);
continue;
}

View file

@ -164,6 +164,7 @@ cvar_t *r_aliastransbase;
cvar_t *r_aliastransadj;
cvar_t *gl_flashblend;
cvar_t *gl_sky_divide;
extern cvar_t *scr_fov;
@ -282,11 +283,9 @@ R_Init_Cvars (void)
r_numedges = Cvar_Get ("r_numedges", "0", CVAR_NONE, "None");
r_aliastransbase = Cvar_Get ("r_aliastransbase", "200", CVAR_NONE, "None");
r_aliastransadj = Cvar_Get ("r_aliastransadj", "100", CVAR_NONE, "None");
gl_flashblend = Cvar_Get ("gl_flashblend", "0", CVAR_NONE, "None"); // FIXME:
// remove
// this!
// --KB
gl_flashblend = Cvar_Get ("gl_flashblend", "0", CVAR_NONE, "None");
gl_sky_divide = Cvar_Get ("gl_sky_divide", "1", CVAR_ARCHIVE,
"subdivide sky polys");
}
/*

View file

@ -41,6 +41,7 @@
const int mod_lightmap_bytes = 1;
mplane_t frustum[4];
cvar_t *gl_sky_divide; // not used but needed for linking
void Mod_LoadBrushModel (model_t *mod, void *buffer);