Dirk Gregorius wrote:
So btBvhTriangleMeshShape is required to be convex or can it be even a surface mesh without volume? If the mesh can be any shape ( e.g. concave with volume or surface without volume ) than I doubt that one simple persistent manifold is sufficient for good contact point generation.
Yes, many 3D games use static (non-moving) concave triangle meshes for the landscape, environment and buildings, and btBvhTriangleMeshShape can be used for this. And 4 contact points are enough in practice.
Quote:
Even Havok came up with a new welding heuristic in version 5.0. So why so much effort with pre-processing to generate welding information if a persistent manifold like in Bullet is sufficient? Ageia seems to break all meshes into convex pieces as Pierre stated here on the forum. Finally I know from a lot of studios that they restrict their artists only to use convex shapes to approximate the level geometry since meshes can make so many problems. Sorry, but one single demo is by no means a prove that this approach works in all scenarios - it is a start. BTW: Four one shot manifolds I didn't find any difference in keeping the deepest point in the convex hull approximation. I think Erin made the same experience.
Having worked for both Havok, and on the PhysX engine, I can tell those workaround are fixes for hitting interior edges. Some of those fixes cause the 'cliff' problem.
It is not likely that this is related to the jitter mentioned by the original poster, so it is better to split the topic, and start/continue another topic on how to avoid hitting interior edges of a triangle mesh, if that is your main concern.
It is likely another issue that we are dealing with, so let's find out and reproduce it in a Bullet demo.
Hope this helps,
Erwin