Thank you for your pointers.
When driving on a normal closed circuit, is the ground contact always calculated using the mesh of the terrain directly? Or is this only used as fallback when leaving the race track?
I did a checkout of your sim branch. Unfortunately I wasn't able to compile it, receiving the following error:
Code:
src/game.cpp: In constructor ‘GAME::GAME(std::ostream&, std::ostream&)’:
src/game.cpp:126:70: error: invalid conversion from ‘bool (*)(btManifoldPoint&, const btCollisionObject*, int, int, const btCollisionObject*, int, int)’ to ‘ContactAddedCallback {aka bool (*)(btManifoldPoint&, const btCollisionObjectWrapper*, int, int, const btCollisionObjectWrapper*, int, int)}’ [-fpermissive]
dynamics.setContactAddedCallback(&sim::Vehicle::WheelContactCallback);
^
In file included from src/game.h:36:0,
from src/game.cpp:20:
src/physics/world.h:65:7: note: initializing argument 1 of ‘void sim::World::setContactAddedCallback(ContactAddedCallback)’
void setContactAddedCallback(ContactAddedCallback cb);
^
In file included from /usr/include/bullet/LinearMath/btVector3.h:21:0,
from /usr/include/bullet/LinearMath/btMatrix3x3.h:19,
from /usr/include/bullet/LinearMath/btTransform.h:21,
from /usr/include/bullet/LinearMath/btMotionState.h:19,
from src/physics/motionstate.h:23,
from src/track.h:27,
from src/game.h:29,
from src/game.cpp:20:
/usr/include/bullet/LinearMath/btScalar.h: At global scope:
/usr/include/bullet/LinearMath/btScalar.h:337:14: warning: ‘btInfinityMask’ defined but not used [-Wunused-variable]
static int btInfinityMask = 0x7F800000;
^
scons: *** [build/game.o] Error 1
scons: building terminated because of errors.
Compiling the latest version from the master branch was successful. One thing I noticed however is that the cars react very nervous (I'm using mouse steering). It is almost impossible to drive in a straight line, even at low speeds.
Another thing which I could observe was a very weird collision behaviour with corner curbs. Sometimes after hitting a corner curb the car was flung over almost the entire map.