Apple contribution for OSX SSE and iOS NEON optimizations unit tests, thanks to Jordan Hubbard, Ian Ollmann and Hristo Hristov.

For OSX:
cd build
./premake_osx xcode4
for iOS:
cd build
./ios_build.sh
./ios_run.sh

Also integrated the branches/StackAllocation to make it easier to multi-thread collision detection in the near future. It avoids changing the btCollisionObject while performing collision detection.

As this is a large patch, some stuff might be temporarily broken, I'll keep an eye out on issues.
This commit is contained in:
erwin.coumans
2012-06-07 00:56:30 +00:00
parent 777b92a2ad
commit 73b217fb07
323 changed files with 30730 additions and 13635 deletions

View File

@@ -75,7 +75,7 @@ struct btDebugCastResult : public btConvexCast::CastResult
btVector3 worldBoundsMax(1000,1000,1000);
btScalar m[16];
ATTRIBUTE_ALIGNED16(btScalar) m[16];
btTransform hitTrans;
btTransformUtil::integrateTransform(m_fromTrans,m_linVel,m_angVel,fraction,hitTrans);
hitTrans.getOpenGLMatrix(m);

View File

@@ -755,7 +755,7 @@ void DemoApplication::mouseFunc(int button, int state, int x, int y)
{
btRigidBody* body = btRigidBody::upcast(rayCallback.m_collisionObject);
btRigidBody* body = (btRigidBody*)btRigidBody::upcast(rayCallback.m_collisionObject);
if (body)
{
//other exclusions?

View File

@@ -460,7 +460,7 @@ bool GL_DialogDynamicsWorld::mouseFunc(int button, int state, int x, int y)
btScalar maxPickingClamp = mousePickClamping;
btRigidBody* body = btRigidBody::upcast(rayCallback.m_collisionObject);
btRigidBody* body = (btRigidBody*)btRigidBody::upcast(rayCallback.m_collisionObject);
if (body)
{
bool doPick = true;

View File

@@ -719,7 +719,7 @@ void GL_ShapeDrawer::drawOpenGL(btScalar* m, const btCollisionShape* shape, cons
{
btSphereShape sc(multiSphereShape->getSphereRadius(i));
childTransform.setOrigin(multiSphereShape->getSpherePosition(i));
btScalar childMat[16];
ATTRIBUTE_ALIGNED16(btScalar) childMat[16];
childTransform.getOpenGLMatrix(childMat);
drawOpenGL(childMat,&sc,color,debugMode,worldBoundsMin,worldBoundsMax);
}

View File

@@ -19,10 +19,12 @@ subject to the following restrictions:
#include "DemoApplication.h"
class GlutDemoApplication : public DemoApplication
ATTRIBUTE_ALIGNED16(class) GlutDemoApplication : public DemoApplication
{
public:
BT_DECLARE_ALIGNED_ALLOCATOR();
void specialKeyboard(int key, int x, int y);
virtual void swapBuffers();

View File

@@ -20,13 +20,14 @@ subject to the following restrictions:
#include "DemoApplication.h"
class Win32DemoApplication : public DemoApplication
ATTRIBUTE_ALIGNED16(class) Win32DemoApplication : public DemoApplication
{
protected:
public:
BT_DECLARE_ALIGNED_ALLOCATOR();
virtual void swapBuffers();