osgearth API编程动态建立一个地球【转】

本文提供了一个使用osgEarth库成功显示简单地球的代码示例,详细介绍了地图节点、图层优化和场景设置的过程,对于学习三维地图渲染技术具有一定的参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经过半天的查找资料我把我的程序代码改成了下面所示就成功显示了一个简单的地球。希望大家可以参考一下!

代码:

#include <osgEarth/Map>
#include <osgEarth/MapNode>
#include <osgEarthDrivers/tms/TMSOptions>
#include <osgEarthDrivers/gdal/GDALOptions>
#include <osgViewer/viewer>  

using namespace osgEarth;
using namespace osgEarth::Drivers;

int _tmain(int argc, _TCHAR* argv[])
{
 osg::ref_ptr<osgViewer::Viewer> viewer=newosgViewer::Viewer();  
 Map *map=new Map;
 osgEarth::Drivers::GDALOptions layerOpt;
 
 layerOpt.url() = osgEarth::URI("E:\\vs2010Progam Files\\osgVR74\\osgVR74\\world.tif");

 std::string fileName ="E:\\vs2010Progam Files\\osgVR74\\osgVR74\\world.tif"; 
 osg::ref_ptr<osgEarth::ImageLayer> newLayer = newosgEarth::ImageLayer(osgEarth::ImageLayerOptions(fileName, layerOpt));

 map->addImageLayer(newLayer.get());

 MapNode* mapNode=new MapNode(map);
 osgUtil::Optimizer optimizer; 
 
 optimizer.optimize(mapNode);
 viewer->setSceneData(mapNode);
 viewer->realize(); 
 
 viewer->run();

return 0;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值