Index: src/ref_gl/gl_rmain.c =================================================================== --- src/ref_gl/gl_rmain.c (revision 4645) +++ src/ref_gl/gl_rmain.c (working copy) @@ -890,7 +890,7 @@ else qglDisable(GL_CULL_FACE); - qglDisable(GL_BLEND); lllllllllllllllllllllllllllll + /* qglDisable(GL_BLEND); */ qglDisable(GL_ALPHA_TEST); qglEnable(GL_DEPTH_TEST); @@ -905,6 +905,11 @@ } } +float ref_frand(void) +{ + return (((rand()&32767)) * .0000305185094759971922971282082583086642f); +} + /** * @brief */ @@ -913,8 +918,11 @@ if (gl_ztrick->value) { static int trickframe; - if (gl_clear->value) + if (gl_clear->value) { + if (gl_clear->value == 2) + qglClearColor (ref_frand(), ref_frand(), ref_frand(), 1.0); qglClear(GL_COLOR_BUFFER_BIT); + } trickframe++; if (trickframe & 1) { @@ -927,9 +935,11 @@ qglDepthFunc(GL_GEQUAL); } } else { - if (gl_clear->value) + if (gl_clear->value) { + if (gl_clear->value == 2) + qglClearColor (ref_frand(), ref_frand(), ref_frand(), 1.0); qglClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - else + } else qglClear(GL_DEPTH_BUFFER_BIT); gldepthmin = 0; gldepthmax = 1; @@ -972,10 +982,10 @@ /* if (!r_worldmodel && !( r_newrefdef.rdflags & RDF_NOWORLDMODEL ) ) */ /* ri.Sys_Error (ERR_DROP, "R_RenderView: NULL worldmodel"); */ - if (r_speeds->value) { - c_brush_polys = 0; - c_alias_polys = 0; - } +/* if (r_speeds->value) {*/ + c_brush_polys = 0; + c_alias_polys = 0; +/* }*/ if (gl_finish->value) qglFinish(); @@ -1050,8 +1060,8 @@ qglLoadIdentity(); qglDisable(GL_DEPTH_TEST); qglDisable(GL_CULL_FACE); - qglDisable(GL_BLEND); - qglDisable(GL_FOG); + /*qglDisable(GL_BLEND); + qglDisable(GL_FOG);*/ qglEnable(GL_ALPHA_TEST); GL_TexEnv(GL_MODULATE); qglColor4f(1, 1, 1, 1); @@ -1273,12 +1283,10 @@ gl_config.extensions_string = (char *)qglGetString (GL_EXTENSIONS); ri.Con_Printf (PRINT_ALL, "GL_EXTENSIONS: %s\n", gl_config.extensions_string ); - Q_strncpyz( renderer_buffer, gl_config.renderer_string, sizeof(renderer_buffer) ); - renderer_buffer[sizeof(renderer_buffer)-1] = 0; + Q_strncpyz( renderer_buffer, gl_config.renderer_string, sizeof(renderer_buffer)-1); Q_strlwr( renderer_buffer ); - Q_strncpyz( vendor_buffer, gl_config.vendor_string, sizeof(vendor_buffer) ); - vendor_buffer[sizeof(vendor_buffer)-1] = 0; + Q_strncpyz( vendor_buffer, gl_config.vendor_string, sizeof(vendor_buffer)-1); Q_strlwr( vendor_buffer ); if ( strstr( renderer_buffer, "voodoo" ) ) { @@ -1302,7 +1310,7 @@ gl_config.renderer = GL_RENDERER_RENDITION; else gl_config.renderer = GL_RENDERER_OTHER; - +/* if ( toupper( gl_monolightmap->string[1] ) != 'F' ) { if ( gl_config.renderer == GL_RENDERER_PERMEDIA2 ) { ri.Cvar_Set( "gl_monolightmap", "A" ); @@ -1313,14 +1321,15 @@ else ri.Cvar_Set( "gl_monolightmap", "0" ); } +*/ #if defined __linux__ || defined __FreeBSD__ ri.Cvar_SetValue("gl_finish", 1); -#else +#endif + /* MCD has buffering issues */ if (gl_config.renderer == GL_RENDERER_MCD) ri.Cvar_SetValue("gl_finish", 1); -#endif /* grab extensions */ if (strstr(gl_config.extensions_string, "GL_EXT_compiled_vertex_array") || strstr(gl_config.extensions_string, "GL_SGI_compiled_vertex_array")) {