zoukankan      html  css  js  c++  java
  • windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)

    平台:Win7,VS2010

    1. Bullet库的组织

    下图是Bullet_User_Manual中的截图:

    从中可见,Bullet的LinearMath(线性数学模块),其上是BulletCollision(碰撞检测模块),然后BulletDynamics(刚体模拟模块)和BulletSoftBody(可变形体模拟模块)建立在BulletCollision之上,另外还有可选的导入导出插件和多线程模块。LinearMath、BulletCollision、BulletDynamics、BulletSoftBody是核心模块,其他则是可选的(当你需要插件或使用多线程时使用)。我们这里只编译核心模块,其实LinearMath、BulletCollision、BulletDynamics、BulletSoftBody对应4个.lib文件(库文件)。

    鉴于Bullet的模块化组织,用户可以分层次的使用Bullet:

    1. Collision detection,这时只需包含LinearMath、BulletCollision库;
    2. Rigid body dynamics,需包含LinearMath、BulletCollision、BulletDynamics库;
    3. Soft body dynamics,包含全部4个LinearMath、BulletCollision、BulletDynamics、BulletSoftBody库。

    对于我们而言,可能用到可变形体,所以要编译全部4个模块。

    2. Bullet安装指导

    这是高层指导:

    1. 下载bullet-2.82-r2704.zip,解压(r后面的数字可能不同);
    2. 运行“../build/vs2010.bat”,生成VS2010工程;
    3. 用VS2010打开“../vs2010/0BulletSolution.sln”;
    4. LinearMathBulletCollisionBulletDynamicsBulletSoftBody,分别在DebugRelease配置下编译(更多版本及解释见这里);
    5. 将“../lib”下的8个.lib文件,以及“../src”下所有.h文件,都拷贝出来即构成安装包。

    后面第4节会step by step讲解这个过程,并配有截图。下一节将如何配置Bullet工程。

    3. Bullet工程配置(使用Bullet库)

    要使用Bullet,需要:

    1. 添加包含目录,将上一节拷贝的.h文件所在目录添加到工程的包含目录(在所有配置下);
    2. 添加库目录,将上一节拷贝的.lib文件所在目录添加到工程库目录(在所有配置下);
    3. 引用库,添加对.lib文件的引用(根据使用层次添加所需.lib文件,Debug和Release分别设置);
    4. 包含头文件,在代码中包含“btBulletDynamicsCommon.h”。

    注:

    添加包含目录的两种方法:

    1. “项目属性 >> 配置属性 >> VC++目录 >> 包含目录”
    2. “项目属性 >> 配置属性 >> C/C++ >> 常规 >> 附加包含目录”。

    添加库目录的两种方法:

    1. “项目属性 >> 配置属性 >> VC++目录 >> 库目录”
    2. “项目属性 >> 配置属性 >> 链接器 >> 常规 >> 附加库目录”。

    引用库的两种方法:

    1. 代码#pragma comment (lib, "xxx.lib")(用#ifdef _DLL和#ifdef _DEBUG);
    2. “项目属性 >> 配置属性 >> 链接器 >> 输入 >> 附加依赖项”。

    .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

         

  • 相关阅读:
    利用搜狐查询接口举例说明
    超有用! 地址栏网址静默更新, 进入新网页也可以后退回去,.
    mouseenter 与 mouseover 区别于选择
    使用querySelector添加移除style和class
    网页修改<title ></title >标签内容
    (超实用)前端地址栏保存&获取参数,地址栏传输中文不在乱码
    html页面在苹果手机内,safari浏览器,微信中滑动不流畅问题解决方案
    python归一化方法
    opencv-python之投影
    matplotlib的用法
  • 原文地址:https://www.cnblogs.com/liangliangh/p/3575590.html
Copyright © 2011-2022 走看看