设为首页 加入收藏

TOP

osgearth入门图解-用VC++做一个地球出来
2016-09-18 20:03:19 】 浏览:476
Tags:osgearth 入门 图解 一个 地球 出来

OSG3.1.4和osgEarth2.3 VC10编译包下载

pan.baidu.com/s/1eSE1sd0#path=/VS相关

一 做一个地球出来

把下载包解压后有如下内容;

新建3个环境变量如下;

把osg的bin目录添加到环境变量;

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

出现一个纹理地球;表明环境已经配置好;

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

项目属性;

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

库目录添加osg的lib目录;

添加完成;

添加附加依赖项;

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 
  
      
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #include 
       
         #include 
        
          int _tmain(int argc, _TCHAR* argv[]) { osg::ref_ptr
         
           viewer=new osgViewer::Viewer(); osg::ref_ptr
          
            root=new osg::Group(); osg::ref_ptr
           
             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文件放到项目中,文件内容如下;
 
  
  
   world.tif
  
 
osg安装目录下的data目录中有一个world.tif文件,拷贝到项目中;

构建项目;

如果出现下述错误,

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

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

再构建项目,好了;执行,但是地球没有出来,仅有空窗口;

此时项目结构是如下的;

下个断点看下,读入mymap.earth生成node时,node的值为0x00000000,没有生成node,这是没有找到mymap.earth文件;

手动把mymap.earth和world.tif拷贝到如下目录;

再运行,好了,地球出来了;

此地球是可以用鼠标拖动转动的;可以用鼠标中键缩放;

VC++工程下载;

pan.baidu.com/s/1eSE1sd0#path=/VS相关

二 earth文件研究

osg的tests目录下有很多.earth文件;把这些文件内容分别替换到前面的mymap.earth中,再运行程序,会有如下不同结果;可自己实验;

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【C++自学之旅】MFC计算器设计 下一篇C++11中rvalue references的使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目