[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25640] branches/blender2.4/source/ gameengine/Converter/BL_BlenderDataConversion.cpp: BGE: negative lamp fix for GLSL mode.

Dalai Felinto dfelinto at gmail.com
Thu Dec 31 19:52:06 CET 2009


Revision: 25640
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25640
Author:   dfelinto
Date:     2009-12-31 19:52:06 +0100 (Thu, 31 Dec 2009)

Log Message:
-----------
BGE: negative lamp fix for GLSL mode.
The files I used for test are here: http://blenderecia.orgfree.com/blender/tmp/neg_light.zip

Modified Paths:
--------------
    branches/blender2.4/source/gameengine/Converter/BL_BlenderDataConversion.cpp

Modified: branches/blender2.4/source/gameengine/Converter/BL_BlenderDataConversion.cpp
===================================================================
--- branches/blender2.4/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2009-12-31 18:51:02 UTC (rev 25639)
+++ branches/blender2.4/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2009-12-31 18:52:06 UTC (rev 25640)
@@ -1655,11 +1655,16 @@
 	lightobj.m_nodiffuse = (la->mode & LA_NO_DIFF) != 0;
 	lightobj.m_nospecular = (la->mode & LA_NO_SPEC) != 0;
 	
-	if (la->mode & LA_NEG)
-	{
-		lightobj.m_red = -lightobj.m_red;
-		lightobj.m_green = -lightobj.m_green;
-		lightobj.m_blue = -lightobj.m_blue;
+	bool glslmat = converter->GetGLSLMaterials();
+
+	// in GLSL NEGATIVE LAMP is handled inside the lamp update function
+	if(glslmat==0) {
+		if (la->mode & LA_NEG)
+		{
+			lightobj.m_red = -lightobj.m_red;
+			lightobj.m_green = -lightobj.m_green;
+			lightobj.m_blue = -lightobj.m_blue;
+		}
 	}
 		
 	if (la->type==LA_SUN) {
@@ -1671,7 +1676,7 @@
 	}
 
 	gamelight = new KX_LightObject(kxscene, KX_Scene::m_callbacks, rendertools,
-		lightobj, converter->GetGLSLMaterials());
+		lightobj, glslmat);
 
 	BL_ConvertLampIpos(la, gamelight, converter);
 	





More information about the Bf-blender-cvs mailing list