blender/source/gameengine/Ketsji
Benoit Bolsee b20f6e27ff Commit patch #8724:
This patch modifies the BL_ConvertMesh method from the data conversion module in order to reduce the number of polygon
material objects that are created.

Normally, there should be only one material object for each material bucket(the group of meshes that are rendered together
with a single material). However, the number of materials that are created right now in the converter is much higher
and eats a lot of memory in scenes with large polygon counts. This patch deletes those material objects(KX_BlenderMaterial)
that are used only temporarily in the converter(and are now deleted only when the converter is destroyed, at the end
of the game).

For a cube that's subdivided 7 times(90+ k polygons) I get 200 MB usage in the game engine in 2.45 and 44 MB with a
svn build with this patch applied if the "Use Blender Materials" option is activated in the Game menu.
2008-03-23 23:12:40 +00:00
..
KXNetwork patch 8235 8218 8211 added: various gameengine improvements, fixed windows project files 2008-02-15 23:12:03 +00:00
BL_Material.cpp Klockwork (http://www.klocwork.com) report; game engine fixes, related to 'Use Blender Materials' 2007-01-21 04:45:44 +00:00
BL_Material.h patch by Charlie, related to recent changes of multi-uv/lightmap generation. This fix makes it possible to use lightmaps in the game engine. 2007-01-07 04:39:39 +00:00
BL_Shader.cpp This is a modified version of this patch: 2007-12-05 16:58:52 +00:00
BL_Shader.h applied Charlies patch, reverted some GLSL shader stuff, improved penetration depth estimate. 2006-04-11 05:57:30 +00:00
BL_Texture.cpp This is a modified version of this patch: 2007-12-05 16:58:52 +00:00
BL_Texture.h First commit! Small bug fix for cube map crashing in the player. 2007-01-13 08:30:08 +00:00
CMakeLists.txt updated CMake files for game engine for Bullet 2.x upgrade 2006-11-21 06:37:01 +00:00
KX_BlenderMaterial.cpp This is a modified version of this patch: 2007-12-05 16:58:52 +00:00
KX_BlenderMaterial.h Added custom vertex/edge/face data for meshes: 2006-11-20 04:28:02 +00:00
KX_BulletPhysicsController.cpp BGE fix: game object to controller links consistancy maintained regardless of order of deletion 2008-03-09 21:51:38 +00:00
KX_BulletPhysicsController.h Removed old Blender/extern/bullet, and upgraded game engine to use Bullet 2.x 2006-11-21 00:53:40 +00:00
KX_Camera.cpp Various mem leaks related to CValue reference count fixed 2008-03-01 19:46:50 +00:00
KX_Camera.h patch 8235 8218 8211 added: various gameengine improvements, fixed windows project files 2008-02-15 23:12:03 +00:00
KX_CameraActuator.cpp moved source and text to american spelling 2007-04-04 13:18:41 +00:00
KX_CameraActuator.h Python methods for camera actuators (thanks snailrose) 2004-12-29 01:33:15 +00:00
KX_CameraIpoSGController.cpp applied the 64-bit pointer patch submitted by Ken Hughes 2005-11-28 06:51:54 +00:00
KX_CameraIpoSGController.h [GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics. 2004-03-22 22:02:18 +00:00
KX_CDActuator.cpp Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_CDActuator.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_ClientObjectInfo.h Speed up the physics engine: hook the SOLID broad phase, so we can either reject the test or request the penetration depth test as necessary. Previously we were doing the penetration depth test, as well as SOLID's intersection test. 2004-11-06 04:58:10 +00:00
KX_ConstraintActuator.cpp Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_ConstraintActuator.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_ConstraintWrapper.cpp Changed Python _getattr/_setattr methods to use const STR_String& instead of char* - makes using these methods much nicer. 2004-05-16 13:05:15 +00:00
KX_ConstraintWrapper.h Changed Python _getattr/_setattr methods to use const STR_String& instead of char* - makes using these methods much nicer. 2004-05-16 13:05:15 +00:00
KX_ConvertPhysicsObject.h - enabled compound collision objects, requires 'clear parent inverse' 2006-12-01 01:04:27 +00:00
KX_ConvertPhysicsObjects.cpp BGE fix: ghost objects created with AddObject actuator will retain their ghost property 2008-03-15 20:52:03 +00:00
KX_EmptyObject.cpp Fixed several bugs: python refcounting related and Bullet related (basic add/remove object support, bounding volume hierarchy). Added a few files, updated the Bullet scons. Vc6/7 Bullet projectfiles need to add a couple of files: 'Bullet/CollisionShapes/BvhTriangleMeshShape.cpp', 2005-12-31 07:20:08 +00:00
KX_EmptyObject.h Fixed several bugs: python refcounting related and Bullet related (basic add/remove object support, bounding volume hierarchy). Added a few files, updated the Bullet scons. Vc6/7 Bullet projectfiles need to add a couple of files: 'Bullet/CollisionShapes/BvhTriangleMeshShape.cpp', 2005-12-31 07:20:08 +00:00
KX_GameActuator.cpp big warning hunt commit 2005-03-09 19:45:59 +00:00
KX_GameActuator.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_GameObject.cpp New rayCastTo() python method for KX_GameObject: 2008-03-15 17:08:58 +00:00
KX_GameObject.h New rayCastTo() python method for KX_GameObject: 2008-03-15 17:08:58 +00:00
KX_IInterpolator.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_IPhysicsController.cpp Big patches: 2005-03-25 10:33:39 +00:00
KX_IPhysicsController.h Removed old Blender/extern/bullet, and upgraded game engine to use Bullet 2.x 2006-11-21 00:53:40 +00:00
KX_IPO_SGController.cpp Delta Loc/Rot/Scale Ipo curve are now supporting in the BGE with the following limitations: 2008-03-12 21:33:24 +00:00
KX_IPO_SGController.h Delta Loc/Rot/Scale Ipo curve are now supporting in the BGE with the following limitations: 2008-03-12 21:33:24 +00:00
KX_IpoActuator.cpp patch 8235 8218 8211 added: various gameengine improvements, fixed windows project files 2008-02-15 23:12:03 +00:00
KX_IpoActuator.h bugfix for an incompatibility with ipo actuator in play mode, thanks Malachy for the fix. 2007-01-21 00:56:10 +00:00
KX_IPOTransform.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_IScalarInterpolator.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_ISceneConverter.h BGE memleak fixed: mesh/material not deleted when switching scene 2008-03-09 21:42:03 +00:00
KX_ISystem.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_KetsjiEngine.cpp Correction on BGE fixes: 2008-03-21 22:44:12 +00:00
KX_KetsjiEngine.h 2d-Filters feature and actuators. 2007-10-22 20:24:26 +00:00
KX_Light.cpp moved source and text to american spelling 2007-04-04 13:18:41 +00:00
KX_Light.h Added Python module for Lights. 2004-05-30 11:09:46 +00:00
KX_LightIpoSGController.cpp applied the 64-bit pointer patch submitted by Ken Hughes 2005-11-28 06:51:54 +00:00
KX_LightIpoSGController.h [GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics. 2004-03-22 22:02:18 +00:00
KX_MaterialIpoController.cpp changed the size of some local vars for 64bit linux. 2006-01-06 15:29:11 +00:00
KX_MaterialIpoController.h Sorry to break the cvs-closed status, so if you really need to make a new 2.40 build, just disable the game engine if it doesn't compile for a platform. Again, sorry if this breaks non-windows platforms, but I hope people help to get this amazing fix working for all platforms. Armature-fixing contribution from Snailrose. Also lots of cool things from Snailrose and Lagan. 2006-01-06 03:46:54 +00:00
KX_MeshProxy.cpp applied Charlies patch for game engine graphics. display list support, and bumpmapping shader improvements. 2006-04-02 21:04:20 +00:00
KX_MeshProxy.h applied Charlies patch for game engine graphics. display list support, and bumpmapping shader improvements. 2006-04-02 21:04:20 +00:00
KX_MotionState.cpp fixed some motionstate synchronization issues 2006-12-04 04:13:42 +00:00
KX_MotionState.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_MouseFocusSensor.cpp moved source and text to american spelling 2007-04-04 13:18:41 +00:00
KX_MouseFocusSensor.h Getting blender to compile for IRIX, in particular: 2005-09-14 21:50:37 +00:00
KX_NearSensor.cpp Radar/Near sensor performance problem fixed 2008-03-01 19:17:37 +00:00
KX_NearSensor.h Radar/Near sensor performance problem fixed 2008-03-01 19:17:37 +00:00
KX_ObColorIpoSGController.cpp applied the 64-bit pointer patch submitted by Ken Hughes 2005-11-28 06:51:54 +00:00
KX_ObColorIpoSGController.h [GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics. 2004-03-22 22:02:18 +00:00
KX_ObjectActuator.cpp Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_ObjectActuator.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_OdePhysicsController.cpp enable bullet for vc7 too by default (can be switched off easily) 2005-07-30 18:21:02 +00:00
KX_OdePhysicsController.h Big patches: 2005-03-25 10:33:39 +00:00
KX_OrientationInterpolator.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_OrientationInterpolator.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_PhysicsEngineEnums.h preparation for bullet physics 2005-07-16 21:47:54 +00:00
KX_PhysicsObjectWrapper.cpp Changed Python _getattr/_setattr methods to use const STR_String& instead of char* - makes using these methods much nicer. 2004-05-16 13:05:15 +00:00
KX_PhysicsObjectWrapper.h Changed Python _getattr/_setattr methods to use const STR_String& instead of char* - makes using these methods much nicer. 2004-05-16 13:05:15 +00:00
KX_PhysicsPropertiesobsolete.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_PolygonMaterial.cpp Added custom vertex/edge/face data for meshes: 2006-11-20 04:28:02 +00:00
KX_PolygonMaterial.h Added custom vertex/edge/face data for meshes: 2006-11-20 04:28:02 +00:00
KX_PositionInterpolator.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_PositionInterpolator.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_PyConstraintBinding.cpp debug lines / register the applied impulse for constraint (for breaking) 2006-07-03 05:58:23 +00:00
KX_PyConstraintBinding.h Big patches: 2005-03-25 10:33:39 +00:00
KX_PyMath.cpp big warning hunt commit 2005-03-09 19:45:59 +00:00
KX_PyMath.h big warning hunt commit 2005-03-09 19:45:59 +00:00
KX_PythonInit.cpp patch 8235 8218 8211 added: various gameengine improvements, fixed windows project files 2008-02-15 23:12:03 +00:00
KX_PythonInit.h patch 8235 8218 8211 added: various gameengine improvements, fixed windows project files 2008-02-15 23:12:03 +00:00
KX_RadarSensor.cpp fixed some motionstate synchronization issues 2006-12-04 04:13:42 +00:00
KX_RadarSensor.h Big patches: 2005-03-25 10:33:39 +00:00
KX_RayCast.cpp patch 8235 8218 8211 added: various gameengine improvements, fixed windows project files 2008-02-15 23:12:03 +00:00
KX_RayCast.h Big patches: 2005-03-25 10:33:39 +00:00
KX_RayEventManager.cpp Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_RayEventManager.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_RaySensor.cpp bugfix 8183, Ray sensor with material/property filter always triggers when hitting object without the required characteristic fixed by Benoit Blosee(ben2610), and some minor changes for 2d-filters. 2008-02-04 03:48:46 +00:00
KX_RaySensor.h Big patches: 2005-03-25 10:33:39 +00:00
KX_SCA_AddObjectActuator.cpp Various mem leaks related to CValue reference count fixed 2008-03-01 19:46:50 +00:00
KX_SCA_AddObjectActuator.h more Bullet physics improvements, mainly stability and performance related. 2006-04-01 03:30:15 +00:00
KX_SCA_EndObjectActuator.cpp big warning hunt commit 2005-03-09 19:45:59 +00:00
KX_SCA_EndObjectActuator.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_SCA_ReplaceMeshActuator.cpp Applied patch #5247 by scabootssca. This adds an instant replace mesh feature. 2007-03-26 03:35:01 +00:00
KX_SCA_ReplaceMeshActuator.h Applied patch #5247 by scabootssca. This adds an instant replace mesh feature. 2007-03-26 03:35:01 +00:00
KX_ScalarInterpolator.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_ScalarInterpolator.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_ScalingInterpolator.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_ScalingInterpolator.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_Scene.cpp Commit patch #8724: 2008-03-23 23:12:40 +00:00
KX_Scene.h Commit patch #8724: 2008-03-23 23:12:40 +00:00
KX_SceneActuator.cpp big warning hunt commit 2005-03-09 19:45:59 +00:00
KX_SceneActuator.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_SG_BoneParentNodeRelationship.cpp Added bone parent relationship. 2005-04-23 11:36:44 +00:00
KX_SG_BoneParentNodeRelationship.h Added bone parent relationship. 2005-04-23 11:36:44 +00:00
KX_SG_NodeRelationships.cpp Big patches: 2005-03-25 10:33:39 +00:00
KX_SG_NodeRelationships.h Added bone parent relationship. 2005-04-23 11:36:44 +00:00
KX_SoundActuator.cpp Big patches: 2005-03-25 10:33:39 +00:00
KX_SoundActuator.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_SumoPhysicsController.cpp Removed old Blender/extern/bullet, and upgraded game engine to use Bullet 2.x 2006-11-21 00:53:40 +00:00
KX_SumoPhysicsController.h Removed old Blender/extern/bullet, and upgraded game engine to use Bullet 2.x 2006-11-21 00:53:40 +00:00
KX_TimeCategoryLogger.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_TimeCategoryLogger.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_TimeLogger.cpp [GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics. 2004-03-22 22:02:18 +00:00
KX_TimeLogger.h Removed the config.h thing from the .h's in the source dir. 2002-12-27 13:11:01 +00:00
KX_TouchEventManager.cpp Radar/Near sensor performance problem fixed 2008-03-01 19:17:37 +00:00
KX_TouchEventManager.h Radar/Near sensor performance problem fixed 2008-03-01 19:17:37 +00:00
KX_TouchSensor.cpp unknown property fixed in sensor/actuators 2008-03-01 19:05:41 +00:00
KX_TouchSensor.h Radar/Near sensor performance problem fixed 2008-03-01 19:17:37 +00:00
KX_TrackToActuator.cpp Applied patch #6102 submitted by Mal 2007-03-23 02:20:12 +00:00
KX_TrackToActuator.h Applied patch #6102 submitted by Mal 2007-03-23 02:20:12 +00:00
KX_VehicleWrapper.cpp //someone reversed axle direction conventions inside Bullet (axle winding), so need to compensate to keep game blender vehicles working the same. 2007-07-06 04:45:57 +00:00
KX_VehicleWrapper.h exposed a few more tuning paramters 2006-02-21 07:08:23 +00:00
KX_VertexProxy.cpp moved source and text to american spelling 2007-04-04 13:18:41 +00:00
KX_VertexProxy.h applied Charlies patch for game engine graphics. display list support, and bumpmapping shader improvements. 2006-04-02 21:04:20 +00:00
KX_VisibilityActuator.cpp Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_VisibilityActuator.h Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware. 2004-10-16 11:41:50 +00:00
KX_WorldInfo.cpp Last of the config.h mods... 2002-11-25 15:29:57 +00:00
KX_WorldInfo.h Sorry to break the cvs-closed status, so if you really need to make a new 2.40 build, just disable the game engine if it doesn't compile for a platform. Again, sorry if this breaks non-windows platforms, but I hope people help to get this amazing fix working for all platforms. Armature-fixing contribution from Snailrose. Also lots of cool things from Snailrose and Lagan. 2006-01-06 03:46:54 +00:00
KX_WorldIpoController.cpp applied the 64-bit pointer patch submitted by Ken Hughes 2005-11-28 06:51:54 +00:00
KX_WorldIpoController.h [GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics. 2004-03-22 22:02:18 +00:00
Makefile Makefile support for bullet2 ... please test 2006-11-22 19:05:35 +00:00
SConscript Bugfix #4081: support for OpenBSD platform for scons. Big thanks to Nathan Houghton for this contribution. 2006-06-05 15:52:26 +00:00