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 期间失败: 文件无效或损坏

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



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





展开阅读全文

没有更多推荐了,返回首页