Blender Git Commit Log
Git Commits -> Revision 0cad3ae
Revision 0cad3ae by Dalai Felinto (master) March 3, 2010, 06:38 (GMT) |
BGE 2D Filters: filters run per scene now (fix for [#18152]) - it (slightly) breaks backward compatibility !!! Originally we had 2DFilters (m_filtermanager) stored in RenderTools. That way filters were stored globally and were being called once per each scene. This was producing two big problems: (1) performance and (2) flexibility of use. (1) Performance - To run the filters 2X == 2X slower (2) flexibility of use - Very often we want the filter in the scene but not in the UI for example. For those reasons I believe that 2DFilters with multiple scenes was very useless or unpredictable. I hope they work fine now. To make it work as before (2.4) you can simply recreate the 2dfilter actuators across the scenes. * * * * * Imagine that we have: (a) Main Scene (b) Overlay Scene in Main Scene the Z Buffer and RGB will be from the main scene. in Overlay Scene the Z Buffer will be from the Overlay Scene and the RBG buffer is from both [(a + 2D Filter) + b]. So in pseudo code if we have a,b,c,d,e scenes we have: (2DFilterE(2DFilterD(2DFilterC(2DFilterB(2DFilterA(a) + b) + c) + d) + e) |
Commit Details:
Full Hash: 0cad3ae24cc9628be09da4d1b4fe475a0c1733f7
SVN Revision: 27231
Parent Commit: c26486f
Lines Changed: +46, -60
19 Modified Paths:
/source/blender/editors/screen/screen_ops.c (+0, -1) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp (+0, -10) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.h (+0, -4) (Diff)
/source/gameengine/Converter/KX_ConvertActuators.cpp (+1, -1) (Diff)
/source/gameengine/GameLogic/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/GameLogic/Makefile (+1, -0) (Diff)
/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp (+3, -3) (Diff)
/source/gameengine/GameLogic/SCA_2DFilterActuator.h (+3, -3) (Diff)
/source/gameengine/GameLogic/SConscript (+1, -0) (Diff)
/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp (+0, -10) (Diff)
/source/gameengine/GamePlayer/common/GPC_RenderTools.h (+0, -4) (Diff)
/source/gameengine/Ketsji/KX_KetsjiEngine.cpp (+14, -15) (Diff)
/source/gameengine/Ketsji/KX_KetsjiEngine.h (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_Scene.cpp (+10, -0) (Diff)
/source/gameengine/Ketsji/KX_Scene.h (+8, -0) (Diff)
/source/gameengine/Rasterizer/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/Rasterizer/Makefile (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_2DFilterManager.h (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_IRenderTools.h (+0, -8) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp (+0, -10) (Diff)
/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.h (+0, -4) (Diff)
/source/gameengine/Converter/KX_ConvertActuators.cpp (+1, -1) (Diff)
/source/gameengine/GameLogic/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/GameLogic/Makefile (+1, -0) (Diff)
/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp (+3, -3) (Diff)
/source/gameengine/GameLogic/SCA_2DFilterActuator.h (+3, -3) (Diff)
/source/gameengine/GameLogic/SConscript (+1, -0) (Diff)
/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp (+0, -10) (Diff)
/source/gameengine/GamePlayer/common/GPC_RenderTools.h (+0, -4) (Diff)
/source/gameengine/Ketsji/KX_KetsjiEngine.cpp (+14, -15) (Diff)
/source/gameengine/Ketsji/KX_KetsjiEngine.h (+1, -1) (Diff)
/source/gameengine/Ketsji/KX_Scene.cpp (+10, -0) (Diff)
/source/gameengine/Ketsji/KX_Scene.h (+8, -0) (Diff)
/source/gameengine/Rasterizer/CMakeLists.txt (+1, -0) (Diff)
/source/gameengine/Rasterizer/Makefile (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_2DFilterManager.h (+1, -0) (Diff)
/source/gameengine/Rasterizer/RAS_IRenderTools.h (+0, -8) (Diff)