here is the code that i use for creating static rigid bodies(like a house):
Code: Select all
for (unsigned int i = 0;i < vec.size();i++)
{
btScalar * points = new btScalar[vec[i]->pointsSize*3];
btConvexHullShape *tmp = new btConvexHullShape();
for (unsigned int j = 0;j < vec[i]->pointsSize;j++)
{
points[j * 3 + 0] = vec[i]->points[j].x;
points[j * 3 + 1] = vec[i]->points[j].y;
points[j * 3 + 2] = vec[i]->points[j].z;
}
btTriangleIndexVertexArray * data =
new btTriangleIndexVertexArray(vec[i]->indicesSize / 3,
(int*)vec[i]->indciesInt.data(), 3 * sizeof(int)
, vec[i]->pointsSize, points, 3 * sizeof(btScalar));
btBvhTriangleMeshShape * d = new btBvhTriangleMeshShape(data, false, false);
d->buildOptimizedBvh();
d->usesQuantizedAabbCompression();
m_meshRigidData[i].collisionShape = d;
m_meshRigidData[i].collisionShape->setMargin(0.5f);
}