首页 技术 正文
技术 2022年11月19日
0 收藏 925 点赞 2,525 浏览 2355 个字

OSG入门即osgEarth建立一个地球的详细步骤

转:http://blog.csdn.net/xiaol_deng/article/details/9246291

最近在学习有关osg的知识,刚开始一头雾水,幸好在老师的指导下才茅塞顿开,同时又结合网上的多个资料总结

一下作为一个初学者入门的经验。希望广大初学者少走弯路!

开始osg编程之前要做osg的编译准备,这里作为初学者最好选择简单的方法先熟悉为主。我们先下载一个编译好的VS2010+OSGEarth,注意大家看到这里可能会有许多不解,我当时也是这么认为,待我们一步一步地来实现。

第一步、下载编译包

OSG3.1.4和osgEarth2.3 VC10编译包
下载地址:
http://pan.baidu.com/share/link?shareid=107009&uk=2801833827

第二步、建立目录

在你的硬盘里建立一个目录,我就在E盘建立一个osgearth的目录,并把下载的压缩包复制到E:\osgearth\

中并且解压,解压后发现E:\osgearth\OSG里的文件如下图所示:

OSG入门即osgEarth建立一个地球的详细步骤

第三步、设置环境变量

  做为一个初学者我在这一步里遇到了很多麻烦,为了不让大家重蹈覆辙我们这里很详细的介绍。

1、如何设置环境变量

右击我的电脑—>属性 ,如下图所示:

OSG入门即osgEarth建立一个地球的详细步骤

这是点其中的“高级” 选项卡如下图所示:

OSG入门即osgEarth建立一个地球的详细步骤

在完成上述步骤之后会出现下图:

OSG入门即osgEarth建立一个地球的详细步骤

这是在点击下方的“环境变量”选项如下图所示:

OSG入门即osgEarth建立一个地球的详细步骤

这是会出现下图:

OSG入门即osgEarth建立一个地球的详细步骤

2、设置具体环境变量值

我们设置的环境变量值是在系统变量中,

OSG入门即osgEarth建立一个地球的详细步骤这时我要点击“新建”创建相应的选项,之后出现:

OSG入门即osgEarth建立一个地球的详细步骤 变量名:OSG_ROOT变量值:E:\osgearth\OSG这里的变量值是根据你的创建的目录来定,之后确定就好。新建玩着一项后,我们还要用同样的办法新建几个选项如下:(1)    变量名:OSG_FILE_PATH             变量值:E:\osgearth\OSG\data     注意这里也是根据具体情况定的

(2)变量名: OSG_WINDOW

变量值:600 15 800 800     注意这个值可以固定就用这个无关紧要
完成上述步骤之后接下来的一步有些不同,这次我们不是新建而是编辑其中的选项内容,编辑的选项如下图所示:

OSG入门即osgEarth建立一个地球的详细步骤从图中可知就是编辑Path选项,选中之后点击下面编辑键,出现下图:OSG入门即osgEarth建立一个地球的详细步骤 把变量值改成E:\osgearth\OSG\bin即可,注意这里我的是改好的,你们的刚开始可能不一样不要紧的。这些改好之后就点确定就行直到退出环境变量设置。第四步、设置文件目录属性 

打开vs2010新建一个名为osgVR的控制台应用程序,之后进行设置,

设置项目属性,添加包含文件目录和库文件目录

这里仅设置Debug版为例,Release版与此类似

需要注意的是:Debug版此时对于链接器输入lib文件名后缀比Release版多一个字母d,表示debug版,

右击弹出菜单选择“属性”

OSG入门即osgEarth建立一个地球的详细步骤

其中“配置(C)”项说明是对Debug还是Release版,根据需要选择

OSG入门即osgEarth建立一个地球的详细步骤

需要设置三项分别是包含文件目录include、lib库文件目录和链接器

OSG入门即osgEarth建立一个地球的详细步骤OSG入门即osgEarth建立一个地球的详细步骤

附加依赖项为,其中并没有加入osgEarth相关

  1. OpenThreadsd.lib
  2. osgd.lib
  3. osgDBd.lib
  4. osgFXd.lib
  5. osgGAd.lib
  6. osgManipulatord.lib
  7. osgParticled.lib
  8. osgShadowd.lib
  9. osgSimd.lib
  10. osgTerraind.lib
  11. osgTextd.lib
  12. osgUtild.lib
  13. osgViewerd.lib

OSG入门即osgEarth建立一个地球的详细步骤

第五步、编写代码

print?

  1. #include “stdafx.h”
  2. #include <osgViewer/viewer>
  3. #include <osg/Node>
  4. #include <osg/geode>
  5. #include <osg\group>
  6. #include <osgDB/readfile>
  7. #include <osgDB/writefile>
  8. #include <osgUtil\optimizer>
  9. int _tmain(int argc, _TCHAR* argv[])
  10. {
  11. osg::ref_ptr<osgViewer::Viewer> viewer=new osgViewer::Viewer();
  12. osg::ref_ptr<osg::Group> root=new osg::Group();
  13. osg::ref_ptr<osg::Node> node=osgDB::readNodeFile(“mymap.earth”);
  14. root->addChild(node.get());
  15. osgUtil::Optimizer optimizer;
  16. optimizer.optimize(root.get());
  17. viewer->setSceneData(root.get());
  18. viewer->realize();
  19. viewer->run();
  20. return 0;
  21. }

这个代码编写完之后还要编写mymap.earth文件,这里用NotePad++软件编辑,内容如下:

  1. <map name=”MyMap” type=”geocentric” version=”2″>
  2. <image name=”bluemarble” driver=”gdal”>
  3. <url>world.tif</url>
  4. </image>
  5. </map>

编辑好之后把mymap.earth文件复制到你项目所在目录,深度和我的一样即可:E:\vs2010Progam Files\osgVR74\osgVR74,同时也要把world.tif这个tif文件放在和mymap.earth同一级目录下面。

完成这些时就可以编译执行,成果如下所示:

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,356
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,139
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848