Make raycast benchmark default, to show improved raycasting performance.

Add rayTest to btBroadphaseInterface, and implement efficient version for btDbvtBroadphase to accelerate raycasting.
btAxisSweep3, btSimpleBroadphase and btMultiSapBroadphase implement brute-force method (as before). For now, it is recommended to use btDbvtBroadphase for fastest world raycast.
This commit is contained in:
erwin.coumans
2008-10-14 06:23:45 +00:00
parent 780350a9e1
commit fffca75e9f
11 changed files with 123 additions and 25 deletions

View File

@@ -151,7 +151,14 @@ void btSimpleBroadphase::setAabb(btBroadphaseProxy* proxy,const btVector3& aabbM
sbp->m_aabbMax = aabbMax;
}
void btSimpleBroadphase::rayTest(const btVector3& rayFrom,const btVector3& rayTo, btBroadphaseRayCallback& rayCallback)
{
for (int i=0;i<m_numHandles;i++)
{
btSimpleBroadphaseProxy* proxy = &m_pHandles[i];
rayCallback.process(proxy);
}
}