Physics Simulation Forum

 

All times are UTC




Post new topic Reply to topic  [ 12 posts ] 
Author Message
PostPosted: Sun Nov 16, 2008 8:42 am 
Offline
Site Admin
User avatar

Joined: Sun Jun 26, 2005 6:43 pm
Posts: 3744
Location: California, USA
Bullet 2.73 SP1 has been released, from SVN revision r1554 (Updated December 2, 2008)

http://code.google.com/p/bullet/downloads/list

  • *** NEW *** SP1 release fixes several issues related to contact/compounds and adds a SIMD/SSE constraint solver
  • Improved CUDA broadphase support. See Bullet/Extras/CUDA and CDTestFramework for a benchmark. It has an excellent worst case, and for large amount of objects it outperform SAP and btDbvt hands down.
  • Improved ray test and convex sweep test performance using broadphase acceleration structure
  • Added btGhostObject. This helps character controller, explosions, triggers and other local collision queries and short ray tests. It is now used by the btKinematicCharacterController.
  • Improved CMake support with 'install', VERSION info and OSX 'framework' support, thanks to ejtttje
  • IBM Cell SDK 3.1 build support, thanks to emgruett, Joczhen and danieltracy
  • Improved btHeightfieldTerrainShape support and new Demos/TerrainDemo
  • Compound shape export to BulletColladaConverter, thanks to JamesH for the report.
  • Several fixes thanks to Ole K, related to inertia tensor computation, avoiding non-determinism and more.
  • Added Extras/IFF binary chunk serialization library as preparation for in-game native platform serialization (with planned COLLADA physics conversion)
  • Added SCE Physics Effects box-box collision detection for SPU/BulletMultiThreaded version, thanks to Sony Computer Entertainment Japan (SCEI)
  • Moved BulletMultiThreaded and GIMPACT from Extras to /src/BulletMultiThreaded /src/BulletCollision/Gimpact for better integration
  • Removed btPoint3 -> it was a typedef to btVector3. So please find and replace all btPoint3 -> btVector3
  • Add CProfileManager::dumpAll() to dump detailed performance statistics to console using printf. Add this call after stepSimulation().
  • Reduced default memory pool allocation (from 40Mb -> 3Mb), helpful for iPhone developers.

Image
btCudaBroadphase. Even for 8192 objects with little motion coherence: CUDA (btCudaBroadphase) 6ms, OPCODE Array SAP 37ms, Bullet dynamic AABB tree (btDbvtBroadphase): 12ms. The best case for 8192 for the CUDA broadphase is 4ms, where as SAP, btDbvt are practically 0ms.

Thanks to everyone for feedback, bug fixes and improvements.
See also ChangeLog
Feedback is welcome,
Thanks,
Erwin


Top
 Profile  
 
PostPosted: Thu Nov 20, 2008 2:58 pm 
Offline

Joined: Tue Jul 03, 2007 10:37 am
Posts: 17
In this release CharacterDemo crash at startup. I also see problems with acces to btRigidBody from my classes. With 2.72 all works properly. I was compiled it via VC2008EE, and I tested on Vista x64 and Windows XP, on both systems I have errors. In Debug mode CharacterDemo is ok.

EDIT -> this was fixed, please download Bullet 2.73 again


Top
 Profile  
 
PostPosted: Sun Nov 23, 2008 12:18 pm 
Offline

Joined: Tue Jul 03, 2007 10:37 am
Posts: 17
Hi, I found source of my second problem in this release:
Code:
Rev 1493: /src/LinearMath/btQuadWord.h
#ifndef USE_LIBSPE2
ATTRIBUTE_ALIGNED16(class) btQuadWordStorage
#else
class btQuadWordStorage
#endif

In small size test application eg. Bullet demos etc. all works ok, but in my game engine I have problem. When I try get access to Body and return some values eg. position, sometimes I don't have properly value. Example:
Code:
class Entity
{
...
btRigidBody* getBody()
{
cout << Body->getCenterOfMassPosition().getY(); // works ok
return Body;
}
...
};


