[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