平台:Win7,VS2010php
1. Bullet库的组织html
下图是Bullet_User_Manual中的截图:多线程
从中可见,Bullet的LinearMath(线性数学模块),其上是BulletCollision(碰撞检测模块),而后BulletDynamics(刚体模拟模块)和BulletSoftBody(可变形体模拟模块)创建在BulletCollision之上,另外还有可选的导入导出插件和多线程模块。LinearMath、BulletCollision、BulletDynamics、BulletSoftBody是核心模块,其余则是可选的(当你须要插件或使用多线程时使用)。咱们这里只编译核心模块,其实LinearMath、BulletCollision、BulletDynamics、BulletSoftBody对应4个.lib文件(库文件)。模块化
鉴于Bullet的模块化组织,用户能够分层次的使用Bullet:ui
对于咱们而言,可能用到可变形体,因此要编译所有4个模块。google
2. Bullet安装指导插件
这是高层指导:线程
后面第4节会step by step讲解这个过程,并配有截图。下一节将如何配置Bullet工程。code
3. Bullet工程配置(使用Bullet库)htm
要使用Bullet,须要:
注:
添加包含目录的两种方法:
添加库目录的两种方法:
引用库的两种方法:
.lib文件版本问题参见个人另外一篇文章:配置本身的OpenGL库,glew、freeglut库编译,库冲突解决。
4. Step by step
我们从生成的.sln文件开始吧:
打开0BulletSolution.sln:
分别在Debug和Release配置下生成上面截图中的4个项目。更多版本见:配置本身的OpenGL库,glew、freeglut库编译,库冲突解决。注意,Bullet工程里的Debug和Release都是使用静态CRT(咱们通常用的是DLL CRT),因此,有必要多编译2个版本。编译后获得.lib文件,能够根据编译版本自行改文件名:
构建安装包以下:
参考文献:
Bullet 2.82 Physics SDK Manual(在下载的Bullet包中)
http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch