Hi,
I am working on two things at the moment:
1. Implementing my impulse-based method on the GPU and
2. on deformable objects
The simulation of joints on the GPU works already (a demo will soon be available on my homepage) but before the collision response can be implemented I need a collision detection that works on the GPU as well.
Also I need a collision detection for deformable objects (not necessarily on the GPU).
Can anybody give me a hint where I can find the required collision detection libraries? I don't want to spend much time on implementing them by my own.
Thanks,
Jan
Collision detection libraries
-
- Posts: 111
- Joined: Fri Sep 08, 2006 1:26 pm
- Location: Germany
-
- Posts: 15
- Joined: Tue Jul 26, 2005 10:11 am
Re: Collision detection libraries
Hi,
http://www.dtecta.com/
Regards,
Carlo Lanzotti
Never tried it but as i know Gino's Solid CD library can handle deformable objects:Jan Bender wrote:Hi,
I am working on two things at the moment:
1. Implementing my impulse-based method on the GPU and
2. on deformable objects
The simulation of joints on the GPU works already (a demo will soon be available on my homepage) but before the collision response can be implemented I need a collision detection that works on the GPU as well.
Also I need a collision detection for deformable objects (not necessarily on the GPU).
Can anybody give me a hint where I can find the required collision detection libraries? I don't want to spend much time on implementing them by my own.
Thanks,
Jan
http://www.dtecta.com/
Regards,
Carlo Lanzotti
-
- Posts: 111
- Joined: Fri Sep 08, 2006 1:26 pm
- Location: Germany
I already use SOLID for rigid bodies but I wanted to change since I want to publish my project as open source and SOLID is not free for commercial applications.Never tried it but as i know Gino's Solid CD library can handle deformable objects:
Do you know if Opcode returns the whole contact region (all contact points) between two bodies and a contact normal?Opcode handles deformable objects.
Thanks,
Jan
-
- Posts: 40
- Joined: Fri Jul 22, 2005 8:00 pm
- Location: Santa Monica
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
It would be great if we can collaborate a bit more, Jan.
Bullet can do deformable too, as soon as we add the 'refit' to the optimized BVH structure. It also has btTetrahedronShape support, which can be deformed too, by changing its vertices. So we can just add a new structure 'btDeformableTetrahedralMesh', customized to your needs, using the deformable (refit) AABB tree.
Can you describe the deformable shape properties? Is it a tetrahedral mesh, with mostly fixed topology (except when it breaks)?
Thanks,
Erwin
Bullet can do deformable too, as soon as we add the 'refit' to the optimized BVH structure. It also has btTetrahedronShape support, which can be deformed too, by changing its vertices. So we can just add a new structure 'btDeformableTetrahedralMesh', customized to your needs, using the deformable (refit) AABB tree.
Can you describe the deformable shape properties? Is it a tetrahedral mesh, with mostly fixed topology (except when it breaks)?
Thanks,
Erwin
-
- Posts: 111
- Joined: Fri Sep 08, 2006 1:26 pm
- Location: Germany
For deformable bodies I started with some simple cloth simulations as you can see on my homepage: http://www.impulse-based.de. For this I need a collision detection which can handle deformable triangle meshes. I also want to simulate tetrahedral mesh bodies. If your collision detection can handle this then it is exactly what I need.Bullet can do deformable too, as soon as we add the 'refit' to the optimized BVH structure. It also has btTetrahedronShape support, which can be deformed too, by changing its vertices. So we can just add a new structure 'btDeformableTetrahedralMesh', customized to your needs, using the deformable (refit) AABB tree.
Can you describe the deformable shape properties? Is it a tetrahedral mesh, with mostly fixed topology (except when it breaks)?
Jan
-
- Posts: 67
- Joined: Mon Jul 25, 2005 8:56 am
With a refit operation, same as Solid. Only faster since the trees have less nodes to refit.Pierre, how does opcode handle deformable objects? And what does deformable mean for opcode?
"Deformable" means you can update the vertices, but not the connectivity. Works for vanilla cloth. Doesn't work for tearable cloth.
- Pierre
-
- Posts: 34
- Joined: Thu Aug 18, 2005 6:27 pm
-
- Posts: 67
- Joined: Mon Jul 25, 2005 8:56 am
No, you're right. You're just confused about CD libs. I compared Opcode to Solid, not to Rapid:Umm I was under the impression that an AABB struture was bound to have equal or more nodes than an OBB.
- Rapid uses OBB trees, and doesn't support deformable meshes
- Solid uses AABB trees, and does support them.
- Opcode is like Solid, but with less nodes in the trees.
- Pierre
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
And Bullet is like Solid, but with a liberal Zlib license that allows commercial use.
Just like Opcode and Solid, Bullet also includes AABB trees, with optional stackless tree traversals, which should help performance on new platforms (although public version Bullet hasn't been optimized much yet for either performance/memory usage, the PS3 version has some optimizations).
As far as I know, public Opcode doesn't support convex polyhedra, which I think is an important feature for rigid body dynamics. Also, since Pierre joined Ageia/Novodex there isn't active development to improve the public version I suppose.
Can you correct me if I'm wrong, Pierre?
If we collaborate, we can enhance Bullet to support refit, and other necessary enhancements for deformable cloth/tetrahedral meshes.
Just like Opcode and Solid, Bullet also includes AABB trees, with optional stackless tree traversals, which should help performance on new platforms (although public version Bullet hasn't been optimized much yet for either performance/memory usage, the PS3 version has some optimizations).
As far as I know, public Opcode doesn't support convex polyhedra, which I think is an important feature for rigid body dynamics. Also, since Pierre joined Ageia/Novodex there isn't active development to improve the public version I suppose.
Can you correct me if I'm wrong, Pierre?
If we collaborate, we can enhance Bullet to support refit, and other necessary enhancements for deformable cloth/tetrahedral meshes.
-
- Posts: 67
- Joined: Mon Jul 25, 2005 8:56 am
Opcode only deals with arbitrary triangle meshes indeed. It doesn't contain convex-related algorithms, neither GJK nor SAT.As far as I know, public Opcode doesn't support convex polyhedra, which I think is an important feature for rigid body dynamics.
Yep, I don't think I'm allowed to improve the public version. Releases stopped the day I joined Novodex.Also, since Pierre joined Ageia/Novodex there isn't active development to improve the public version I suppose.
- Pierre