[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51097] branches/ge_harmony/source/ gameengine: 2D filters are now managed per scene again, however there is a bug when running multiple scenes with different filters (potentially something to do with the FBO).

Daniel Stokes kupomail at gmail.com
Fri Oct 5 19:55:33 CEST 2012


Revision: 51097
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51097
Author:   kupoman
Date:     2012-10-05 17:55:33 +0000 (Fri, 05 Oct 2012)
Log Message:
-----------
2D filters are now managed per scene again, however there is a bug when running multiple scenes with different filters (potentially something to do with the FBO). Also fixing a bug that caused builtin filters to not function properly.

Modified Paths:
--------------
    branches/ge_harmony/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
    branches/ge_harmony/source/gameengine/Converter/KX_ConvertActuators.cpp
    branches/ge_harmony/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
    branches/ge_harmony/source/gameengine/GameLogic/SCA_2DFilterActuator.h
    branches/ge_harmony/source/gameengine/GameLogic/SCA_IScene.h
    branches/ge_harmony/source/gameengine/Ketsji/KX_PythonInit.cpp
    branches/ge_harmony/source/gameengine/Ketsji/KX_Scene.cpp
    branches/ge_harmony/source/gameengine/Ketsji/KX_Scene.h
    branches/ge_harmony/source/gameengine/Rasterizer/CMakeLists.txt
    branches/ge_harmony/source/gameengine/Rasterizer/RAS_IRasterizer.h
    branches/ge_harmony/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OGLFilterManager.cpp
    branches/ge_harmony/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OGLFilterManager.h
    branches/ge_harmony/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
    branches/ge_harmony/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h

Added Paths:
-----------
    branches/ge_harmony/source/gameengine/Rasterizer/RAS_IFilterManager.h

Modified: branches/ge_harmony/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
===================================================================
--- branches/ge_harmony/source/gameengine/Converter/KX_BlenderSceneConverter.cpp	2012-10-05 17:51:44 UTC (rev 51096)
+++ branches/ge_harmony/source/gameengine/Converter/KX_BlenderSceneConverter.cpp	2012-10-05 17:55:33 UTC (rev 51097)
@@ -368,9 +368,9 @@
 			STR_String text = STR_String(shader->source);
 			Uniform *uni;
 			for (uni = (Uniform *)shader->uniforms.first; uni; uni = uni->next) {
-				destinationscene->Update2DUniform(i, STR_String(uni->name), (RAS_IRasterizer::RAS_UNIFORM_TYPE)uni->type, uni->data);
+				destinationscene->Update2DUniform(i, STR_String(uni->name), (RAS_UNIFORM_TYPE)uni->type, uni->data);
 			}
-			destinationscene->Update2DFilter(NULL, RAS_IRasterizer::RAS_2DFILTER_CUSTOMFILTER, i, text);
+			destinationscene->Update2DFilter(NULL, RAS_2DFILTER_CUSTOMFILTER, i, text);
 		}
 	}
 	

Modified: branches/ge_harmony/source/gameengine/Converter/KX_ConvertActuators.cpp
===================================================================
--- branches/ge_harmony/source/gameengine/Converter/KX_ConvertActuators.cpp	2012-10-05 17:51:44 UTC (rev 51096)
+++ branches/ge_harmony/source/gameengine/Converter/KX_ConvertActuators.cpp	2012-10-05 17:55:33 UTC (rev 51097)
@@ -946,56 +946,56 @@
 			bTwoDFilterActuator *_2dfilter = (bTwoDFilterActuator*) bact->data;
 			SCA_2DFilterActuator *tmp = NULL;
 
