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

开始osg编程之前要做osg的编译准备,这里作为初学者最好选择简单的方法先熟悉为主。我们先下载一个编译好的VS2010+OSGEarth

第一步、下载编译包

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

第二步、建立目录

 在你的硬盘里建立一个目录,我就在E盘建立一个osgearth的目录,并把下载的压缩包复制到E:\osgearth\中并且解压,解压后发现E:\osgearth\OSG里的文件如下图所示:


第三步、设置环境变量

1、如何设置环境变量

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

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

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

2、设置具体环境变量值

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

这时我要点击“新建”创建相应的选项,出现:这里的变量值是根据你的创建的目录来定,之后确定就好。新建玩着一项后,我们还要用同样的办法新建几个选项如下:


osgbin目录添加到环境变量;


进入如下图目录打如下命令;



点击回车键后出现一个纹理地球:表明环境已经配置好;




VC++ 2010新建一个控制台工程;


项目属性;

osg的包含目录添加到VC++目录-包含目录;





库目录添加osglib目录

 


添加完成

添加附加依赖项;


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文件复制到你项目所在目录F:\OSG\osgVR\osgVR

osg安装目录下的data目录中有一个world.tif文件,拷贝到项目中;

构建项目;

如果出现下述错误,

fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

在项目属性中,清单工具-输入和输出,嵌入清单,由是改为否,如下图;



再次构建项目。地球出来。此地球是可以用鼠标拖动转动的;可以用鼠标中键缩放;





  • 5
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40970046

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值