mirror of
https://git.code.sf.net/p/quake/newtree
synced 2025-04-19 04:51:16 +00:00
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:
parent
db7450c11d
commit
8c90357234
7 changed files with 16 additions and 8 deletions
|
@ -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];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue