blender/source/gameengine/Physics/Bullet
Benoit Bolsee d95a109990 BGE modifier: generate correct physic shape, share static derived mesh, share display list.
This commit completes the support for modifiers in the BGE.
- The physic shape is generated according to the derived mesh. 
  This is true for all types of shapes and all types of 
  objects except soft body.
- Optimization for static derived mesh (mesh with modifiers
  but no armature and no shape keys). Replicas will share
  the derived mesh and the display list: less memory and
  faster rendering. With this optimization, the static 
  derived mesh will render as fast as if the modifiers were
  applied.

Known Limits:
- Sharing of mesh and display list is only possible between
  in-game replicas or dupligroup. If you want to instantiate
  multiple objects with modifiers, use dupligroup to ensure
  best memory and GPU utilization.
- rayCast() will interact with the derived mesh as follow:
  Hit position and hit normal are the real values according
  to the derived mesh but the KX_PolyProxy object refers to
  the original mesh. You should use it only to retrieve the
  material.
- Dynamic derived mesh have very poor performance:
  They use direct openGL calls for rendering (no support
  for display list and vertex array) and they dont't share
  the derived mesh memory. Always apply modifiers on dynamic
  mesh for best performance.
- Time dependent modifiers are not supported.
- Modifiers are not supported for Bullet soft body.
2009-05-14 13:47:08 +00:00
..
CcdGraphicController.cpp BGE: work around a problem with DBVT culling when graphic objects are rescaled. This happens when objects with very diverse scale are instantiated with dupligroup. The problem remains when the objects are rescaled during the game. The effect of the problem is an inefficient culling: objects can have a bounding box larger than needed. Patch to fix the problem is filed at Bullet forum. 2009-05-01 19:02:23 +00:00
CcdGraphicController.h BGE: work around a problem with DBVT culling when graphic objects are rescaled. This happens when objects with very diverse scale are instantiated with dupligroup. The problem remains when the objects are rescaled during the game. The effect of the problem is an inefficient culling: objects can have a bounding box larger than needed. Patch to fix the problem is filed at Bullet forum. 2009-05-01 19:02:23 +00:00
CcdPhysicsController.cpp BGE modifier: generate correct physic shape, share static derived mesh, share display list. 2009-05-14 13:47:08 +00:00
CcdPhysicsController.h BGE modifier: generate correct physic shape, share static derived mesh, share display list. 2009-05-14 13:47:08 +00:00
CcdPhysicsEnvironment.cpp BGE: work around a problem with DBVT culling when graphic objects are rescaled. This happens when objects with very diverse scale are instantiated with dupligroup. The problem remains when the objects are rescaled during the game. The effect of the problem is an inefficient culling: objects can have a bounding box larger than needed. Patch to fix the problem is filed at Bullet forum. 2009-05-01 19:02:23 +00:00
CcdPhysicsEnvironment.h BGE: New function GameLogic.setMaxLogicFrame() to allow better control over the time spent on logic. 2009-05-01 16:35:06 +00:00
CMakeLists.txt BGE modifier: generate correct physic shape, share static derived mesh, share display list. 2009-05-14 13:47:08 +00:00
Makefile BGE modifier: generate correct physic shape, share static derived mesh, share display list. 2009-05-14 13:47:08 +00:00
SConscript BGE modifier: generate correct physic shape, share static derived mesh, share display list. 2009-05-14 13:47:08 +00:00