code-google-com / bullet

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

add (de)serialization into binary IFF-based chunk format #308

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago

Bullet only provides import of .obj and .bsp files, and import/export through 
conversion of COLLADA .dae files. It would be good to have a robust 
(de)serialization.

+ based on IFF but supporting 32/64 bit, little/big endian
+ option for compression based on zlib
+ backward and forward compatible, similar to the Blender .blend format
+ (de)serialize methods to each class, similar to irrLicht engine

Original issue reported on code.google.com by erwin.coumans on 17 Nov 2009 at 7:53

GoogleCodeExporter commented 9 years ago

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

GoogleCodeExporter commented 9 years ago
Made some progress on this. See also http://gamekit.googlecode.com

Original comment by erwin.coumans on 3 Dec 2009 at 10:12

GoogleCodeExporter commented 9 years ago

Original comment by erwin.coumans on 3 Dec 2009 at 10:13

GoogleCodeExporter commented 9 years ago
Moved feature to milestone Bullet 3.x.

We will release some intermediate releases in the meanwhile (Bullet 2.76 etc)

Original comment by erwin.coumans on 21 Dec 2009 at 7:17

GoogleCodeExporter commented 9 years ago

More work on serialization has been added to SVN trunk. Now 32/64bit, 
little/big 
endian files can be saved natively in the Bullet sdk without additional 
dependencies.

Loading requires a small library called BulletFileLoader. This library can be 
used in 
combination with the BulletWorldImporter library to instantiate Bullet objects.

See also http://bulletphysics.org/mediawiki-
1.5.8/index.php/Bullet_binary_serialization

Right now, btBoxShape, btCylinderShape, btCapsuleShape, btConvexHullShape and 
btBvhTriangleMeshShape can be serialized, as well as btRigidBody. 
btCompoundShape and 
constraints are next.

Original comment by erwin.coumans on 26 Jan 2010 at 12:14

GoogleCodeExporter commented 9 years ago
From SVN revision 1918 most constraints and their basic settings (no motors and 
advanced settings except for hinge motor) are serialized.

(http://code.google.com/p/bullet/source/detail?r=1918)

The binary serialization stores a description of the structures (also known as 
DNA) 
as part of the file, for endian and 32/64 bit and compatibility conversion. 
Creating 
such DNA structures is complicated. Two sets of structures are needed, one for 
32bit 
and one for 64bit architectures.

It is easiest to use attached patch to generate one set of structures (either 
32bit 
or 64bit). This can be useful to extend the file format. It is best not to 
change/remove existing members of structures or structure names, to keep the 
.bullet 
file format compatible.

Original comment by erwin.coumans on 27 Jan 2010 at 2:24

Attachments:

GoogleCodeExporter commented 9 years ago
most of the work has been completed in latest trunk, so it is a 2.76 release 
target

Original comment by erwin.coumans on 29 Jan 2010 at 8:20

GoogleCodeExporter commented 9 years ago
The Dynamica Maya plugin support .bullet export, and several Bullet demos can 
save and 
load the .bullet format.

See also Bullet/Demos/SerializationDemo and 
Bullet/Demos/ConvexDecompositionDemo.

Original comment by erwin.coumans on 2 Feb 2010 at 5:54