[ODE] UNSORTED TriList collision (no trees!)

Pierre Terdiman p.terdiman at wanadoo.fr
Thu Jun 19 03:44:02 2003


> I don't use trees, I use equally-sized cells. There are many reasons and
it's complicated
>but basically trees will require far too much memory... prohibitively much.

It depends on how many triangles you keep in each leaf nodes. BV-hierarchies
and spatial partitioning structures (e.g. grids) both can require "too much
memory". Or not.

Now, right, Opcode 1.2 can still require too much memory. That's why I added
"hybrid trees" in version 1.3. They roughly require 16 times less ram than
trees from version 1.2.

Finally, while both RAPID and Opcode use trees, they aren't really similar
when it comes to memory usage. Opcode takes one or two orders of magnitude
less ram (i.e. 10 to 100 times less).


> Far as I can tell, ODE is used only to generate contacts after Opcode
> itself determines whether there's an overlap within the bounds of the
> triangle.  Collision detection and contact generation are related but
> distinct problems; Opcode does the former, and the tri-collider glue uses
> existing ODE code for the latter.
>
> At least, that's the impression I got from looking at the source.  Pierre
> and/or Erwin can probably answer this better than I can, it's their code.
:-)

This is right.

You could replace Opcode with any other collision detection package
supporting the same queries.

So, I guess what Ed is interested in is Erwin's "glue" indeed, i.e. the
contact generation part.


Pierre