but, when sometimes I get this Body, example:
Code:
cout << World->getEntityManager()->getEntity(0)->getBody()->getCenterOfMassPosition().getY(); // value is wrong


When I use 'class btQuadWordStorage' instead 'ATTRIBUTE_ALIGNED16(class) btQuadWordStorage' all is ok. I use VS2008EE. Maybe 'ATTRIBUTE_ALIGNED16(class) btQuadWordStorage' shouldn't default parameter?


Top
 Profile  
 
 Post subject: 2.73 and iPhone
PostPosted: Sun Nov 23, 2008 4:49 pm 
Offline

Joined: Sun Nov 23, 2008 4:43 pm
Posts: 1
I used Cmake -G Xcode
With this I could build most OSX demos with Xcode.

When I selected iPhone architecture in Xcode, I could only build the libraries.
The demos, and libGLUI failed.

E.g. libGLUI gave me:
OpenGL/gl.h no such file or directory.

Isn't Bullet supposed to have out-of-box iphone support?

thx,

Bram


Top
 Profile  
 
 Post subject: Re: 2.73 and iPhone
PostPosted: Mon Nov 24, 2008 3:47 am 
Offline
Site Admin
User avatar

Joined: Sun Jun 26, 2005 6:43 pm
Posts: 3744
Location: California, USA
bram wrote:
Isn't Bullet supposed to have out-of-box iphone support?

Bullet library compiles out-of-the box, but libglui not yet indeed. So for demos/graphics on iPhone we provide the Oolong Engine. Just open Oolong Engine2/Examples/Physics/FallingCubes/FallingCubes.xcodeproj and configure your iPhone developer license.

The Oolong Engine includes the updated Bullet 2.73 library, and uses the same Zlib license:
http://oolongengine.googlecode.com

Hope this helps,
Erwin


Top
 Profile  
 
PostPosted: Mon Nov 24, 2008 4:26 am 
Offline
Site Admin
User avatar

Joined: Sun Jun 26, 2005 6:43 pm
Posts: 3744
Location: California, USA
nadro wrote:
When I use 'class btQuadWordStorage' instead 'ATTRIBUTE_ALIGNED16(class) btQuadWordStorage' all is ok. I use VS2008EE. Maybe 'ATTRIBUTE_ALIGNED16(class) btQuadWordStorage' shouldn't default parameter?

We are preparing for SIMD support, but if it causes problems we could remove ATTRIBUTE_ALIGNED16 in a future release.
How do you allocate a btRigidBody exactly?

Can you try to add this at line 76 of btRigidBody.h and see if that helps?
Code:
    BT_DECLARE_ALIGNED_ALLOCATOR();


Thanks for the report,
Erwin


Top
 Profile  
 
PostPosted: Mon Nov 24, 2008 11:38 am 
Offline

Joined: Fri Nov 30, 2007 12:28 pm
Posts: 2
Hi Erwin,

Nice work on the new CUDA broadphase - it's good see somebody using the code from our CUDA SDK for something useful!

There are a lot of ways you could optimize this code. Have you tried doing the scan using CUDPP? It might be a bit faster than doing it on the CPU (avoids the transfers).

Cheers,

Simon.


Top
 Profile  
 
PostPosted: Mon Nov 24, 2008 1:48 pm 
Offline

Joined: Tue Jul 03, 2007 10:37 am
Posts: 17
Hi,
Code:
BT_DECLARE_ALIGNED_ALLOCATOR();

don't solve this problem.
Quote:
How do you allocate a btRigidBody exactly?

I create class "CollisionPack" with CollisionShape, Body, Mass etc. and next I use it for my Entity class. When Entity is create I apply position, rotation and add Body from "CollisionPack" to physic world by 'addRigidBody'


Top
 Profile  
 
PostPosted: Tue Nov 25, 2008 12:15 am 
Offline
User avatar

Joined: Sat Mar 08, 2008 12:37 am
Posts: 56
simesgreen wrote:
Hi Erwin,

Nice work on the new CUDA broadphase - it's good see somebody using the code from our CUDA SDK for something useful!

There are a lot of ways you could optimize this code. Have you tried doing the scan using CUDPP? It might be a bit faster than doing it on the CPU (avoids the transfers).

Cheers,

Simon.


Hello Simon,

Thanks for the reply.
I plan to move more code to the CUDA side and the scan is definitely one of the candidates.
However I don't expect a big perfomance gain from it - now scan takes only a small (~1%) amount of time.
I will optimize the time-consuming code code first

Thanks again,
Roman Ponomarev


Top
 Profile  
 
PostPosted: Tue Nov 25, 2008 1:38 pm 
Offline

Joined: Thu May 17, 2007 9:34 am
Posts: 42
Location: Stuttgart, Germany
Hi,

you have left some errors in the 2.73 package:
Quote:
/data/bullet-2.73/Demos/ConstraintDemo/ConstraintDemo.cpp:35:1: warning: "M_PI" redefined
In file included from /data/bullet-2.73/src/LinearMath/btScalar.h:20,
from /data/bullet-2.73/src/LinearMath/btQuadWord.h:19,
from /data/bullet-2.73/src/LinearMath/btVector3.h:20,
from /data/bullet-2.73/src/BulletCollision/CollisionDispatch/btCollisionWorld.h:71,
from /data/bullet-2.73/src/btBulletCollisionCommon.h:22,
from /data/bullet-2.73/src/btBulletDynamicsCommon.h:20,
from /data/bullet-2.73/Demos/ConstraintDemo/ConstraintDemo.cpp:19:
/usr/include/math.h:355:1: warning: this is the location of the previous definition
/data/bullet-2.73/Demos/ConstraintDemo/ConstraintDemo.cpp:36:1: warning: "M_PI_2" redefined
/usr/include/math.h:356:1: warning: this is the location of the previous definition

M_PI is usually defined in math.h, so there is no need to define it anyway again...

Running on Red Hat 5 x86_64:
Quote:
./autogen.sh
running aclocal
running libtool
libtool worked.
running automake
configure.ac: installing `./missing'
Demos/AllBulletDemos/Makefile.am: installing `./depcomp'
Extras/Makefile.am: installing `./compile'
src/Makefile.am:293: whitespace following trailing backslash
Makefile.am: installing `./COPYING'
running autoheader
running autoconf
configure.ac:120: error: possibly undefined macro: _AC_SRCDIRS
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autogen.sh complete


Then executing ./configure:
Quote:
checking how to create a directory tree... mkdir -p
checking for install... /usr/bin/install -c
checking for doxygen... doxygen
checking for dot... dot
checking for perl5... no
checking for perl... perl
checking for perl5... (cached) perl
checking for TemplateToolkit... no
checking for ttree... no
checking how to disable C++ exceptions... -fno-exceptions
./configure: line 23155: syntax error near unexpected token `"."'
./configure: line 23155: ` _AC_SRCDIRS(".")'


cmake build compiles so far...


Top
 Profile  
 
PostPosted: Wed Nov 26, 2008 2:42 pm 
Offline

Joined: Fri May 30, 2008 2:11 am
Posts: 3
Hey Erwin Coumans,
Please recognized another nice iPhone engine using Bullet, called sio2:
http://sio2interactive.com/

Join their development group for Bullet support:
http://code.google.com/p/sio2/


Top
 Profile  
 
PostPosted: Fri Jul 08, 2011 9:04 am 
Offline

Joined: Fri Jul 08, 2011 9:01 am
Posts: 1
In this release CharacterDemo crash at startup. I also see problems with acces to btRigidBody from my classes. With 2.72 all works properly. I was compiled it internet marketing tips VC2008EE, and I tested on Vista x64 and Windows XP, on both systems I have errors. In Debug mode CharacterDemo is ok.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group