From 9b2a8565d6ab829ed6b07018f586569f2e29474b Mon Sep 17 00:00:00 2001 From: Jens Hemprich <31758696+jenshemprich@users.noreply.github.com> Date: Tue, 22 Aug 2006 21:15:31 +0000 Subject: [PATCH] Correctly disabling the client state --- MacGLide/OpenGLide/grguBuffer.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/MacGLide/OpenGLide/grguBuffer.cpp b/MacGLide/OpenGLide/grguBuffer.cpp index 35aaccd..74cfb6f 100644 --- a/MacGLide/OpenGLide/grguBuffer.cpp +++ b/MacGLide/OpenGLide/grguBuffer.cpp @@ -127,15 +127,28 @@ grBufferSwap( int swap_interval ) { glDisable(GL_COLOR_SUM_EXT); } - if (OpenGL.Fog) + if (OpenGL.Fog && OpenGL.FogTextureUnit) { - glActiveTextureARB(GL_TEXTURE2_ARB); + glActiveTextureARB(OpenGL.FogTextureUnit); + if (InternalConfig.EXT_compiled_vertex_array) + { + glClientActiveTextureARB(OpenGL.FogTextureUnit); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + glTexCoordPointer(4, GL_FLOAT, 0, NULL); + } glDisable(GL_TEXTURE_2D); + OpenGL.FogTextureUnitEnabledState = false; SetFogModeState(); } for(long unit_index = 1; unit_index >= 0; unit_index--) { glActiveTextureARB(OpenGL.ColorAlphaUnit1 + unit_index); + if (InternalConfig.EXT_compiled_vertex_array) + { + glClientActiveTextureARB(OpenGL.ColorAlphaUnit1 + unit_index); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + glTexCoordPointer(4, GL_FLOAT, 0, NULL); + } glDisable(GL_TEXTURE_2D); OpenGL.ColorAlphaUnitColorEnabledState[unit_index] = false; OpenGL.ColorAlphaUnitAlphaEnabledState[unit_index] = false;