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
diff options
context:
space:
mode:
authorSergej Reich <sergej.reich@googlemail.com>2014-01-28 11:26:51 +0400
committerSergej Reich <sergej.reich@googlemail.com>2014-01-28 11:31:56 +0400
commit6fe5b3be38af229640d1926bd908361d5e7a2b15 (patch)
tree3ac9bb76a41bdfc9f721f90427b660ea0f23a135 /source/gameengine
parent8fa4517a208127e1773c21382deb1e8844ffdc9b (diff)
Fix T37673: Ray casting could fail with 0 collision margins
Use bullet's old method of doing ray casts to stay compatible with old files. It's faster but a bit less accurate.
Diffstat (limited to 'source/gameengine')
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
index cddc12cc754..b6a46b4307e 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
@@ -31,6 +31,7 @@ subject to the following restrictions:
#include "BulletSoftBody/btSoftRigidDynamicsWorld.h"
#include "BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h"
#include "BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h"
+#include "BulletCollision/NarrowPhaseCollision/btRaycastCallback.h"
//profiling/timings
#include "LinearMath/btQuickprof.h"
@@ -1131,6 +1132,8 @@ PHY_IPhysicsController* CcdPhysicsEnvironment::RayTest(PHY_IRayCastFilterCallbac
// don't collision with sensor object
rayCallback.m_collisionFilterMask = CcdConstructionInfo::AllFilter ^ CcdConstructionInfo::SensorFilter;
+ // use faster (less accurate) ray callback, works better with 0 collision margins
+ rayCallback.m_flags |= btTriangleRaycastCallback::kF_UseSubSimplexConvexCastRaytest;
//, ,filterCallback.m_faceNormal);
m_dynamicsWorld->rayTest(rayFrom,rayTo,rayCallback);