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、如何设置环境变量
右击我的电脑—>属性 ,如下图所示:
%7B()4F~W%25EU8[]R9(N4M]4.jpg)
这是点其中的“高级” 选项卡如下图所示:

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

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

这是会出现下图:

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

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

打开vs2010新建一个名为osgVR的控制台应用程序,之后进行设置,
②设置项目属性,添加包含文件目录和库文件目录
这里仅设置Debug版为例,Release版与此类似
需要注意的是:Debug版此时对于链接器输入lib文件名后缀比Release版多一个字母d,表示debug版,
右击弹出菜单选择“属性”

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

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


附加依赖项为,其中并没有加入osgEarth相关
- OpenThreadsd.lib
- osgd.lib
- osgDBd.lib
- osgFXd.lib
- osgGAd.lib
- osgManipulatord.lib
- osgParticled.lib
- osgShadowd.lib
- osgSimd.lib
- osgTerraind.lib
- osgTextd.lib
- osgUtild.lib
- osgViewerd.lib

第五步、编写代码
- #include "stdafx.h"
- #include <osgViewer/viewer>
- #include <osg/Node>
- #include <osg/geode>
- #include <osg\group>
- #include <osgDB/readfile>
- #include <osgDB/writefile>
- #include <osgUtil\optimizer>
- int _tmain(int argc, _TCHAR* argv[])
- {
- osg::ref_ptr<osgViewer::Viewer> viewer=new osgViewer::Viewer();
- osg::ref_ptr<osg::Group> root=new osg::Group();
- osg::ref_ptr<osg::Node> node=osgDB::readNodeFile("mymap.earth");
- root->addChild(node.get());
- osgUtil::Optimizer optimizer;
- optimizer.optimize(root.get());
- viewer->setSceneData(root.get());
- viewer->realize();
- viewer->run();
- return 0;
- }
这个代码编写完之后还要编写mymap.earth文件,这里用NotePad++软件编辑,内容如下:
- <map name="MyMap" type="geocentric" version="2">
- <image name="bluemarble" driver="gdal">
- <url>world.tif</url>
- </image>
- </map>
编辑好之后把mymap.earth文件复制到你项目所在目录,深度和我的一样即可:E:\vs2010Progam Files\osgVR74\osgVR74,同时也要把world.tif这个tif文件放在和mymap.earth同一级目录下面。
完成这些时就可以编译执行,成果如下所示:
OSG入门即osgEarth建立一个地球的详细步骤的更多相关文章
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型
英文渣水平,大伙凑合着看吧…… 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第一篇: ...
- 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型
这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第一篇:建立一个E ...
- 通过GitHub Pages建立个人站点(详细步骤)
1 Git简介 2 为什么使用Github Pages 3 创建Github Pages 3.1 安装git工具. 3.2 两种pages模式 3.3 创建步骤 3.4 常用命令 4 使用Jekyll ...
- 在win7上建立本地FTP站点详细步骤
一.安装FTP组件点击:控制面板—>程序和功能—>打开或关闭Windows功能. 勾选“FTP服务器”及“FTP服务”“FTP扩展性”,点击“确定”,安装FTP组件. 勾选Web管理工具的 ...
- Linux驱动之建立一个hello模块
目标:在开发板上执行insmod hello.ko能在控制台打印出hello init:接着执行rmmod会在控制台打印出hello exit 建立一个hello模块的步骤如下: 1.建立一个hell ...
- Cesium入门-1-展示一个地球
Cesium 官网教程地址 https://cesium.com/docs/tutorials/getting-started//tutorials/getting-started/ 第一个程序代码: ...
- 如何快速建立一个测试资源Web服务器及异步获取资源(Unity3D)
背景 1.最近看了几位专栏作家的文章,几篇提到了资源通过网络的动态获取.如何建立一个快速的测试环境,不免是一个问题,也就最简单的就是假设http服务器了,微软系的当然首选的IIS了,别的也能用阿帕奇或 ...
- 使用NDK c++建立一个Android应用
使用NDK c++建立一个Android应用 一.工具 ADT(集成了eclipse,cdt,ndk plug-in) NDK (用它来编译c/c++程序) JDK (Java开发包) ANT(ecl ...
- 【SSRS】入门篇(二) -- 建立数据源
原文:[SSRS]入门篇(二) -- 建立数据源 通过 [SSRS]入门篇(一) -- 创建SSRS项目 这篇,我们建立了一个SSRS项目: 接下来,我们以 AdventureWorks2012 示例 ...
随机推荐
- 攻城狮在路上(叁)Linux(二十八)--- 打包命令:tar
首先介绍一下tar打包命令的基本格式,下面的三种之间不能混淆. tar [-j|-z] [cv] [-f 新文件名] file1 file2 ...; tar [-j|-z] [tv] [-f 新文件 ...
- WPF ListView展示层叠信息
通常我们在ListView中展示一列同类数据,例如城市名称.不过可以对ListView的DataTemplate稍作修改,让其显示层叠信息.例如:需要在ListView中显示省份和省份对应的城市名称. ...
- Java中的异或(转)
在java程序里面的异或用法: 相同输出0,不同输出1,例如: System.out.println(1^1); 输出0 System.out.println(1^2):输出3,因为最后2个低位都不一 ...
- windows下R语言在终端的运行
在windows下可以有多种方式来运行R,R导论的这些章节给出一些详细的指导. 通常在环境变量离包含R的安装目录类似于R\R-3.1.2\bin\x64的情况下,就可以在CMD下运行R程序了 注意我这 ...
- bzoj专题训练
//http://blog.csdn.net/PoPoQQQ/article/category/2542243
- SQLServer两张表筛选相同数据和不同数据
概述 项目中经常会对两张数据库表的数据进行比较,选出相同的数据或者不同的数据.在SQL SERVER 2000中只能用Exists来判断,到了SQL SERVER 2005以后可以采用EXCEPT和I ...
- 【MongoDB】1.安装--以及简单使用
第一次接触MongoDB 参考&粘贴:http://jingyan.baidu.com/article/ed15cb1b52b8661be2698162.html 一.安装 1.首先去官 ...
- 记一次小团队Git实践(下)
在上篇中,我们已经能基本使用git了,接下来继续更深入的挖掘一下git. 更多的配置自定义信息 除了前面讲的用户名和邮箱的配置,还可以自定义其他配置: # 自定义你喜欢的编辑器,可选 git conf ...
- poj 2774 Long Long Message 后缀数组基础题
Time Limit: 4000MS Memory Limit: 131072K Total Submissions: 24756 Accepted: 10130 Case Time Limi ...
- windows安装python问题
在安装python过程中,直接下一步,安装好了,配置环境变量的时候如果找不到安装路径在哪,打开开始菜单,在左边的程序栏找到: 这样就找到了,然后在系统变量中加入即可.如果找不到的话,以联想电脑为例一般 ...