VS2013的OSG开发环境配置


大体步骤如同上面所说的,这里重点记录一些细节:

工具:
1.OSG的源码, 用的3.2.1 rc版本的,之前用的3.2.0编译了4个小时发现都没生成那些exe文件

2.OSG的第三方依赖,用的3rdParty_VS2013_v120_x86_x64_V9_small版本的,这个没啥问题, 就是后面要用VS2013编译运行实例代码的时候需要在环境变量path中加入  .....\3rdParty\bin的路径 ,才能正常运行。

3.数据包,用的 OpenSceneGraph-Data-3.0.0 里面有许多实例文件,可以参照。

4.cmake ,用来编译OSG的源代码,生成一个sln文件,用VS2013打开。


步骤:
为了编译的顺利进行,将下载的文件组织如下:
在E盘建立一个OSG的文件夹,然后其他文件如下放置:
E:\OSG\OpenSceneGraph:源码解压后放于此
E:\OSG\3rdParty:第三方依赖库解压后放于此  就用X86里面的就行了。
图片

下面这个是数据文件夹
图片
源码文件夹
图片
在源码文件夹里面建 build , bin, lib 文件夹,方便后面识别

然后就是用CMAKE来编译 源码
像最上面那篇文章说的配置CMAKE,
在最开始configure的时候,我电脑报错了,说585行qt的mingw这个和cmake冲突,解决方法:屏蔽掉那几行报错的if 和endif
多configure几次,才可以看到BUILD_MFC_EXAMPLE这个,最后“生成”

生成好了,就在 OpenSceneGraph / build里面找到VS2013的sln 
图片

编译时间有点长,大概4个小时。
图片
编译好了转移数据,然后就可以跑示例 代码了。
图片

不过我运行的牛是有点问题
图片


上面这个实例的cow.osg模型显示不全的原因,大概是因为全屏吧,后面修改代码

#include<osgViewer/Viewer>
#include<osgDB/ReadFile>
#include<osgViewer/ViewerEventHandlers>
#include<osgGA/StateSetManipulator>
#include<osgViewer/Viewer>
#include<osg/Node>




int main(int argc, char **argv)
{


<span style="white-space:pre">	</span>osgViewer::Viewer viewer;


<span style="white-space:pre">	</span>//viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
<span style="white-space:pre">	</span>osg::Group * root = new osg::Group();
<span style="white-space:pre">	</span>root->addChild(osgDB::readNodeFile("robot.osg"));
<span style="white-space:pre">	</span>root->addChild(osgDB::readNodeFile("glider.osg"));


<span style="white-space:pre">	</span>viewer.setSceneData(root);


<span style="white-space:pre">	</span>//添加状态事件
<span style="white-space:pre">	</span>viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()));
<span style="white-space:pre">	</span>//窗口大小变化事件
<span style="white-space:pre">	</span>viewer.addEventHandler(new osgViewer::WindowSizeHandler);
<span style="white-space:pre">	</span>//添加一些常用状态设置
<span style="white-space:pre">	</span>viewer.addEventHandler(new osgViewer::StatsHandler);


<span style="white-space:pre">	</span>viewer.realize();


<span style="white-space:pre">	</span>return viewer.run();


}


显示效果就比较正常了:
图片


快捷键:
W :网格显示等切换
F:全屏
S:显示详细资料
T:改变材质


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值