From 6864b40e26354f6b366e8fe8c2ff4f6680f09189 Mon Sep 17 00:00:00 2001 From: degasus Date: Fri, 7 Dec 2012 21:09:48 +0100 Subject: reset glEnableClientState befor every draw should be done with VAO, but atm, this is not possible :-( this also partial revert the fix in fb92c338af83 (activating texture0 globally). Signed-off-by: Ryan Houdek --- .../Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp') diff --git a/Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp b/Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp index 7e3244f634..8c3c3f3fca 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp @@ -17,6 +17,7 @@ #include "Globals.h" #include "FramebufferManager.h" +#include "VertexShaderGen.h" #include "TextureConverter.h" #include "Render.h" @@ -324,6 +325,22 @@ void XFBSource::Draw(const MathUtil::Rectangle &sourcerc, 1.0f, 0.0f }; + // disable all pointer, TODO: use VAO + glEnableClientState(GL_VERTEX_ARRAY); + glDisableVertexAttribArray(SHADER_POSMTX_ATTRIB); + glDisableClientState(GL_NORMAL_ARRAY); + glDisableVertexAttribArray(SHADER_NORM1_ATTRIB); + glDisableVertexAttribArray(SHADER_NORM2_ATTRIB); + glDisableClientState(GL_COLOR_ARRAY); + glDisableClientState(GL_SECONDARY_COLOR_ARRAY); + glClientActiveTexture(GL_TEXTURE0); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glClientActiveTexture(GL_TEXTURE1); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + for(int i=2; i<8; i++) { + glClientActiveTexture(GL_TEXTURE0 + i); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + } glVertexPointer(2, GL_FLOAT, 0, vtx1); glClientActiveTexture(GL_TEXTURE0); -- cgit v1.2.3