参考文章

http://blog.csdn.net/xiaol_deng/article/details/9246291

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 <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文件放到项目中,文件内容如下;

<map name="MyMap" type="geocentric" version="2">
<image name="bluemarble" driver="gdal">
<url>world.tif</url>
</image>
</map>

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中,再运行程序,会有如下不同结果;可自己实验;

osgearth入门图解-用VC++做一个地球出来相关推荐

  1. 一文带你 GNN 从入门到起飞,做一个饭盆最稳 GNN 饭人!

    摘要:本文介绍了图神经网络在学界和业界的发展情况,并给出了图神经网络的基本概念与表示形式,总结了图神经网络的变体,最后介绍了华为云图神经网络框架. 本文分享自华为云社区<干饭人,干饭魂,搞懂图神 ...

  2. 用rhino做一个地球

    最后的效果 思路 利用全球的地形图,根据灰度生成高度不一的柱体 将球的UV展开 柱体铺满UV,使用曲面流动到球上 操作 准备一张地形图,这里随便找了一个全球地形图,有灰度区分高度的最好,颜色的区分的相 ...

  3. 怎样用vc 做一个c语言,大佬们,小菜鸟想问一问用vc编译器做简易画图软件

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include void menu(); void paint(); void main() { ...

  4. 用python画一个地球_用python做一个地球围绕太阳转的图形

    匿名用户 1级 2017-07-21 回答 平台: python2.7.10 + wxpython 3.0.2 #!/usr/bin/env python #-*- coding: utf-8 -*- ...

  5. 简单说 如何做一个chrome 去广告插件

    说明 Chrome插件又称为谷歌浏览器插件,是谷歌Chrome浏览器的扩展插件,使用Chrome插件可以为Chrome浏览器带来一些功能性的扩展,进而提高Chrome的使用体验. 这次我们先来简单接触 ...

  6. 用Python做一个猜数游戏(入门)

    用Python做一个猜数游戏(入门) 目录: 用Python做一个猜数游戏(入门) 第一阶段: 第二阶段: 前言: 各位大佬大家好,我是夕阳样桑,由于最近时间有点紧,所以先做一个小程序.感谢大家的支持 ...

  7. D3.js的v5版本入门教程(第六章)——做一个简单的图表

    D3.js的v5版本入门教程(第六章) 从这一章开始,进入正式的d3,js绘图阶段,有了前面几章基本知识的积累,这样看接下来的绘图代码才不会觉得比较辛苦 做一个简单的图表 为了做一个简单的图表,我们还 ...

  8. Blender图解教程:手把手教你做一个马里奥金币 之 图片转法线贴图法(附模型下载)

    <Blender图解教程:手把手教你做一个马里奥金币 之 比较传统的方法>介绍了一种用Blender制作法线贴图的流程,本文介绍一种更加省事的方法. 步骤 效果图 概要 步骤 1. 建模 ...

  9. 我的世界服务器雪球菜单无限雪球,我的世界[mcbe雪球菜单详解] 带你做一个完美的雪球带你入门~...

    原标题:我的世界[mcbe雪球菜单详解] 带你做一个完美的雪球带你入门~ 我的世界带你做一个完美的雪球,一起来看看吧~ 今天难得有时间开始给大家做一下这个讲解吧,首先大概说一下,大部分指令都是以直接翻 ...

最新文章

  1. keyshot怎么批量渲染_提高Keyshot逼真渲染的小技巧
  2. JDBC操作MySQL Lob字段记实
  3. Forrester 最新报告:阿里云稳居领导者地位,引领云原生开发浪潮
  4. 服务器iis7.5 配置文件,使用注册表项 - Internet Information Services | Microsoft Docs
  5. eclipse查看jar包源代码
  6. 深入c#的string类
  7. 怎么实现hover_web前端CSS实现一个粒子动效的按钮
  8. arduino 光控灯_Arduino光控开关
  9. 【C/C++和指针】深度解析---指针与数组 【精华】
  10. 安全之心:一文读懂可信计算
  11. mysql 时间语句【集锦】
  12. HDU1863 畅通工程【Kruskal算法+并查集】
  13. ERROR:此文件包含病毒,已删除
  14. android下拉菜单_如何调整和重新排列Android的快速设置下拉菜单
  15. 微信小程序开发资源汇总 awesome-wechat-weapp
  16. 运用设计模式实现Sql语句动态转换
  17. 人力资源数据分析(python)
  18. 不小心删除了ubuntu的内核,进不去系统和Biss,解决办法。
  19. 先序序列和后序序列并不能唯一确定二叉树
  20. 想提高你的月薪就快收藏下这些网站吧

热门文章

  1. 线程间定制化调用通信—— 1 高内聚低耦合的前提下,线程操作资源类 2 判断/干活/通知 3 多线程交互中,必须要防止多线程的虚假唤醒,也即(判断只用while,不能用if)
  2. NIO的Buffer
  3. 实验4:正确的为各种属性赋值||实验7:通过abstract属性创建一个模板bean||实验8:bean之间的依赖||实验9:测试bean的作用域,分别创建单实例和多实例的bean★(测试)
  4. 性能更好的js动画实现方式——requestAnimationFrame
  5. www.lfd.uci.edu网站下载python库显示404解决办法
  6. C# 学习笔记(17)操作SQL Server 上
  7. C# 学习笔记(13)自己的串口助手
  8. IMXRT1052/1064 如何将代码存放在ITCM中
  9. Visual Studio 2022编译x86 或者 win32程序时的错误MSB6006
  10. 学习OpenCV——SVM