blender/source/gameengine/Converter
Benoit Bolsee 51b4145841 BGE Scenegraph and View frustrum culling improvement.
This commit contains a number of performance improvements for the
BGE in the Scenegraph (parent relation between objects in the
scene) and view frustrum culling.

The scenegraph improvement consists in avoiding position update
if the object has not moved since last update and the removal
of redundant updates and synchronization with the physics engine.

The view frustrum culling improvement consists in using the DBVT
broadphase facility of Bullet to build a tree of graphical objects
in the scene. The elements of the tree are Aabb boxes (Aligned 
Axis Bounding Boxes) enclosing the objects. This provides good
precision in closed and opened scenes. This new culling system
is enabled by default but just in case, it can be disabled with
a button in the World settings. There is no do_version in this
commit but it will be added before the 2.49 release. For now you
must manually enable the DBVT culling option in World settings
when you open an old file.

The above improvements speed up scenegraph and culling up to 5x.
However, this performance improvement is only visible when
you have hundreds or thousands of objects.

The main interest of the DBVT tree is to allow easy occlusion
culling and automatic LOD system. This will be the object of further
improvements.
2009-04-07 22:14:06 +00:00
..
BL_ActionActuator.cpp BGE Python API 2009-04-07 11:06:35 +00:00
BL_ActionActuator.h moved more attributes from getattr into PyAttributeDef's 2009-04-04 02:57:35 +00:00
BL_ArmatureObject.cpp Fix for bug #4192: game engine armatures that are dynamically added 2008-09-17 01:29:54 +00:00
BL_ArmatureObject.h Fix for bug #4192: game engine armatures that are dynamically added 2008-09-17 01:29:54 +00:00
BL_BlenderDataConversion.cpp BGE Scenegraph and View frustrum culling improvement. 2009-04-07 22:14:06 +00:00
BL_BlenderDataConversion.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
BL_DeformableGameObject.cpp Allow Bullet soft bodies to be created using a AddObject actuator. Added a fake world coordinate system to game soft bodies, although the vertices are already in world space. 2008-09-26 02:27:59 +00:00
BL_DeformableGameObject.h Created a KX_SoftBodyDeformer for real-time soft bodies. 2008-09-24 03:12:10 +00:00
BL_MeshDeformer.cpp Minor speedups for the BGE 2009-02-25 06:43:03 +00:00
BL_MeshDeformer.h Allow Bullet soft bodies to be created using a AddObject actuator. Added a fake world coordinate system to game soft bodies, although the vertices are already in world space. 2008-09-26 02:27:59 +00:00
BL_ShapeActionActuator.cpp BGE Python API 2009-04-07 11:06:35 +00:00
BL_ShapeActionActuator.h moved more attributes from getattr into PyAttributeDef's 2009-04-04 02:57:35 +00:00
BL_ShapeDeformer.cpp Allow Bullet soft bodies to be created using a AddObject actuator. Added a fake world coordinate system to game soft bodies, although the vertices are already in world space. 2008-09-26 02:27:59 +00:00
BL_ShapeDeformer.h Allow Bullet soft bodies to be created using a AddObject actuator. Added a fake world coordinate system to game soft bodies, although the vertices are already in world space. 2008-09-26 02:27:59 +00:00
BL_SkinDeformer.cpp Allow Bullet soft bodies to be created using a AddObject actuator. Added a fake world coordinate system to game soft bodies, although the vertices are already in world space. 2008-09-26 02:27:59 +00:00
BL_SkinDeformer.h Allow Bullet soft bodies to be created using a AddObject actuator. Added a fake world coordinate system to game soft bodies, although the vertices are already in world space. 2008-09-26 02:27:59 +00:00
BL_SkinMeshObject.cpp Created a KX_SoftBodyDeformer for real-time soft bodies. 2008-09-24 03:12:10 +00:00
BL_SkinMeshObject.h Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
BlenderWorldInfo.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
BlenderWorldInfo.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
CMakeLists.txt Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
KX_BlenderScalarInterpolator.cpp Fix crash in game engine IPO code, got out of sync after IPO cleanup, removed the duplicated function declarations. 2008-10-11 22:29:50 +00:00
KX_BlenderScalarInterpolator.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_BlenderSceneConverter.cpp BGE Scenegraph and View frustrum culling improvement. 2009-04-07 22:14:06 +00:00
KX_BlenderSceneConverter.h Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
KX_ConvertActuators.cpp game engine compile fix for MSVC, game engine team might want to check. 2009-03-28 11:09:53 +00:00
KX_ConvertActuators.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ConvertControllers.cpp compile scripts when converting controllers to give more predictable performance and print syntax errors early on rather then when the script is first executed. 2009-02-24 03:29:31 +00:00
KX_ConvertControllers.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ConvertProperties.cpp BGE patch: add Debug button next to object state. The object state mask will be printed at runtime with the debug info as a comma separated list of state numbers (1..30) for each active state bit. The reserved property name __state__ is used for that purpose (users should not create a property with that name). 2008-09-25 16:19:07 +00:00
KX_ConvertProperties.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ConvertSensors.cpp BGE Joystick Sensor 2009-04-07 06:23:45 +00:00
KX_ConvertSensors.h Fix for bug #3858: the game engine mouse focus sensor did not work 2008-09-18 01:46:28 +00:00
KX_IpoConvert.cpp remove warnings for the BGE 2009-02-25 03:26:02 +00:00
KX_IpoConvert.h BGE patch: approve patch #17312: Multiple material IPOs per mesh in BGE. 2008-07-25 13:45:57 +00:00
Makefile converted my gen_utils.h fix to PyObjectPlus.h 2008-09-06 14:13:31 +00:00
SConscript Building the game engine with Solid/Sumo is now optional for scons using WITH_BF_SOLID. 2009-02-25 12:07:51 +00:00