Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-04-24BGE Cleanup: Reducing KX_Scene's dependence on Bullet.Mitchell Stokes
Instead, it now relies more on our physics abstractions (e.g., PHY_IPhysicsEnvironment).
2014-04-16Fix T39445: Async LibLoad CrashMitchell Stokes
There was some deadlock due to trying manage Python's GIL. Instead of continuing to fight with it, anything needing to call into Python while conversion during lib loading is just delayed until it can be done in the main thread.
2014-04-10BGE: Allow skinned meshes with modifiers to do skinning updates in parallel.Mitchell Stokes
2014-04-10BGE: Fixing a crash when animating objects with modifiers and armatures.Mitchell Stokes
Our deformer system really needs some work. First, there was a crash with shape keys because BL_ModifierDeformer derives from BL_ShapeDeformer, which means we try to execute shape keys even if we do not have them. Also, for some reason BL_ModifierDeformer::Update() does not work if called from the threaded loop, so it is skipped for now. In other words, skinned updates on meshes with modifiers are currently not run in parallel.
2014-04-07BGE: Multi-threading animation updates and skinning.Mitchell Stokes
This required BL_ArmatureObject to have tighter control over armatures and poses. Also, (Blender) armature objects are now copied instead of shared between BL_ArmatureObjects to avoid race conditions. Also, due to the armature copy, shape key drivers need a bit of extra fiddling to get the correct armature copy. Initially OpenMP was used for threading, but then BLI_task was used due to being less compiler dependent. This commit also places time spent on skinning updates in the Animation profiler category (was previously under the Rasterizer category).
2014-03-28BGE code cleanup: Removing OpenGL and bf_gpu code from KX_LightObjectMitchell Stokes
The ultimate goal is to only allow the rasterizer to handle OpenGL and bf_gpu calls. This commit creates a RAS_ILightObject interface and a RAS_OpenGLLight implementation.
2014-02-14Code cleanup: duplicate headersCampbell Barton
2013-12-18Game Engine: Level of detail support and toolsDaniel Stokes
Levels of detail can be added and modified in the object panel. The object panel also contains new tools for generating levels of detail, setting up levels of detail based on object names (useful for importing), and clearing an object's level of detail settings. This is meant as a game engine feature, though the level of details settings can be previewed in the viewport. Reviewed By: moguri, nexyon, brecht Differential Revision: http://developer.blender.org/D109
2013-11-27Fix T37636: double added pyattr_get_lightsHG1
2013-11-19Fix T37171: Camera parented to a bone doesn't move with the bone, unless ↵Mitchell Stokes
another object is parented too Armatures used to check if any of their meshes were culled to see if they needed to be updated. However, this meant armatures with no meshes would never update, since non-mesh objects are always considered culled. Instead, if a non-culled child was not found, we now check to see if the armature contained only non-mesh objects. If this is the case, always update the armature. If this becomes a problem, we can look into being able to cull non-mesh objects.
2013-11-06code cleanup: typo and warning when openmp's disabled.Campbell Barton
2013-11-05bge builds again without bullet.Campbell Barton
2013-11-04BGE: The recent physics cleanup was using KX_GameObject::GetParent() with ↵Mitchell Stokes
out calling parent->Release(). Since GetParent() does an AddRef(), this was causing a leak, which resulted in Zombie Object errors.
2013-11-04BGE: Cleaning up the BGE's physics code and removing KX_IPhysicsController ↵Mitchell Stokes
and KX_BulletPhysicsController. Instead, we just use PHY_IPhysicsController, which removes a lot of duplicate code. This is a squashed commit of the following: BGE Physics Cleanup: Fix crashes with LibLoading and replication. Also fixing some memory leaks. BGE Physics Cleanup: Removing KX_IPhysicsController and KX_BulletPhysicsController. BGE Physics Cleanup: Moving the replication code outside of KX_BlenderBulletController and switching KX_ConvertPhysicsObjects to create a CcdPhysicsController instead of a KX_BlenderBulletController. BGE Physics Cleanup: Getting rid of an unsued KX_BulletPhysicsController.h include in KX_Scene.cpp. BGE Physics Cleanup: Removing unused KX_IPhysicsController and KX_BulletPhysicsController includes. BGE Physics Cleanup: Removing m_pPhysicsController1 and GetPhysicsController1() from KX_GameObject. BGE Physics Cleanup: Remove SetRigidBody() from KX_IPhysicsController and remove GetName() from CcdPhysicsController. BGE Physics Cleanup: Moving Add/RemoveCompoundChild() from KX_IPhysicsController to PHY_IPhysicsController. BGE Physics Cleanup: Removing GetLocalInertia() from KX_IPhysicsController. BGE Physics Cleanup: Making BlenderBulletCharacterController derive from PHY_ICharacter and removing CharacterWrapper from CcdPhysicsEnvironment.cpp. Also removing the character functions from KX_IPhysicsController. BGE Physics Cleanup: Removing GetOrientation(), SetOrientation(), SetPosition(), SetScaling(), and GetRadius() from KX_IPhysicsController. BGE Physics Cleanup: Removing GetReactionForce() since all implementations returned (0, 0, 0). The Python interface for KX_GameObject still has reaction force code, but it still also returns (0, 0, 0). This can probably be removed as well, but removing it can break scripts, so I'll leave it for now. BGE Physics Cleanup: Removing Get/SetLinVelocityMin() and Get/SetLinVelocityMax() from KX_IPhysicsController. BGE Physics Cleanup: Removing SetMargin(), RelativeTranslate(), and RelativeRotate() from KX_IPhysicsController. BGE Physics Cleanup: Using constant references for function arguments in PHY_IPhysicsController where appropriate. BGE Physics Cleanup: Removing ApplyImpulse() from KX_IPhysicsController. BGE Physics Cleanup: Removing ResolveCombinedVelocities() from KX_IPhysicsController. BGE Physics Cleanup: Accidently removed a return when cleaning up KX_GameObject::PyGetVelocity(). BGE Physics Cleanup: Remove GetLinearVelocity(), GetAngularVelocity() and GetVelocity() from KX_IPhysicsController. The corresponding PHY_IPhysicsController functions now also take Moto types instead of scalars to match the KX_IPhysicsController interface. BGE Physics Cleanup: Moving SuspendDynamics, RestoreDynamics, SetMass, GetMass, and SetTransform from KX_IPhysicsController to PHY_IPhysicsController. BGE Physics Cleanup: PHY_IPhysicsEnvironment and derived classes now use the same naming scheme as PHY_IController. BGE Physics Cleanup: PHY_IMotionState and derived classes now use the same naming convention as PHY_IController. BGE Phsyics Cleanup: Making PHY_IController and its derived classes follow a consistent naming scheme for member functions. They now all start with capital letters (e.g., setWorldOrientation becomes SetWorldOrientation). BGE Physics Cleanup: Getting rid of KX_GameObject::SuspendDynamics() and KX_GameObject::RestoreDynamics(). Instead, use the functions from the physics controller. BGE: Some first steps in trying to cleanup the KX_IPhysicsController mess. KX_GameObject now has a GetPhysicsController() and a GetPhysicsController1(). The former returns a PHY_IPhysicsController* while the latter returns a KX_IPhysicsController. The goal is to get everything using GetPhysicsController() instead of GetPhysicsController1().
2013-11-04BGE Rasterizer Cleanup: Cleaning up some includes.Mitchell Stokes
2013-11-04BGE Rasterizer Cleanup: Removing RAS_IRenderTools and moving the ↵Mitchell Stokes
functionality to RAS_IRasterizer. RAS_OpenGLRasterizer is a bit of a mess now with references to Ketsji and other modules it shouldn't be accessing.
2013-08-19style cleanup: indent/whitespaceCampbell Barton
2013-08-17BGE: Adding partial support for LibLoaded lights with GLSL materials.Mitchell Stokes
Any GLSL materials loaded after lights are LibLoaded will now use the lights in heir shaders. This includes materials loaded from the same scene as the LibLoaded lights. We could later add a new flag to LibLoad to recompile all existing shaders, but this commit should offer a lot more flexibility as is.
2013-07-10BGE: Adding animation culling. Armature objects will only have their poses ↵Mitchell Stokes
updated if their children meshes have not already been culled. Regular object animations will always be updated since they are cheap.
2013-07-10BGE: Committing patch #32422 "Debug properties for added objects" by HG1.Mitchell Stokes
This patch allows debug properties from objects added to the scene at runtime to be displayed under the Debug Properties in the overhead display.
2013-06-20BGE: Fix for [#34781] "bge.texture.ImageRender does not show Font object" ↵Mitchell Stokes
reported by Monster. This fix is mostly based off of HG1's patch from the bug report, which had ImageRender::Render() call KX_KetsjiEngine::RenderFonts(). However, I have moved RenderFonts() from KX_KetsjiEngine to KX_Scene where all of the other font and rendering functions are. The real fix for this mess would be to not have ImageRender::Render() have so much duplicate code from KX_KetsjiEngine::Render(), but that's a code cleanup problem for another day.
2013-05-15BGE: A little bit of cleanup:Mitchell Stokes
* Removing KX_Scene::RemoveAnimatedObject() since KX_Scene::NewRemoveObject() is already handling this. * Don't create a new BL_ActionManager when replicating an object. Just set m_actionManager to NULL and let KX_GameObject::GetActionManager() allocate a new BL_ActionManager when one is needed. * Use KX_GameObject::GetScene() instead of KX_GetActiveScene() in KX_GameObject::GetActionManager() to make sure we're using the object's scene instead of one where Python might currently be running from. This could avoid potential issues with playing actions for objects in other scenes.
2013-04-05code cleanup: bge warningsCampbell Barton
2013-03-26style cleanup:Campbell Barton
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2013-03-24fix for struct definition building with msvc2008 and some style cleanup.Campbell Barton
2013-02-21BGE cleanup: Removing the PHY__Vector classes and replacing them with ↵Mitchell Stokes
MT_Vectors. The PHY__Vectors didn't offer anything (not even any real abstraction) and they required annoying MT_Vector <-> PHY_Vector conversions all over the place. No functional changes.
2013-01-23make bullet optional againCampbell Barton
2013-01-01BGE: Fixing a crash that occurred when LibLoading a scene with a 2D Filter ↵Mitchell Stokes
Actuator. The actuator was still referencing the old scene.
2012-12-25BGE: Some various tweaks to try and get async lib loading to be a bit more ↵Mitchell Stokes
stable on more complex scenes.
2012-12-22BGE: The PyGILState_Ensure() call in KX_Scene was causing a segfault in the ↵Mitchell Stokes
Blenderplayer even when being run in the main thread. I'm removing it for now since I don't think it will really cause a problem.
2012-12-22BGE: Committing async LibLoad from Swiss. This does the lib loading in a ↵Mitchell Stokes
separate thread to keep the BGE from freezing. Here is an example from the docs: # Print a message when an async LibLoad is done import bge def finished_cb(status): print("Library (%s) loaded in %.2fms." % (status.libraryName, status.timeTaken)) bge.logic.LibLoad('myblend.blend', 'Scene', async=True).onFinish = finished_cb LibLoad() now returns a KX_LibLoadStatus object for information on the library loading. LibNew() and LibFree() are unaffected by this commit. In other words, the async option only works for LibLoad(). Furthermore it only works for Scenes, not Actions or Meshes.
2012-11-10BGE: Committing patch [#32697] "New BGE gravity API" by HG1.Mitchell Stokes
This patch adds a gravity attribute to KX_Scene.
2012-10-22style cleanupCampbell Barton
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-10-15style cleanup: bgeCampbell Barton
2012-10-15code cleanup: check for msvc directly when using warning pragma's.Campbell Barton
2012-10-08BGE: Setting up the RAS_ICanvas interface as the primary way to alter the OpenGLMitchell Stokes
viewport. This helps to eliminate OpenGL calls in weird places like the physics code and to reduce glGet calls, which are expensive. There should be no functional changes (except maybe a very slight speed improvement).
2012-10-07BGE: Committing patch [#31442] "API improvements: Group references python ↵Mitchell Stokes
api, for better control over groups and instances" by Martin Sell (moerdn). This patch adds a member and a group property to KX_GameObject: * KX_GameObject.member returns the list of group members if the object is a group object, otherwise None is returned * KX_GameObject.group returns the group object that the object belongs to or None if the object is not part of a group
2012-09-16style cleanupCampbell Barton
2012-09-16code cleanup: make local game engine functions staticCampbell Barton
2012-09-13BGE: LibLoaded sensors that made use of physics controllers (touch, ↵Mitchell Stokes
collision) could cause various physics problems (like infinite loops in Bullet, etc). This happened because their KX_TouchEventManagers were merged prior to having their physics controllers merged, which has now been fixed. Thanks to Kupoman for hunting down the fix!
2012-08-27BGE: Make sure lib loaded cameras are added to the active scene's camera list.Mitchell Stokes
2012-08-05BGE: Fixing a NULL pointer exception caused by calling ↵Mitchell Stokes
KX_Scene.active_camera when there is no camera in the scene.
2012-07-09BGE: Fixing up the error message received when trying to add an object from ↵Mitchell Stokes
an active layer.
2012-06-05style cleanupCampbell Barton
2012-05-29BGE patch #28476: Character object physics typeBenoit Bolsee
=============================================== This patch adds a new "Character" BGE physics type which uses Bullet's btKinematicCharacter for simulation instead of full-blown dynamics. It is appropiate for (player-controlled) characters, for which the other physics types often result unexpected results (bouncing off walls, sliding etc.) and for which simple kinematics offers much more precision. "Character" can be chosen like any other physics type in the "Physics" section of the properties window. Current settings for tweaking are "Step Height" (to make the object automatically climb small steps if it collides with them), "Fall Speed" (the maximum speed that the object can have when falling) and "Jump Speed", which is currently not used. See http://projects.blender.org/tracker/?func=detail&atid=127&aid=28476&group_id=9 for sample blends and a discussion on the patch: how to use it and what influences the behavior of the character object. Known problem: there is a crash if the "compound" option is set in the physics panel of the Character object.
2012-03-28style cleanupCampbell Barton
2012-03-24style cleanup: follow style guide for/with/if spacingCampbell Barton
2012-03-18spelling cleanupCampbell Barton
2012-03-09style cleanup: comment blocksCampbell Barton