[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19324] trunk/blender/source/gameengine/ Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp: Fix for bug #18419: game engine debug drawing interfered with alpha blending.

Brecht Van Lommel brecht at blender.org
Tue Mar 17 23:03:22 CET 2009


Revision: 19324
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19324
Author:   blendix
Date:     2009-03-17 23:03:21 +0100 (Tue, 17 Mar 2009)

Log Message:
-----------
Fix for bug #18419: game engine debug drawing interfered with alpha blending.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp	2009-03-17 21:44:58 UTC (rev 19323)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp	2009-03-17 22:03:21 UTC (rev 19324)
@@ -327,17 +327,23 @@
 	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 @@
 	}
 	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()





More information about the Bf-blender-cvs mailing list