Difference between revisions of "Bullet"

From HaskellWiki
Jump to navigation Jump to search
(Added section "Combining LambdaCube and Bullet" and some categories)
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
== Overview ==
[http://www.bulletphysics.com/Bullet/wordpress/bullet Bullet] is a professional open source multi-threaded 3D Collision Detection and Rigid Body Dynamics Library. It is free for commercial use under the ZLib license.
 
   
 
[http://www.bulletphysics.com/Bullet/wordpress/bullet Bullet] is a professional open source multi-threaded 3D Collision Detection and Rigid Body Dynamics Library written in C++. It is free for commercial use under the zlib license.
Bullet is a C++ library.
 
   
  +
== Installation ==
Here is a haskell wrapper and an example for it.
 
   
  +
A cabalised wrapper is available: http://hackage.haskell.org/package/bullet
[[Media:Bullet.hs|Bullet.hs]] - bullet haskell wrapper
 
   
  +
Note that you have to install the library before installing the package:
[[Media:BulletExample.hs|BulletExample.hs]] - example program
 
   
requirements: glut, [http://www.bulletphysics.com/Bullet/wordpress/bullet Bullet]
+
svn checkout http://bullet.googlecode.com/svn/tags/bullet-2.78 bullet-read-only
  +
cd bullet-read-only
  +
cmake .
  +
make
  +
sudo make install
   
  +
Now you can install the Haskell binding:
compile command:
 
ghc -XForeignFunctionInterface Bullet.hs BulletExample.hs -lbulletdynamics -lbulletmath -lbulletcollision -lstdc++ -o example -package GLUT
 
   
  +
cabal install bullet
   
  +
== Todo ==
[[Image:BulletExample.jpg|BulletExample.jpg]]
 
  +
  +
* vehicle interface
  +
* constraints
  +
* soft body system
  +
  +
== OpenGL example ==
  +
  +
The example on the screenshot below can be found in the package. You have to compile it by hand. Make sure that OpenGL and GLUT is installed, then enjoy:
  +
  +
cabal unpack bullet
  +
cd bullet-x.x.x/Examples
  +
ghc --make -O2 BulletExample
  +
./BulletExample
  +
  +
You can use the arrows to navigate the scene and P to pause/unpause.
  +
  +
[[Image:Bullet-example-1.png]]
  +
  +
[[Image:Bullet-example-2.png]]
  +
  +
  +
== Combining LambdaCube and Bullet ==
  +
  +
Hackage contains an example for combining LambdaCube and Bullet:
  +
[http://hackage.haskell.org/package/lambdacube-bullet lambdacube-bullet]
  +
  +
  +
[[Category:Packages]]
  +
[[Category:Games]]
  +
[[Category:Libraries]]

Revision as of 21:32, 18 May 2012

Overview

Bullet is a professional open source multi-threaded 3D Collision Detection and Rigid Body Dynamics Library written in C++. It is free for commercial use under the zlib license.

Installation

A cabalised wrapper is available: http://hackage.haskell.org/package/bullet

Note that you have to install the library before installing the package:

svn checkout http://bullet.googlecode.com/svn/tags/bullet-2.78 bullet-read-only
cd bullet-read-only
cmake .
make
sudo make install

Now you can install the Haskell binding:

cabal install bullet

Todo

  • vehicle interface
  • constraints
  • soft body system

OpenGL example

The example on the screenshot below can be found in the package. You have to compile it by hand. Make sure that OpenGL and GLUT is installed, then enjoy:

cabal unpack bullet
cd bullet-x.x.x/Examples
ghc --make -O2 BulletExample
./BulletExample

You can use the arrows to navigate the scene and P to pause/unpause.

Bullet-example-1.png

Bullet-example-2.png


Combining LambdaCube and Bullet

Hackage contains an example for combining LambdaCube and Bullet: lambdacube-bullet