takahiyn / bullet

Automatically exported from code.google.com/p/bullet
0 stars 0 forks source link

Normal support for triangle collision shapes #307

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
This is an enhancement.

What version of the product are you using? On what operating system?
2.75 RC

Please provide any additional information below.
Having (custom) normals can sometimes be quite useful.
Specifically for ray cast vehicles, this can be a real improvement.
This enables the possibility to perform normal blending over the triangle 
(just like fixed point vertex lighting calculation does). It makes the 
vehicle movement, friction and suspension quite a lot better.

Without the normals supported directly in the collision shape, it is 
required to access this from an 3rd party source but. This is not exactly 
obvious as you need to be aware of how the triangle shape stores the 
internal arrays (thankfully untouched, for now?).

http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=17&t=4142

Original issue reported on code.google.com by pythona...@gmail.com on 9 Nov 2009 at 8:11

GoogleCodeExporter commented 9 years ago
A new collision shape with connectivity could be added, or we can cache the 
triangles 
involved with a particular collision and find (and use) connectivity during 
run-time.

Original comment by erwin.coumans on 20 Nov 2009 at 3:37

GoogleCodeExporter commented 9 years ago
Sounds interesting, although I'm not sure what you mean by "connectivity". I 
interpret it as vertex-polygon-edge 
connectivity, but I suspect you're referring to something else.

btw, when I wrote "fixed point" I of course meant "fixed function".

Original comment by pythona...@gmail.com on 4 Dec 2009 at 6:48

GoogleCodeExporter commented 9 years ago
I meant vertex-polygon-edge connectivity: btBvhTriangleMeshShape or 
btStridingMeshInterface doesn't have connectivity information.

Do you have a proposal/implementation for a new collision shape with 
normal-blending-
support feature?

Original comment by erwin.coumans on 13 Dec 2009 at 8:52

GoogleCodeExporter commented 9 years ago
Sorry, didn't see there was a reply here (shouldn't I get a notification?).
I see about the connectivity thingy, but sadly no implementation :(
I haven't been digging inside the bowels of Bullet much, other than trying to 
understand...
I took the shortest way out with my current implementation, involving external 
arrays and such. :)

Original comment by pythona...@gmail.com on 5 Jan 2010 at 3:19

GoogleCodeExporter commented 9 years ago

The new btInternalEdgeUtility calculates some normal and connectivity 
information, so 
it could be useful for this.

 http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4603

Someone needs to look into this.

Original comment by erwin.coumans on 20 Jan 2010 at 4:21

GoogleCodeExporter commented 9 years ago
see https://github.com/bulletphysics/bullet3/issues/155

Original comment by erwin.coumans on 30 Mar 2014 at 7:54