关于物理引擎旋转的一些整理

参考文档

http://blog.wolfire.com/2010/03/Comparing-ODE-and-Bullet

介绍ODE和bullet的利弊

http://stackoverflow.com/questions/6408198/bullet-vs-newton-game-dynamics-vs-ode-physics-engines

讨论作者想要哪款物理引擎

https://www.ibm.com/developerworks/cn/opensource/os-physicsengines/

这里有Box2D和Bullet的详细介绍(中文)

物理引擎对比

引擎

平台|协议

效率|精度

优势

劣势

Chipmunk

非常精确

仅支持2D

Box2D

开源

Zlib许可

用的多

仅支持2D

NewTon Game Dynamics

开源

(ODE)

Open Dynamics Engine

平台多

开源

BSD许可

比较精确

效率低

提供不少飞行参数调节

文档好

成熟度高

Osg支持

效率太低

物体多就卡

不维护了

Bullet

平台多,开源

Zlib许可

效率和精确性比ODE好

用的多

OpenCL支持

多线程

SIMD数学库

不断更新

AMD厂家支持

Osg支持

文档更新跟不上代码迭代速度

官方论坛都被墙了

Havok

平台多,不支持mac

付费开源

精确性比PhysX好

游戏领域使用最广

Intel厂家支持

使用多核CUP算

Ogre支持

不支持GPU

PhysX

精确性低

效率一般

英伟达厂家支持

使用GPU算

Ogre支持

OSG支持

多线程支持不好

PC端支持不好

一些有用的观点:

starting with a stable,  documented physics library like ODE may have given me the experience I needed to be able to understand and use a more rapidly-changing physics library like Bullet这个作者一开始使用ODE,干到一半换bullet了。

Osg的扩展工程:

http://www.osgchina.org/index.php?view=article&id=176

其中 osgBullet  osgode  osgRecipes都提供物理功能

OSG与物理的结合还是phsyX比较多一点,其次是

osgBullet

http://osgbullet.vesuite.org/

http://osgbullet.googlecode.com/

好像不维护了

相关文章:

http://blog.csdn.net/lh1162810317/article/details/17475297

http://www.unjeep.com/q/641844992.htm 配置bullet库

http://www.docin.com/p-1313518364.html 相关论文

http://blog.csdn.net/silangquan/article/details/9730963 不完全指南

osgode

https://sourceforge.net/projects/osgode/

OsgRecipe(包含physX)

https://github.com/xarray/osgRecipes/wiki

不断补充完善中。。。目前physX已经结合进OE了,但是感觉效率会不行,现在研究下bullet和ode就下决定了

[原][osg][osgEarth]关于在OE中使用物理引擎的调研的更多相关文章

  1. [原][osg][osgEarth]EarthManipulator关于oe漫游器的handle部分解读以及修改(仿照谷歌,修改oe漫游器中focal(视角切换)功能 续 二)

    bool EarthManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) ...

  2. [原][OSG][osgBullet][osgworks][bullet]编译osgBullet尝试物理引擎

    相关网址: 类似文章:http://blog.csdn.net/lh1162810317/article/details/17475297 osgBullet官网:http://osgbullet.v ...

  3. 实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D

    我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用Box2D物理引擎的开发过程,熟悉这些API的使用.这个实例运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触 ...

  4. iOS中的物理引擎

    目前知名的2D物理引擎有 Box2d,和Chipmunk,这些是跨平台的.但苹果本身也封装了一个物理引擎, UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架.这可以让开发人员 ...

  5. 实例介绍Cocos2d-x中Box2D物理引擎:使用关节

    下面我们将使用Box2D物理引擎技术进行重构.使得关节能够掌握如何在Box2D使用关节约束.HelloWorldScene.cpp中与使用关节的相关代码如下: void HelloWorld::add ...

  6. 实例介绍Cocos2d-x中Box2D物理引擎:碰撞检测

    在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact ...

  7. cocos2dx 3.2中的物理引擎初探(一)

    cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk.我目前使用的是最新版的cocos2dx 3.2.引擎中默认使用的是chipmunk,如果想要改使用box2d的话,需 ...

  8. cocos2d-js中Chipmunk物理引擎相关(1)

    近期看些cocos2d-js的东西.用到当中的Chipmunk的一些东西.由于相关的资料也不是非常具体,所以看到一些东西实用就记录下来. 1. chipmunk是cocos2d的一个一个物理引擎.用来 ...

  9. 实例介绍Cocos2d-x中Box2D物理引擎:碰撞检測

    在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact ...

随机推荐

  1. Python + logging 输出到屏幕,将log日志写入文件

    日志 日志是跟踪软件运行时所发生的事件的一种方法.软件开发者在代码中调用日志函数,表明发生了特定的事件.事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地不同的数 ...

  2. iOS UI基础-6.0 UIActionSheet的使用

    UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件. 使用 1.需要实现UIActionSheetDelegate  协议 @interface NJWisdom ...

  3. Summary: gcd最大公约数、lcm最小公倍数算法

    欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数.其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + ...

  4. sql 查询不存在左表的数据

    select * from zyz_mgr_wlcyiduifu a left join WLCInformation b ona.wlcId=b.WLCInvestorApplyID where b ...

  5. VCS中的覆盖率分析

    VCS在仿真过程中,也可以收集Coverage Metric.其中覆盖率类型有: 1)Code Coverage:包括control_flow和value两部分的coverage,line_cover ...

  6. thinkphp+jquery+ajax前后端交互注册验证

    thinkphp+jquery+ajax前后端交互注册验证,界面如下 register.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  7. python recv()是什么

    socket有个recv方法,recv有一个参数,指定数据缓冲区的大小 但是现在的问题就是不知道将要接受的数据的大小到底是多少,可能只有几个字节,可能会有几M,google了一下socket的入门文章 ...

  8. Python tricks(3) -- list和dict的遍历和方法

    每个人在使用python的过程中都会遍历list和dict. List遍历 最常用最简单的遍历list的方法 a = ["a", "b", "c&qu ...

  9. python3.4学习笔记(七) 学习网站博客推荐

    python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...

  10. 【Python】【Flask】前端调用后端方法

    后端代码: @app.route("/test",methods=['POST','GET']) def test(): return "我是测试的" 前端代码 ...