blender/source/gameengine/Rasterizer
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
..
RAS_OpenGLFilters [#17600] char* -> const char* 2008-09-20 11:08:35 +00:00
RAS_OpenGLRasterizer BGE modifier: generate correct physic shape, share static derived mesh, share display list. 2009-05-14 13:47:08 +00:00
CMakeLists.txt BGE performance, 3rd round: culling and rasterizer. 2009-05-07 09:13:01 +00:00
Makefile BGE performance, 3rd round: culling and rasterizer. 2009-05-07 09:13:01 +00:00
RAS_2DFilterManager.cpp [#18690] mesh ripping allowed on multires 2009-05-06 01:41:04 +00:00
RAS_2DFilterManager.h 17973Patch by dfelinto, and also fixed a bug in 2d-filters 2008-11-15 12:10:16 +00:00
RAS_BucketManager.cpp BGE performance, 4th round: logic 2009-05-10 20:53:58 +00:00
RAS_BucketManager.h BGE performance, 3rd round: culling and rasterizer. 2009-05-07 09:13:01 +00:00
RAS_CameraData.h BGE: Fix Orthographic mode and viewport scaling 2009-04-26 12:23:30 +00:00
RAS_Deformer.h BGE modifier: generate correct physic shape, share static derived mesh, share display list. 2009-05-14 13:47:08 +00:00
RAS_FramingManager.cpp BGE: Fix Orthographic mode and viewport scaling 2009-04-26 12:23:30 +00:00
RAS_FramingManager.h BGE: Fix Orthographic mode and viewport scaling 2009-04-26 12:23:30 +00:00
RAS_ICanvas.h BGE Bug Fix:#17349, fixes some problems about 2d-filters 2008-07-20 23:03:01 +00:00
RAS_IPolygonMaterial.cpp BGE performance, 3rd round: culling and rasterizer. 2009-05-07 09:13:01 +00:00
RAS_IPolygonMaterial.h BGE performance, 3rd round: culling and rasterizer. 2009-05-07 09:13:01 +00:00
RAS_IRasterizer.h BGE: Fix Orthographic mode and viewport scaling 2009-04-26 12:23:30 +00:00
RAS_IRenderTools.cpp Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
RAS_IRenderTools.h Fix for bug #18423: BGE lights in overlay scene also affected 2009-03-24 15:45:08 +00:00
RAS_LightObject.h Fix for bug #18423: BGE lights in overlay scene also affected 2009-03-24 15:45:08 +00:00
RAS_MaterialBucket.cpp BGE performance: allow to create display list on meshes with modifiers but without armature and shape keys. These modified meshes are static and can be put safely in a display list. As the rendering of modifiers is done in direct openGL call, it results is a bit performance boost. 2009-05-12 19:48:18 +00:00
RAS_MaterialBucket.h BGE performance, 3rd round: culling and rasterizer. 2009-05-07 09:13:01 +00:00
RAS_MeshObject.cpp BGE performance, 4th round: logic 2009-05-10 20:53:58 +00:00
RAS_MeshObject.h BGE performance, 4th round: logic 2009-05-10 20:53:58 +00:00
RAS_ObjectColor.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
RAS_Polygon.cpp BGE: Occlusion culling and other performance improvements. 2009-04-13 20:08:33 +00:00
RAS_Polygon.h BGE: Occlusion culling and other performance improvements. 2009-04-13 20:08:33 +00:00
RAS_Rect.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
RAS_texmatrix.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
RAS_TexMatrix.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
RAS_TexVert.cpp TexVert sharing was disabled for flat faces, this is silly since a building or any other model with flat faces will often be able to share texverts. 2009-04-27 17:53:41 +00:00
RAS_TexVert.h Minor speedups for the BGE 2009-02-25 06:43:03 +00:00
SConscript BGE performance, 3rd round: culling and rasterizer. 2009-05-07 09:13:01 +00:00