osgearth入门图解-用VC++做一个地球出来
参考文章
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文件研究
osgearth入门图解-用VC++做一个地球出来相关推荐
- 一文带你 GNN 从入门到起飞,做一个饭盆最稳 GNN 饭人!
摘要:本文介绍了图神经网络在学界和业界的发展情况,并给出了图神经网络的基本概念与表示形式,总结了图神经网络的变体,最后介绍了华为云图神经网络框架. 本文分享自华为云社区<干饭人,干饭魂,搞懂图神 ...
- 用rhino做一个地球
最后的效果 思路 利用全球的地形图,根据灰度生成高度不一的柱体 将球的UV展开 柱体铺满UV,使用曲面流动到球上 操作 准备一张地形图,这里随便找了一个全球地形图,有灰度区分高度的最好,颜色的区分的相 ...
- 怎样用vc 做一个c语言,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include void menu(); void paint(); void main() { ...
- 用python画一个地球_用python做一个地球围绕太阳转的图形
匿名用户 1级 2017-07-21 回答 平台: python2.7.10 + wxpython 3.0.2 #!/usr/bin/env python #-*- coding: utf-8 -*- ...
- 简单说 如何做一个chrome 去广告插件
说明 Chrome插件又称为谷歌浏览器插件,是谷歌Chrome浏览器的扩展插件,使用Chrome插件可以为Chrome浏览器带来一些功能性的扩展,进而提高Chrome的使用体验. 这次我们先来简单接触 ...
- 用Python做一个猜数游戏(入门)
用Python做一个猜数游戏(入门) 目录: 用Python做一个猜数游戏(入门) 第一阶段: 第二阶段: 前言: 各位大佬大家好,我是夕阳样桑,由于最近时间有点紧,所以先做一个小程序.感谢大家的支持 ...
- D3.js的v5版本入门教程(第六章)——做一个简单的图表
D3.js的v5版本入门教程(第六章) 从这一章开始,进入正式的d3,js绘图阶段,有了前面几章基本知识的积累,这样看接下来的绘图代码才不会觉得比较辛苦 做一个简单的图表 为了做一个简单的图表,我们还 ...
- Blender图解教程:手把手教你做一个马里奥金币 之 图片转法线贴图法(附模型下载)
<Blender图解教程:手把手教你做一个马里奥金币 之 比较传统的方法>介绍了一种用Blender制作法线贴图的流程,本文介绍一种更加省事的方法. 步骤 效果图 概要 步骤 1. 建模 ...
- 我的世界服务器雪球菜单无限雪球,我的世界[mcbe雪球菜单详解] 带你做一个完美的雪球带你入门~...
原标题:我的世界[mcbe雪球菜单详解] 带你做一个完美的雪球带你入门~ 我的世界带你做一个完美的雪球,一起来看看吧~ 今天难得有时间开始给大家做一下这个讲解吧,首先大概说一下,大部分指令都是以直接翻 ...
最新文章
- keyshot怎么批量渲染_提高Keyshot逼真渲染的小技巧
- JDBC操作MySQL Lob字段记实
- Forrester 最新报告:阿里云稳居领导者地位,引领云原生开发浪潮
- 服务器iis7.5 配置文件,使用注册表项 - Internet Information Services | Microsoft Docs
- eclipse查看jar包源代码
- 深入c#的string类
- 怎么实现hover_web前端CSS实现一个粒子动效的按钮
- arduino 光控灯_Arduino光控开关
- 【C/C++和指针】深度解析---指针与数组 【精华】
- 安全之心:一文读懂可信计算
- mysql 时间语句【集锦】
- HDU1863 畅通工程【Kruskal算法+并查集】
- ERROR:此文件包含病毒,已删除
- android下拉菜单_如何调整和重新排列Android的快速设置下拉菜单
- 微信小程序开发资源汇总 awesome-wechat-weapp
- 运用设计模式实现Sql语句动态转换
- 人力资源数据分析(python)
- 不小心删除了ubuntu的内核,进不去系统和Biss,解决办法。
- 先序序列和后序序列并不能唯一确定二叉树
- 想提高你的月薪就快收藏下这些网站吧
热门文章
- 线程间定制化调用通信—— 1 高内聚低耦合的前提下,线程操作资源类 2 判断/干活/通知 3 多线程交互中,必须要防止多线程的虚假唤醒,也即(判断只用while,不能用if)
- NIO的Buffer
- 实验4:正确的为各种属性赋值||实验7:通过abstract属性创建一个模板bean||实验8:bean之间的依赖||实验9:测试bean的作用域,分别创建单实例和多实例的bean★(测试)
- 性能更好的js动画实现方式——requestAnimationFrame
- www.lfd.uci.edu网站下载python库显示404解决办法
- C# 学习笔记(17)操作SQL Server 上
- C# 学习笔记(13)自己的串口助手
- IMXRT1052/1064 如何将代码存放在ITCM中
- Visual Studio 2022编译x86 或者 win32程序时的错误MSB6006
- 学习OpenCV——SVM