-			RAS_IRasterizer::RAS_2DFILTER_MODE filtermode;
+			RAS_2DFILTER_MODE filtermode;
 			switch(_2dfilter->type)
 			{
 				case ACT_2DFILTER_MOTIONBLUR:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_MOTIONBLUR;
+					filtermode = RAS_2DFILTER_MOTIONBLUR;
 					break;
 				case ACT_2DFILTER_BLUR:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_BLUR;
+					filtermode = RAS_2DFILTER_BLUR;
 					break;
 				case ACT_2DFILTER_SHARPEN:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_SHARPEN;
+					filtermode = RAS_2DFILTER_SHARPEN;
 					break;
 				case ACT_2DFILTER_DILATION:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_DILATION;
+					filtermode = RAS_2DFILTER_DILATION;
 					break;
 				case ACT_2DFILTER_EROSION:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_EROSION;
+					filtermode = RAS_2DFILTER_EROSION;
 					break;
 				case ACT_2DFILTER_LAPLACIAN:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_LAPLACIAN;
+					filtermode = RAS_2DFILTER_LAPLACIAN;
 					break;
 				case ACT_2DFILTER_SOBEL:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_SOBEL;
+					filtermode = RAS_2DFILTER_SOBEL;
 					break;
 				case ACT_2DFILTER_PREWITT:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_PREWITT;
+					filtermode = RAS_2DFILTER_PREWITT;
 					break;
 				case ACT_2DFILTER_GRAYSCALE:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_GRAYSCALE;
+					filtermode = RAS_2DFILTER_GRAYSCALE;
 					break;
 				case ACT_2DFILTER_SEPIA:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_SEPIA;
+					filtermode = RAS_2DFILTER_SEPIA;
 					break;
 				case ACT_2DFILTER_INVERT:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_INVERT;
+					filtermode = RAS_2DFILTER_INVERT;
 					break;
 				case ACT_2DFILTER_CUSTOMFILTER:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_CUSTOMFILTER;
+					filtermode = RAS_2DFILTER_CUSTOMFILTER;
 					break;
 				case ACT_2DFILTER_NOFILTER:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_NOFILTER;
+					filtermode = RAS_2DFILTER_NOFILTER;
 					break;
 				case ACT_2DFILTER_DISABLED:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_DISABLED;
+					filtermode = RAS_2DFILTER_DISABLED;
 					break;
 				case ACT_2DFILTER_ENABLED:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_ENABLED;
+					filtermode = RAS_2DFILTER_ENABLED;
 					break;
 				default:
-					filtermode = RAS_IRasterizer::RAS_2DFILTER_NOFILTER;
+					filtermode = RAS_2DFILTER_NOFILTER;
 					break;
 			}
 

