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里的文件如下图所示:

第三步、设置环境变量

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

1、如何设置环境变量

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

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

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

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

这是会出现下图:

2、设置具体环境变量值

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

这时我要点击“新建”创建相应的选项,之后出现:

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

(2)变量名: OSG_WINDOW

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

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

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

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

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

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

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

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

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

附加依赖项为,其中并没有加入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

第五步、编写代码

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同一级目录下面。

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

OSG入门即osgEarth建立一个地球的详细步骤的更多相关文章

  1. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型

    英文渣水平,大伙凑合着看吧…… 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第一篇: ...

  2. 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型

    这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第一篇:建立一个E ...

  3. 通过GitHub Pages建立个人站点(详细步骤)

    1 Git简介 2 为什么使用Github Pages 3 创建Github Pages 3.1 安装git工具. 3.2 两种pages模式 3.3 创建步骤 3.4 常用命令 4 使用Jekyll ...

  4. 在win7上建立本地FTP站点详细步骤

    一.安装FTP组件点击:控制面板—>程序和功能—>打开或关闭Windows功能. 勾选“FTP服务器”及“FTP服务”“FTP扩展性”,点击“确定”,安装FTP组件. 勾选Web管理工具的 ...

  5. Linux驱动之建立一个hello模块

    目标:在开发板上执行insmod hello.ko能在控制台打印出hello init:接着执行rmmod会在控制台打印出hello exit 建立一个hello模块的步骤如下: 1.建立一个hell ...

  6. Cesium入门-1-展示一个地球

    Cesium 官网教程地址 https://cesium.com/docs/tutorials/getting-started//tutorials/getting-started/ 第一个程序代码: ...

  7. 如何快速建立一个测试资源Web服务器及异步获取资源(Unity3D)

    背景 1.最近看了几位专栏作家的文章,几篇提到了资源通过网络的动态获取.如何建立一个快速的测试环境,不免是一个问题,也就最简单的就是假设http服务器了,微软系的当然首选的IIS了,别的也能用阿帕奇或 ...

  8. 使用NDK c++建立一个Android应用

    使用NDK c++建立一个Android应用 一.工具 ADT(集成了eclipse,cdt,ndk plug-in) NDK (用它来编译c/c++程序) JDK (Java开发包) ANT(ecl ...

  9. 【SSRS】入门篇(二) -- 建立数据源

    原文:[SSRS]入门篇(二) -- 建立数据源 通过 [SSRS]入门篇(一) -- 创建SSRS项目 这篇,我们建立了一个SSRS项目: 接下来,我们以 AdventureWorks2012 示例 ...

随机推荐

  1. 攻城狮在路上(叁)Linux(二十八)--- 打包命令:tar

    首先介绍一下tar打包命令的基本格式,下面的三种之间不能混淆. tar [-j|-z] [cv] [-f 新文件名] file1 file2 ...; tar [-j|-z] [tv] [-f 新文件 ...

  2. WPF ListView展示层叠信息

    通常我们在ListView中展示一列同类数据,例如城市名称.不过可以对ListView的DataTemplate稍作修改,让其显示层叠信息.例如:需要在ListView中显示省份和省份对应的城市名称. ...

  3. Java中的异或(转)

    在java程序里面的异或用法: 相同输出0,不同输出1,例如: System.out.println(1^1); 输出0 System.out.println(1^2):输出3,因为最后2个低位都不一 ...

  4. windows下R语言在终端的运行

    在windows下可以有多种方式来运行R,R导论的这些章节给出一些详细的指导. 通常在环境变量离包含R的安装目录类似于R\R-3.1.2\bin\x64的情况下,就可以在CMD下运行R程序了 注意我这 ...

  5. bzoj专题训练

    //http://blog.csdn.net/PoPoQQQ/article/category/2542243

  6. SQLServer两张表筛选相同数据和不同数据

    概述 项目中经常会对两张数据库表的数据进行比较,选出相同的数据或者不同的数据.在SQL SERVER 2000中只能用Exists来判断,到了SQL SERVER 2005以后可以采用EXCEPT和I ...

  7. 【MongoDB】1.安装--以及简单使用

    第一次接触MongoDB    参考&粘贴:http://jingyan.baidu.com/article/ed15cb1b52b8661be2698162.html 一.安装 1.首先去官 ...

  8. 记一次小团队Git实践(下)

    在上篇中,我们已经能基本使用git了,接下来继续更深入的挖掘一下git. 更多的配置自定义信息 除了前面讲的用户名和邮箱的配置,还可以自定义其他配置: # 自定义你喜欢的编辑器,可选 git conf ...

  9. poj 2774 Long Long Message 后缀数组基础题

    Time Limit: 4000MS   Memory Limit: 131072K Total Submissions: 24756   Accepted: 10130 Case Time Limi ...

  10. windows安装python问题

    在安装python过程中,直接下一步,安装好了,配置环境变量的时候如果找不到安装路径在哪,打开开始菜单,在左边的程序栏找到: 这样就找到了,然后在系统变量中加入即可.如果找不到的话,以联想电脑为例一般 ...