Choice of collision detection SDK

Post Reply
serge3d
Posts: 4
Joined: Mon Mar 19, 2007 1:31 pm

Choice of collision detection SDK

Post by serge3d »

Hello,

I'm looking for a collision detection SDK to develop professional simulation applications (with MSVC++ 8).
Collision would be used for moving cars and pedestrians.
Physics is not my main concern, but it could be useful provided it does not impact neither performance nor memory usage.

I have found :
* OPCODE : lightweigh (no data copy), fast, but not very active
* ODE : well known (Delta3D, etc), but seems to be more physics oriented
* Bullet : I have just discover it, download 2.47 and cannot compile it (VC6) ...
* SOLID : commercial collision detection library

Can anyone tell me the advantages/drawbacks of all these SDKs ?
Thank's.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Post by Erwin Coumans »

Before going into details, what is the compile error you get with latest Bullet 2.47 and VC6?

Bullet has convex polyhedral collision support, unlike OPCODE. Right now, ODE is using OPCODE, but it is planned to add Bullet to ODE too.

Solid isn't free for commercial use, and Bullet has similar features in my opinion. Still, I encourage you to do a comparison yourself.
serge3d
Posts: 4
Joined: Mon Mar 19, 2007 1:31 pm

Post by serge3d »

Thank's for your quick answer.

I have only unzipped and launch wksbullet workspace (is there any installation procedure ?) and got 2 errors :
1)
:\Downloads\Bullet\bullet-2.47\src\BulletCollision\BroadphaseCollision\../../LinearMath/btAlignedAllocator.h(45) : error C2535: '__thiscall btAlignedAllocator<Other,`template-parameter258'>::btAlignedAllocator<Other,`template-parameter258'>(const c
lass btAlignedAllocator<Other,`template-parameter258'> &)' : member function already defined or declared

2)
SIMD_FORCE_INLINE btVector3() {}
:\Downloads\Bullet\bullet-2.47\src\BulletCollision\CollisionDispatch\../NarrowPhaseCollision/../../LinearMath/btVector3.h(29) : fatal error C1600: unsupported data type
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Post by Erwin Coumans »

Bullet 2.48 should work with Visual Studio 6. Can you please try and confirm?

Thanks,
Erwin
serge3d
Posts: 4
Joined: Mon Mar 19, 2007 1:31 pm

Post by serge3d »

Thank's, the 2.48 release seems to work much better with VC6.

I nonetheless got some compiling errors on 2 demos :
1):\Downloads\Bullet\bullet-2.48\Demos\EPAPenDepthDemo\PenetrationTestBullet.cpp(164) : error C2374: 'i' : redefinition; multiple initialization

2) Collada
.\..\Extras\COLLADA_DOM\include\1.4\dom/domGles_texcombiner_argumentRGB_type.h(138) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
domProfile_CG.cpp
..\..\Extras\COLLADA_DOM\include\1.4\dom/domGl_pipeline_settings.h(11588) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
daeAtomicType.cpp
D:\Downloads\Bullet\bullet-2.48\Extras\COLLADA_DOM\src\dae\daeAtomicType.cpp(122) : error C2664: 'sscanf' : cannot convert parameter 1 from '__int8 *' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
(120 errors)

But I think it works good enough for testing purpose.
Post Reply