X11OpenGLWindow: create stencil buffer for shadows in OpenGL2 mode (OpenGL3 uses shadow maps)

Add 'createCollisionObjectGraphicsObject' API for CommonPhysicsSetup
Add 'pthread' dependency as workaround for NVIDIA graphics driver issue
(see //See https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-319/+bug/1248642
)
This commit is contained in:
Erwin Coumans
2014-08-26 11:28:44 -07:00
parent 1e956c8002
commit 2b35911f2a
19 changed files with 702 additions and 53 deletions

View File

@@ -21,6 +21,10 @@ struct MyGraphicsPhysicsBridge : public GraphicsPhysicsBridge
{
}
virtual void createRigidBodyGraphicsObject(btRigidBody* body, const btVector3& color)
{
createCollisionObjectGraphicsObject(body,color);
}
virtual void createCollisionObjectGraphicsObject(btCollisionObject* body, const btVector3& color)
{
btCollisionShape* shape = body->getCollisionShape();
btTransform startTransform = body->getWorldTransform();
@@ -45,7 +49,7 @@ struct MyGraphicsPhysicsBridge : public GraphicsPhysicsBridge
}
case TRIANGLE_MESH_SHAPE_PROXYTYPE:
{
break;
}
default:
@@ -149,7 +153,7 @@ struct MyGraphicsPhysicsBridge : public GraphicsPhysicsBridge
{
return m_glApp->m_parameterInterface;
}
virtual void setUpAxis(int axis)
{
m_glApp->setUpAxis(axis);
@@ -233,7 +237,7 @@ btVector3 Bullet2RigidBodyDemo::getRayTo(int x,int y)
btVector3 rightOffset;
btVector3 cameraUp=btVector3(0,0,0);
cameraUp[m_glApp->getUpAxis()]=1;
btVector3 vertical = cameraUp;
btVector3 hor;
@@ -291,7 +295,7 @@ bool Bullet2RigidBodyDemo::mouseButtonCallback(int button, int state, float x, f
btVector3 rayFrom = camPos;
btVector3 rayTo = getRayTo(x,y);
m_physicsSetup->pickBody(rayFrom, rayTo);