OSG入门即osgEarth建立一个地球的详细步骤
2014-10-06 15:50
218 查看
OSG入门即osgEarth建立一个地球的详细步骤
转:/article/2091630.html
最近在学习有关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里的文件如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/16PLF]4(A@_S(LHV2JS@W00.jpg)
第三步、设置环境变量
做为一个初学者我在这一步里遇到了很多麻烦,为了不让大家重蹈覆辙我们这里很详细的介绍。
1、如何设置环境变量
右击我的电脑—>属性 ,如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/S)%7B()4F~W%25EU8[]R9(N4M]4.jpg)
这是点其中的“高级” 选项卡如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/GE/8A3ACF60-FB9C-47E4-A337-B635D5624C51.jpg)
在完成上述步骤之后会出现下图:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/43N8Z%7D%25M[@NNATXLAILKFBI.jpg)
这是在点击下方的“环境变量”选项如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/GE/951CF62E-CB52-4345-9B92-BDCA3DF9A655.jpg)
这是会出现下图:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/(V~U9VX%25%604QM~8G48DLJ6PD.jpg)
2、设置具体环境变量值
我们设置的环境变量值是在系统变量中,
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/GE/122A63E7-4375-4C21-826B-04D27E5796F3.jpg)
这时我要点击“新建”创建相应的选项,之后出现:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/QXCIH%25LS1$VH~SZ(%259HR@HU.jpg)
变量名:OSG_ROOT
变量值:E:\osgearth\OSG
这里的变量值是根据你的创建的目录来定,之后确定就好。新建玩着一项后,我们还要用同样的办法新建几个选项如下:
(1) 变量名:OSG_FILE_PATH
变量值:E:\osgearth\OSG\data 注意这里也是根据具体情况定的
(2)变量名: OSG_WINDOW
变量值:600 15 800 800 注意这个值可以固定就用这个无关紧要
完成上述步骤之后接下来的一步有些不同,这次我们不是新建而是编辑其中的选项内容,编辑的选项如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/GE/954546E7-631C-4CAD-9F39-62373F59A6C2.jpg)
从图中可知就是编辑Path选项,选中之后点击下面编辑键,出现下图:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/FGIF6ST)1DK9_X16~O15[R9.jpg)
把变量值改成E:\osgearth\OSG\bin即可,注意这里我的是改好的,你们的刚开始可能不一样不要紧的。这些改好之后就点确定就行直到退出环境变量设置。
第四步、设置文件目录属性
打开vs2010新建一个名为osgVR的控制台应用程序,之后进行设置,
需要注意的是:Debug版此时对于链接器输入lib文件名后缀比Release版多一个字母d,表示debug版,
右击弹出菜单选择“属性”
![](http://img.my.csdn.net/uploads/201212/18/1355832383_8086.jpg)
其中“配置(C)”项说明是对Debug还是Release版,根据需要选择
![](http://img.my.csdn.net/uploads/201212/18/1355832461_8141.jpg)
需要设置三项分别是包含文件目录include、lib库文件目录和链接器
![](http://img.my.csdn.net/uploads/201212/18/1355833063_2776.jpg)
![](http://img.my.csdn.net/uploads/201212/18/1355833075_3578.jpg)
附加依赖项为,其中并没有加入osgEarth相关
[plain] view plaincopy
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
![](http://img.my.csdn.net/uploads/201301/06/1357461546_9670.jpg)
第五步、编写代码
print?
#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同一级目录下面。
完成这些时就可以编译执行,成果如下所示:
转:/article/2091630.html
最近在学习有关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里的文件如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/16PLF]4(A@_S(LHV2JS@W00.jpg)
第三步、设置环境变量
做为一个初学者我在这一步里遇到了很多麻烦,为了不让大家重蹈覆辙我们这里很详细的介绍。
1、如何设置环境变量
右击我的电脑—>属性 ,如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/S)%7B()4F~W%25EU8[]R9(N4M]4.jpg)
这是点其中的“高级” 选项卡如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/GE/8A3ACF60-FB9C-47E4-A337-B635D5624C51.jpg)
在完成上述步骤之后会出现下图:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/43N8Z%7D%25M[@NNATXLAILKFBI.jpg)
这是在点击下方的“环境变量”选项如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/GE/951CF62E-CB52-4345-9B92-BDCA3DF9A655.jpg)
这是会出现下图:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/(V~U9VX%25%604QM~8G48DLJ6PD.jpg)
2、设置具体环境变量值
我们设置的环境变量值是在系统变量中,
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/GE/122A63E7-4375-4C21-826B-04D27E5796F3.jpg)
这时我要点击“新建”创建相应的选项,之后出现:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/QXCIH%25LS1$VH~SZ(%259HR@HU.jpg)
变量名:OSG_ROOT
变量值:E:\osgearth\OSG
这里的变量值是根据你的创建的目录来定,之后确定就好。新建玩着一项后,我们还要用同样的办法新建几个选项如下:
(1) 变量名:OSG_FILE_PATH
变量值:E:\osgearth\OSG\data 注意这里也是根据具体情况定的
(2)变量名: OSG_WINDOW
变量值:600 15 800 800 注意这个值可以固定就用这个无关紧要
完成上述步骤之后接下来的一步有些不同,这次我们不是新建而是编辑其中的选项内容,编辑的选项如下图所示:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/GE/954546E7-631C-4CAD-9F39-62373F59A6C2.jpg)
从图中可知就是编辑Path选项,选中之后点击下面编辑键,出现下图:
![](http://www.cnblogs.com/flylong0204/p/file:/C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1161357280/QQ/WinTemp/RichOle/FGIF6ST)1DK9_X16~O15[R9.jpg)
把变量值改成E:\osgearth\OSG\bin即可,注意这里我的是改好的,你们的刚开始可能不一样不要紧的。这些改好之后就点确定就行直到退出环境变量设置。
第四步、设置文件目录属性
打开vs2010新建一个名为osgVR的控制台应用程序,之后进行设置,
②设置项目属性,添加包含文件目录和库文件目录
这里仅设置Debug版为例,Release版与此类似需要注意的是:Debug版此时对于链接器输入lib文件名后缀比Release版多一个字母d,表示debug版,
右击弹出菜单选择“属性”
![](http://img.my.csdn.net/uploads/201212/18/1355832383_8086.jpg)
其中“配置(C)”项说明是对Debug还是Release版,根据需要选择
![](http://img.my.csdn.net/uploads/201212/18/1355832461_8141.jpg)
需要设置三项分别是包含文件目录include、lib库文件目录和链接器
![](http://img.my.csdn.net/uploads/201212/18/1355833063_2776.jpg)
![](http://img.my.csdn.net/uploads/201212/18/1355833075_3578.jpg)
附加依赖项为,其中并没有加入osgEarth相关
[plain] view plaincopy
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
![](http://img.my.csdn.net/uploads/201301/06/1357461546_9670.jpg)
第五步、编写代码
print?
#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建立一个地球的详细步骤
- osgearth API编程动态建立一个地球!
- osgearth API编程动态建立一个地球【转】
- osg入门系列8-一个地球
- osgearth入门图解-用VC++做一个地球出来
- 新建一个QT工程的详细步骤,终于搞清楚了!
- VS2008最初级入门(包括建立项目的详细过程)
- BlazeDS入门教程-很详细-赞原创作者一个
- 用Java建立一个服务器的5个步骤
- 建立一个成功的网站7个步骤
- 建立一个web项目的步骤之一(建立数据库)
- Oracle建立DBLINK的详细步骤记录
- 分布式nagios监控环境建立的详细步骤
- Oracle建立DBLINK的详细步骤记录
- cfx webService 入门详细步骤
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录【转】
- MOSS 2007 入门: 建立一个最精简的母版页
- 转一个很详细的httpclient入门
- WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)