diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-03-18 01:03:21 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-03-18 01:03:21 +0300 |
commit | 2a373f6c44756773ae45690848791de76704b37d (patch) | |
tree | a8dfb67b67702e0e0c6f9276d60eb507f309d8d2 /source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp | |
parent | c5bc4e4fb1a33eda8c31f2ea02e91f32f74c8fa5 (diff) |
Fix for bug #18419: game engine debug drawing interfered with alpha blending.
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp')
-rw-r--r-- | source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index d4d1b73c772..765ff0174ee 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -327,17 +327,23 @@ void RAS_OpenGLRasterizer::ClearCachingInfo(void) m_materialCachingInfo = 0; } -void RAS_OpenGLRasterizer::FlushDebugLines() +void RAS_OpenGLRasterizer::FlushDebugLines() { -//DrawDebugLines - glDisable(GL_LIGHTING); - glDisable(GL_TEXTURE_2D); + if(!m_debugLines.size()) + return; + + // DrawDebugLines + GLboolean light, tex; + + light= glIsEnabled(GL_LIGHTING); + tex= glIsEnabled(GL_TEXTURE_2D); + + if(light) glDisable(GL_LIGHTING); + if(tex) glDisable(GL_TEXTURE_2D); glBegin(GL_LINES); for (unsigned int i=0;i<m_debugLines.size();i++) { - - glColor4f(m_debugLines[i].m_color[0],m_debugLines[i].m_color[1],m_debugLines[i].m_color[2],1.f); const MT_Scalar* fromPtr = &m_debugLines[i].m_from.x(); const MT_Scalar* toPtr= &m_debugLines[i].m_to.x(); @@ -347,11 +353,10 @@ void RAS_OpenGLRasterizer::FlushDebugLines() } glEnd(); - glEnable(GL_LIGHTING); - glEnable(GL_TEXTURE_2D); + if(light) glEnable(GL_LIGHTING); + if(tex) glEnable(GL_TEXTURE_2D); m_debugLines.clear(); - } void RAS_OpenGLRasterizer::EndFrame() |