Double-sided Normals in Mesh Bounding

stevenLD
Posts: 10
Joined: Fri Sep 14, 2007 1:27 am

Double-sided Normals in Mesh Bounding

Post by stevenLD »

We're using btTriangleMeshShape for our mesh bounding, and have observed behaviour consistent with our polygons having double-sided normals. We transitioned to Bullet from another physics engine that assumed normals based on rotation/order of the vertices passed in to make the polygons.

Does Bullet do anything similar?

Is it possible to have Bullet make (or take in) a set of "normal" normals?

:) Thanks.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Double-sided Normals in Mesh Bounding

Post by Erwin Coumans »

stevenLD wrote:We're using btTriangleMeshShape for our mesh bounding, and have observed behaviour consistent with our polygons having double-sided normals. We transitioned to Bullet from another physics engine that assumed normals based on rotation/order of the vertices passed in to make the polygons.

Does Bullet do anything similar?
You can best use btBvhTriangleMeshShape, btTriangleMeshShape is only meant as internal (unoptimized) fixed triangle meshes. btBvhTriangleMeshShape add acceleration structure for triangle meshes.

Bullet doesn't require triangle normals, it can perform collision detection with double sided triangle meshes.

Why would you need single-sided triangles?

Thanks,
Erwin

By the way: btBvhTriangleMeshShape is only for fixed world geometry, that is not moving. If you need moving triangle meshes, either use btConvexHullShape, btCompoundShape or GIMPACT (see MovingConcaveDemo).