Modified: branches/ge_harmony/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
===================================================================
--- branches/ge_harmony/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp	2012-10-05 17:51:44 UTC (rev 51096)
+++ branches/ge_harmony/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp	2012-10-05 17:55:33 UTC (rev 51097)
@@ -40,7 +40,7 @@
 
 SCA_2DFilterActuator::SCA_2DFilterActuator(
         SCA_IObject *gameobj,
-        RAS_IRasterizer::RAS_2DFILTER_MODE type,
+        RAS_2DFILTER_MODE type,
         short flag,
         float float_arg,
         int int_arg,
@@ -79,7 +79,7 @@
 	if (bNegativeEvent)
 		return false; // do nothing on negative events
 
-	if ( m_type == RAS_IRasterizer::RAS_2DFILTER_MOTIONBLUR )
+	if ( m_type == RAS_2DFILTER_MOTIONBLUR )
 	{
 		if (!m_disableMotionBlur)
 			m_rasterizer->EnableMotionBlur(m_float_arg);
@@ -88,7 +88,7 @@
 
 		return false;
 	}
-	else if (m_type < RAS_IRasterizer::RAS_2DFILTER_NUMBER_OF_FILTERS)
+	else if (m_type < RAS_2DFILTER_NUMBER_OF_FILTERS)
 	{
 		m_scene->Update2DFilter(m_gameobj, m_type, m_int_arg, m_shaderText);
 	}
@@ -139,7 +139,7 @@
 PyAttributeDef SCA_2DFilterActuator::Attributes[] = {
 	KX_PYATTRIBUTE_STRING_RW("shaderText", 0, 64000, false, SCA_2DFilterActuator, m_shaderText),
 	KX_PYATTRIBUTE_SHORT_RW("disableMotionBlur", 0, 1, true, SCA_2DFilterActuator, m_disableMotionBlur),
-	KX_PYATTRIBUTE_ENUM_RW("mode",RAS_IRasterizer::RAS_2DFILTER_ENABLED,RAS_IRasterizer::RAS_2DFILTER_NUMBER_OF_FILTERS,false,SCA_2DFilterActuator,m_type),
+	KX_PYATTRIBUTE_ENUM_RW("mode",RAS_2DFILTER_ENABLED,RAS_2DFILTER_NUMBER_OF_FILTERS,false,SCA_2DFilterActuator,m_type),
 	KX_PYATTRIBUTE_INT_RW("passNumber", 0, 100, true, SCA_2DFilterActuator, m_int_arg),
 	KX_PYATTRIBUTE_FLOAT_RW("value", 0.0, 100.0, SCA_2DFilterActuator, m_float_arg),
 	{ NULL }	//Sentinel

Modified: branches/ge_harmony/source/gameengine/GameLogic/SCA_2DFilterActuator.h
===================================================================
--- branches/ge_harmony/source/gameengine/GameLogic/SCA_2DFilterActuator.h	2012-10-05 17:51:44 UTC (rev 51096)
+++ branches/ge_harmony/source/gameengine/GameLogic/SCA_2DFilterActuator.h	2012-10-05 17:55:33 UTC (rev 51097)
@@ -41,7 +41,7 @@
 
 private:
 	vector<STR_String> m_propNames;
-	RAS_IRasterizer::RAS_2DFILTER_MODE m_type;
+	RAS_2DFILTER_MODE m_type;
 	short m_disableMotionBlur;
 	float m_float_arg;
 	int   m_int_arg;
@@ -53,7 +53,7 @@
 
 	SCA_2DFilterActuator(
 	        class SCA_IObject* gameobj,
-	        RAS_IRasterizer::RAS_2DFILTER_MODE type,
+	        RAS_2DFILTER_MODE type,
 	        short flag,
 	        float float_arg,
 	        int int_arg,

Modified: branches/ge_harmony/source/gameengine/GameLogic/SCA_IScene.h
===================================================================
--- branches/ge_harmony/source/gameengine/GameLogic/SCA_IScene.h	2012-10-05 17:51:44 UTC (rev 51096)
+++ branches/ge_harmony/source/gameengine/GameLogic/SCA_IScene.h	2012-10-05 17:55:33 UTC (rev 51097)
@@ -35,7 +35,7 @@
 #include <vector>
 
 #include "STR_String.h"
-#include "RAS_IRasterizer.h"
+#include "RAS_IFilterManager.h"
 
 #ifdef WITH_CXX_GUARDEDALLOC
 #include "MEM_guardedalloc.h"
@@ -68,9 +68,9 @@
 	void			AddDebugProperty(class CValue* debugprop,
 									 const STR_String &name);
 	void			RemoveAllDebugProperties();
-	virtual void	Update2DUniform(int pass, STR_String name, RAS_IRasterizer::RAS_UNIFORM_TYPE type, void *data){}
+	virtual void	Update2DUniform(int pass, STR_String name, RAS_UNIFORM_TYPE type, void *data){}
 	virtual void	Update2DFilter(void* gameObj, 
-									RAS_IRasterizer::RAS_2DFILTER_MODE filtermode, 
+									RAS_2DFILTER_MODE filtermode, 
 									int pass, STR_String& text) {}
 
 

Modified: branches/ge_harmony/source/gameengine/Ketsji/KX_PythonInit.cpp
===================================================================
--- branches/ge_harmony/source/gameengine/Ketsji/KX_PythonInit.cpp	2012-10-05 17:51:44 UTC (rev 51096)
+++ branches/ge_harmony/source/gameengine/Ketsji/KX_PythonInit.cpp	2012-10-05 17:55:33 UTC (rev 51097)
@@ -1608,21 +1608,21 @@
 	KX_MACRO_addTypesToDict(d, KX_MOUSE_BUT_RIGHT, SCA_IInputDevice::KX_RIGHTMOUSE);
 
 	/* 2D Filter Actuator */
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_ENABLED, RAS_IRasterizer::RAS_2DFILTER_ENABLED);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_DISABLED, RAS_IRasterizer::RAS_2DFILTER_DISABLED);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_NOFILTER, RAS_IRasterizer::RAS_2DFILTER_NOFILTER);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_MOTIONBLUR, RAS_IRasterizer::RAS_2DFILTER_MOTIONBLUR);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_BLUR, RAS_IRasterizer::RAS_2DFILTER_BLUR);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_SHARPEN, RAS_IRasterizer::RAS_2DFILTER_SHARPEN);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_DILATION, RAS_IRasterizer::RAS_2DFILTER_DILATION);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_EROSION, RAS_IRasterizer::RAS_2DFILTER_EROSION);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_LAPLACIAN, RAS_IRasterizer::RAS_2DFILTER_LAPLACIAN);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_SOBEL, RAS_IRasterizer::RAS_2DFILTER_SOBEL);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_PREWITT, RAS_IRasterizer::RAS_2DFILTER_PREWITT);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_GRAYSCALE, RAS_IRasterizer::RAS_2DFILTER_GRAYSCALE);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_SEPIA, RAS_IRasterizer::RAS_2DFILTER_SEPIA);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_INVERT, RAS_IRasterizer::RAS_2DFILTER_INVERT);
-	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_CUSTOMFILTER, RAS_IRasterizer::RAS_2DFILTER_CUSTOMFILTER);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_ENABLED, RAS_2DFILTER_ENABLED);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_DISABLED, RAS_2DFILTER_DISABLED);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_NOFILTER, RAS_2DFILTER_NOFILTER);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_MOTIONBLUR, RAS_2DFILTER_MOTIONBLUR);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_BLUR, RAS_2DFILTER_BLUR);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_SHARPEN, RAS_2DFILTER_SHARPEN);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_DILATION, RAS_2DFILTER_DILATION);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_EROSION, RAS_2DFILTER_EROSION);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_LAPLACIAN, RAS_2DFILTER_LAPLACIAN);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_SOBEL, RAS_2DFILTER_SOBEL);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_PREWITT, RAS_2DFILTER_PREWITT);
+	KX_MACRO_addTypesToDict(d, RAS_2DFILTER_GRAYSCALE, RAS_2DFILTER_GRAYSCALE);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list