heighfield: buildAccellerator()

This enables accelleration of heightfield collisions.

Unfortunately, `btHeightfieldTerrainShape::processAllTriangle` does not
yet use the accellerator data, so this change does not improve
performance yet but might do so in future bullet versions.

References:

* Accellerator introduced in:
  https://github.com/bulletphysics/bullet3/pull/2062

* Feature request to use the accellerator in `processAllTriangle`:
  https://github.com/bulletphysics/bullet3/issues/3276
pull/593/head
Gleb Mazovetskiy 4 years ago
parent 92300733c5
commit 21a70b7d2b

@ -58,6 +58,12 @@ namespace MWPhysics
mShape->setUseDiamondSubdivision(true);
mShape->setLocalScaling(btVector3(triSize, triSize, 1));
// Enables acceleration of heighfield collissions.
//
// Bullet does not yet use this in the most time-consuming method, `btHeightfieldTerrainShape::processAllTriangle`.
// See https://github.com/bulletphysics/bullet3/issues/3276
mShape->buildAccelerator();
btTransform transform(btQuaternion::getIdentity(),
btVector3((x+0.5f) * triSize * (sqrtVerts-1),
(y+0.5f) * triSize * (sqrtVerts-1),

Loading…
Cancel
Save