[原][OSG][osgBullet][osgworks][bullet]编译osgBullet尝试物理引擎
相关网址:
类似文章:http://blog.csdn.net/lh1162810317/article/details/17475297
osgBullet官网:http://osgbullet.vesuite.org/
下载:https://github.com/mccdo/osgbullet
osgWooks官网:http://osgworks.vesuite.org/
下载:https://github.com/mccdo/osgworks
bullet官网:http://bulletphysics.org/wordpress/
下载:https://github.com/bulletphysics/bullet3/releases
bullet文档:http://bulletphysics.org/wordpress/?page_id=9
准备工作:
1.下载编译osg:网上很多,不表,我使用的是osg 3.5.1
2.下载osgworks:这个百度能收到官网,墙内能打开,下载是连接到github,而且要经过google跳转,我也是醉了。
推荐使用免费的 蓝灯 FQ,到github下载。(Lantern的使用,和github使用自己体会)
3.下载bullet:我在最新官网下载的是最新的:bullet3-2.86.1(其实可以用以前的版本)
同样bullet官网墙内能上,连接到github上直接下载。
4.下载osgBullet:这个和osgworks下载方式一模一样
PS:楼主下载时间是:2017年4月初osgworks最近一次更新在10个月前,osgbullet最近一次更新在三年前,尼玛
开始编译:
1.编译bullet,这个很简单,楼主安装的是vs2014,在下载好的bullet文件夹中直接就有一个“build_and_run_cmake.sh”
双击直接生成工程文件,你说屌不屌。工程文件在“build_cmake”目录中打开直接就能编译过!
但是!默认是生成32位的啊,楼主一直使用64位的。
所以啊,要配置64位的工程。怎么配置请百度。
完事全部生成64位的lib哦
这里有要注意的地方,可能是楼主自己的问题,在修改64位工程配置的时候:
属性-》配置属性-》c/c++-》代码生成-》运行库。出现小问题,它默认竟然是MTD的fuck(浪费楼主好多时间)
改成MDd的,要不,之后的编译会有各种冲突,因为我之后的工程全是MDd的。
2.编译osgworks,这里我们需要cmake
这里有一个需要注意的是,cmake配置时cmake目录和工程文件生成目录要用同一个,要不“INSTALL”会有问题
然后记得改一下cmake中的:“CMAKE_INSTALL_PREFIX”这个路径就是install后的路径,这个路径在编译osgbullet时候会用到。
这里的cmake只需要配置自己编译好的OSG各个路径就可以了。
3.编译osgbullet,同osgworks一样的使用cmake
一样的配置osg各个路径
多了一个osgWorks_DIR这个就用2中的那个路径下的“lib目录”
多了需要配置1中编译出的各种bullet路径,这里就有问题了,由于osgbullet是使用三年前的bullet编译的
最新bullet改动比较大,所以这里就瞎配配,(当然,大神也可以自己修改cmake文件)然后再工程生成后:
在工程文件各个子项目的“属性”中。
配置bullet的“include”路径和“lib库”路径,当然,别忘记连接库。我使用的自己改出来的64位bullet。
完事编译,应该是成功的,不过,楼主是一个个子项目编译的,所以只有“INSTALL”没成功,可能和2中提到的问题一样。
好了example应该都能跑了,但是要跑的时候配置一下osg文件路径,找不到文件一跑就退出哦。
[原][OSG][osgBullet][osgworks][bullet]编译osgBullet尝试物理引擎的更多相关文章
- [原][osg][osgEarth]关于在OE中使用物理引擎的调研
关于物理引擎旋转的一些整理 参考文档 http://blog.wolfire.com/2010/03/Comparing-ODE-and-Bullet 介绍ODE和bullet的利弊 http://s ...
- [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...
- Bullet物理引擎的安装与使用
图形赋予游戏一种视觉的吸引力,但是能够让游戏的世界鲜活起来的还应该是内部的物理引擎.物理引擎是游戏引擎中的子模块,是一种软件组件,可仿真物理系统.它根据牛顿力学定律,计算游戏中物体的合理的物理位置,并 ...
- 转:Bullet物理引擎不完全指南(Bullet Physics Engine not complete Guide)
write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 前言 Bullet据称为游戏世界占有率为第三的物理引擎,也是前几大引擎目前唯一能够 ...
- Bullet物理引擎在OpenGL中的应用
Bullet物理引擎在OpenGL中的应用 在开发OpenGL的应用之时, 难免要遇到使用物理来模拟OpenGL中的场景内容. 由于OpenGL仅仅是一个关于图形的开发接口, 因此需要通过第三方库来实 ...
- 将 Android* Bullet 物理引擎移植至英特尔® 架构
简单介绍 因为眼下的移动设备上可以使用更高的计算性能.移动游戏如今也可以提供震撼的画面和真实物理(realistic physics). 枪战游戏中的手雷爆炸效果和赛车模拟器中的汽车漂移效果等便是由物 ...
- [原][osg][osgEarth]EarthManipulator关于oe漫游器的handle部分解读以及修改(仿照谷歌,修改oe漫游器中focal(视角切换)功能 续 二)
bool EarthManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) ...
- [原][OSG]OSG例子程序简介
1.example_osganimate一)演示了路径动画的使用(AnimationPath.AnimationPathCallback),路径动画回调可以作用在Camera.CameraView.M ...
- [原][osg][oe]分析一块倾斜摄影瓦片的数据
RangeMode PIXEL_SIZE_ON_SCREEN 首先我们看看原始数据的构成: 第12层:(第一层) 第23层:(最后一层) pagelod下面有N多的pagelod一层包裹一层 通过os ...
随机推荐
- 部署 Flask 应用时,为什么会需要 gunicorn 或 uWSGI?
Flask自带的wsgi性能低下 只适合你开发调试的时候用, 线上你必须用Gunicorn+Nginx才能获得更强的性能,和更高的安全性
- itertools模块(收藏)
Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数. count().cycle().repeat() 首先,我们看看itertools提供的几个“无限”迭代器: > ...
- Django中的admin组件分析
admin的使用介绍 django-admin的使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.可以在项目的 setting ...
- C++Builder6.0 新建和打开项目软件死机
大清早上班打开C++Builder6.0软件,打开项目却卡死,甚是奇怪,然后尝试新建项目也同样卡死.尝试打开一个CPP文件,可以打开,再尝试打开项目.bpr文件,便打开了.至于原因为什么,那就不得而知 ...
- cocos代码研究(7)即时动作子类学习笔记
理论部分 即时动作是会立即被执行的动作.他们没有持续时间动作(ActionInterval)的持续时间属性.继承自 FiniteTimeAction.被 CallFunc, FlipX, FlipY, ...
- JSP—作用域
application: 用于同一个应用内,所有用户之间的数据共享 作用域: request作用域: 在页面转发,包含中同样有效. <% pageContext.include("te ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON Regiongrowing
zw版[转发·台湾nvp系列Delphi例程]HALCON Regiongrowing procedure TForm1.Button1Click(Sender: TObject);var img : ...
- Object-C-复制
copy 减少对象上下文依赖 copy 创建一个新对象,copy得到的副本对象与原来内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化 使用 copy 创建出来的对象是不可 ...
- Java设计模式应用——过滤器模式
storm引擎计算出一批中间告警结果,会发送一条kafka消息给告警入库服务,告警入库服务接收到kafka消息后读取中间告警文件,经过一系列处理后把最终告警存入mysql中. 实际上,中间告警结果可能 ...
- python模块-random随机数模块
导入随机数模块import random 1.random.random() 生成[0,1)之间的随机小数 2.random.randint(a,b) 生成[a,b]之间的随机整数 3.random. ...