From 973a61606143d61618d7a67609d696db7543e098 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Fri, 6 Dec 2013 23:02:00 -0600 Subject: [PATCH] Fix white flash levelshot bug in OpenGL1 If you tried to draw the last loaded image, gl texture 0 (which is appearently white) was used because renderer thought the image was already bound. Why OpenGL1 renderer binds texture 0, I have no idea. It's been removed from OpenGL2. --- code/renderergl1/tr_image.c | 2 ++ code/renderergl1/tr_model.c | 5 ----- code/renderergl2/tr_model.c | 5 ----- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/code/renderergl1/tr_image.c b/code/renderergl1/tr_image.c index 921bf7d0..d1127829 100644 --- a/code/renderergl1/tr_image.c +++ b/code/renderergl1/tr_image.c @@ -900,6 +900,8 @@ image_t *R_CreateImage( const char *name, byte *pic, int width, int height, qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, glWrapClampMode ); qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, glWrapClampMode ); + // FIXME: this stops fog from setting border color? + glState.currenttextures[glState.currenttmu] = 0; qglBindTexture( GL_TEXTURE_2D, 0 ); if ( image->TMU == 1 ) { diff --git a/code/renderergl1/tr_model.c b/code/renderergl1/tr_model.c index 0be26827..a3f91aee 100644 --- a/code/renderergl1/tr_model.c +++ b/code/renderergl1/tr_model.c @@ -886,11 +886,6 @@ void RE_BeginRegistration( glconfig_t *glconfigOut ) { RE_ClearScene(); tr.registered = qtrue; - - // NOTE: this sucks, for some reason the first stretch pic is never drawn - // without this we'd see a white flash on a level load because the very - // first time the level shot would not be drawn -// RE_StretchPic(0, 0, 0, 0, 0, 0, 1, 1, 0); } //============================================================================= diff --git a/code/renderergl2/tr_model.c b/code/renderergl2/tr_model.c index 931bffc5..36d3c506 100644 --- a/code/renderergl2/tr_model.c +++ b/code/renderergl2/tr_model.c @@ -1147,11 +1147,6 @@ void RE_BeginRegistration( glconfig_t *glconfigOut ) { RE_ClearScene(); tr.registered = qtrue; - - // NOTE: this sucks, for some reason the first stretch pic is never drawn - // without this we'd see a white flash on a level load because the very - // first time the level shot would not be drawn -// RE_StretchPic(0, 0, 0, 0, 0, 0, 1, 1, 0); } //=============================================================================