[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