[原][osg][osgEarth]关于在OE中使用物理引擎的调研
关于物理引擎旋转的一些整理
参考文档
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.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中使用物理引擎的调研的更多相关文章
- [原][osg][osgEarth]EarthManipulator关于oe漫游器的handle部分解读以及修改(仿照谷歌,修改oe漫游器中focal(视角切换)功能 续 二)
bool EarthManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) ...
- [原][OSG][osgBullet][osgworks][bullet]编译osgBullet尝试物理引擎
相关网址: 类似文章:http://blog.csdn.net/lh1162810317/article/details/17475297 osgBullet官网:http://osgbullet.v ...
- 实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D
我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用Box2D物理引擎的开发过程,熟悉这些API的使用.这个实例运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触 ...
- iOS中的物理引擎
目前知名的2D物理引擎有 Box2d,和Chipmunk,这些是跨平台的.但苹果本身也封装了一个物理引擎, UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架.这可以让开发人员 ...
- 实例介绍Cocos2d-x中Box2D物理引擎:使用关节
下面我们将使用Box2D物理引擎技术进行重构.使得关节能够掌握如何在Box2D使用关节约束.HelloWorldScene.cpp中与使用关节的相关代码如下: void HelloWorld::add ...
- 实例介绍Cocos2d-x中Box2D物理引擎:碰撞检测
在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact ...
- cocos2dx 3.2中的物理引擎初探(一)
cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk.我目前使用的是最新版的cocos2dx 3.2.引擎中默认使用的是chipmunk,如果想要改使用box2d的话,需 ...
- cocos2d-js中Chipmunk物理引擎相关(1)
近期看些cocos2d-js的东西.用到当中的Chipmunk的一些东西.由于相关的资料也不是非常具体,所以看到一些东西实用就记录下来. 1. chipmunk是cocos2d的一个一个物理引擎.用来 ...
- 实例介绍Cocos2d-x中Box2D物理引擎:碰撞检測
在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact ...
随机推荐
- Lintcode: Lowest Common Ancestor
Given the root and two nodes in a Binary Tree. Find the lowest common ancestor(LCA) of the two nodes ...
- location对象查询字符串参数
虽然location.search可以返回从问号到URL末尾的所有内容,但却没有办法逐个访问其中的每个查询字符串参数.为此,可以创建下面这样一个函数,用以解析查询字符串,然后返回包含所有参数的一个对象 ...
- Js中split()方法的正确使用
通过 js 获取 QueryString (location.search部分) 参数很常见,网上代码也满天飞.不过现在的框架,基本上都通过路由伪静态了,把以前的 QueryString 变成了pat ...
- Python tricks(6) -- python代码执行的效率
python作为一个动态语言, 本身学习曲线比较平滑, 效率相比起来会比c++和java低一些. 脚本语言都是运行时编译的, 这个对于效率的影响是非常大的. 我借用参考1的代码, 加了点代码impor ...
- 怎么查看CI,codeigniter的版本信息?想看某个项目中使用的CI具体是哪个版本,怎么查看?
怎么查看CI的版本信息?想看某个项目中使用的CI具体是哪个版本,怎么查看?system\core\codeigniter.php中可以查看版本常量/** * CodeIgniter Version * ...
- ES6学习笔记之map、set与数组、对象的对比
ES6 ES5中的数据结构,主要是用Array和Object.在ES6中主要新增了Set和Map数据结构.到目前为止,常用的数据结构有四种Array.Object.Set.Map.下面话不多说了,来一 ...
- Linux用root强制踢掉已登录用户
首先使用w命令查看所有在线用户: [root@VM_152_184_centos /]# w 20:50:14 up 9 days, 5:58, 3 users, load average: 0.21 ...
- MySQL数据库----函数
函数 MySQL中提供了许多内置函数,例如: CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二字节字符集, LENG ...
- java和mysql之间的时间日期类型传递
摘自:http://blog.csdn.net/weinianjie1/article/details/6310770 MySQL(版本:5.1.50)的时间日期类型如下: datetime 8byt ...
- MySQL分区(Partition)功能
引用地址:http://blog.csdn.net/tjcyjd/article/details/11194489 自5.1开始对分区(Partition)有支持 = 水平分区(根据列属性按行分)=举 ...