[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49131] branches/ge_harmony/source/ gameengine: A 2D filter set in the UI is now used in the game engine.

Daniel Stokes kupomail at gmail.com
Mon Jul 23 04:10:18 CEST 2012


Revision: 49131
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49131
Author:   kupoman
Date:     2012-07-23 02:10:15 +0000 (Mon, 23 Jul 2012)
Log Message:
-----------
A 2D filter set in the UI is now used in the game engine. Custom uniforms are not yet supported

Modified Paths:
--------------
    branches/ge_harmony/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
    branches/ge_harmony/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp

Modified: branches/ge_harmony/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
===================================================================
--- branches/ge_harmony/source/gameengine/Converter/KX_BlenderSceneConverter.cpp	2012-07-23 02:05:40 UTC (rev 49130)
+++ branches/ge_harmony/source/gameengine/Converter/KX_BlenderSceneConverter.cpp	2012-07-23 02:10:15 UTC (rev 49131)
@@ -39,6 +39,7 @@
 #include "KX_BlenderSceneConverter.h"
 #include "KX_IpoConvert.h"
 #include "RAS_MeshObject.h"
+#include "RAS_2DFilterManager.h"
 #include "KX_PhysicsEngineEnums.h"
 #include "PHY_IPhysicsEnvironment.h"
 #include "KX_KetsjiEngine.h"
@@ -83,6 +84,7 @@
 #include "DNA_curve_types.h"
 #include "DNA_mesh_types.h"
 #include "DNA_material_types.h"
+#include "DNA_shader_types.h"
 #include "BLI_blenlib.h"
 #include "MEM_guardedalloc.h"
 #include "BKE_global.h"
@@ -357,6 +359,18 @@
 		m_alwaysUseExpandFraming
 		);
 
+	//Convert Post-process 2D Filters
+	ShaderLink *link;
+	int i;
+	for (link = (ShaderLink *)blenderscene->gm.postfilters.first, i=0; link; link = link->next, i++) {
+		Shader *shader = link->shader;
+		if (shader) {
+			STR_String text = STR_String(shader->source);
+			destinationscene->Update2DFilter(vector<STR_String>(), NULL, RAS_2DFilterManager::RAS_2DFILTER_CUSTOMFILTER, i, text);
+		}
+	}
+	
+
 	//These lookup are not needed during game
 	m_map_blender_to_gameactuator.clear();
 	m_map_blender_to_gamecontroller.clear();

Modified: branches/ge_harmony/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
===================================================================
--- branches/ge_harmony/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp	2012-07-23 02:05:40 UTC (rev 49130)
+++ branches/ge_harmony/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp	2012-07-23 02:10:15 UTC (rev 49131)
@@ -510,7 +510,10 @@
 			glDeleteObjectARB(m_filters[pass]);
 		m_filters[pass] = CreateShaderProgram(text.Ptr());
 		m_gameObjects[pass] = gameObj;
-		AnalyseShader(pass, propNames);
+		if (gameObj)
+			AnalyseShader(pass, ((CValue*)gameObj)->GetPropertyNames());
+		else
+			AnalyseShader(pass, vector<STR_String>());
 		m_enabled[pass] = 1;
 		return;
 	}
@@ -520,6 +523,6 @@
 		glDeleteObjectARB(m_filters[pass]);
 	m_filters[pass] = CreateShaderProgram(mode);
 	m_gameObjects[pass] = NULL;
-	AnalyseShader(pass, propNames);
+	AnalyseShader(pass, vector<STR_String>());
 	m_enabled[pass] = 1;
 }




More information about the Bf-blender-cvs mailing list