void R_RenderLumas (void) { int i; glpoly_t *p; if (!drawlumas) return; glDepthMask (GL_FALSE); // don't bother writing Z glEnable(GL_BLEND); glBlendFunc(GL_ONE, GL_ONE); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); for (i = 1; i < MAX_GLTEXTURES; i++) { if (!luma_polys[i]) continue; GL_Bind (i); for (p = luma_polys[i]; p; p = p->luma_chain) DrawGLPoly (p); luma_polys[i] = NULL; } glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDepthMask (GL_TRUE); drawlumas = false; }
void R_RenderFullbrights (void) { int i; glpoly_t *p; if (!drawfullbrights) return; glDepthMask (GL_FALSE); // don't bother writing Z glEnable(GL_ALPHA_TEST); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); for (i = 1; i < MAX_GLTEXTURES; i++) { if (!fullbright_polys[i]) continue; GL_Bind (i); for (p = fullbright_polys[i]; p; p = p->fb_chain) DrawGLPoly (p); fullbright_polys[i] = NULL; } glDisable(GL_ALPHA_TEST); glDepthMask (GL_TRUE); drawfullbrights = false; }
void Sky_ProcessPoly (glpoly_t *p) { int i; MathVector3f_t verts[MAX_CLIP_VERTS]; // Draw it DrawGLPoly(p); rs_brushpasses++; // Update sky bounds if (!r_fastsky.value) { for (i=0 ; i<p->numverts ; i++) Math_VectorSubtract (p->verts[i], r_origin, verts[i]); Sky_ClipPoly (p->numverts, verts[0], 0); } }