[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19882] trunk/blender/source/gameengine: BGE bug #17670: Python controlled mist doesnt work in textured mode.

Benoit Bolsee benoit.bolsee at online.be
Thu Apr 23 00:12:37 CEST 2009


Revision: 19882
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19882
Author:   ben2610
Date:     2009-04-23 00:12:36 +0200 (Thu, 23 Apr 2009)

Log Message:
-----------
BGE bug #17670: Python controlled mist doesnt work in textured mode.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
    trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h

Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2009-04-22 20:54:27 UTC (rev 19881)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2009-04-22 22:12:36 UTC (rev 19882)
@@ -1000,7 +1000,7 @@
 			wi->getAmbientColorBlue()
 		);
 
-		if (m_drawingmode == RAS_IRasterizer::KX_TEXTURED)
+		if (m_drawingmode >= RAS_IRasterizer::KX_SOLID)
 		{	
 			if (wi->hasMist())
 			{
@@ -1012,10 +1012,6 @@
 					wi->getMistColorBlue()
 				);
 			}
-			else
-			{
-				m_rasterizer->DisableFog();
-			}
 		}
 	}
 }

Modified: trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp	2009-04-22 20:54:27 UTC (rev 19881)
+++ trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp	2009-04-22 22:12:36 UTC (rev 19882)
@@ -632,6 +632,17 @@
 	Py_RETURN_NONE;
 }
 
+static PyObject* gPyDisableMist(PyObject*)
+{
+	
+	if (!gp_Rasterizer) {
+		PyErr_SetString(PyExc_RuntimeError, "Rasterizer.setMistColor(color), Rasterizer not available");
+		return NULL;
+	}	
+	gp_Rasterizer->DisableFog();
+	
+	Py_RETURN_NONE;
+}
 
 
 static PyObject* gPySetMistStart(PyObject*, PyObject* args)
@@ -900,6 +911,7 @@
    METH_VARARGS, "setMousePosition(int x,int y)"},
   {"setBackgroundColor",(PyCFunction)gPySetBackgroundColor,METH_O,"set Background Color (rgb)"},
 	{"setAmbientColor",(PyCFunction)gPySetAmbientColor,METH_O,"set Ambient Color (rgb)"},
+ {"disableMist",(PyCFunction)gPyDisableMist,METH_NOARGS,"turn off mist"},
  {"setMistColor",(PyCFunction)gPySetMistColor,METH_O,"set Mist Color (rgb)"},
   {"setMistStart",(PyCFunction)gPySetMistStart,METH_VARARGS,"set Mist Start(rgb)"},
   {"setMistEnd",(PyCFunction)gPySetMistEnd,METH_VARARGS,"set Mist End(rgb)"},

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h	2009-04-22 20:54:27 UTC (rev 19881)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h	2009-04-22 22:12:36 UTC (rev 19882)
@@ -280,6 +280,7 @@
 	/**
 	 */
 	virtual void	DisableFog()=0;
+	virtual bool	IsFogEnabled()=0;
 
 	virtual void	SetBackColor(float red,
 								 float green,

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp	2009-04-22 20:54:27 UTC (rev 19881)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp	2009-04-22 22:12:36 UTC (rev 19882)
@@ -210,6 +210,10 @@
 	m_fogenabled = false;
 }
 
+bool RAS_OpenGLRasterizer::IsFogEnabled()
+{
+	return m_fogenabled;
+}
 
 
 void RAS_OpenGLRasterizer::DisplayFog()

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h	2009-04-22 20:54:27 UTC (rev 19881)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h	2009-04-22 22:12:36 UTC (rev 19882)
@@ -190,6 +190,7 @@
 
 	void			DisableFog();
 	virtual void	DisplayFog();
+	virtual bool	IsFogEnabled();
 
 	virtual void	SetBackColor(
 						float red,





More information about the Bf-blender-cvs mailing list