osgEarth真HelloWorld

osgEarth真HelloWorld

  • vcpkg install
  • tests

vcpkg install

osgEarth安装指南 https://docs.osgearth.org/en/latest/install.html
预先设置ports/osg/portfile.cmake GL3
否则调用osg相关功能时会出现如下提示
OpenSceneGraph does not define OSG_GL3_AVAILABLE;
0(52) : error C7616: global variable gl_ModelViewMatrix is removed after version 140

在这里插入图片描述
install目录

在这里插入图片描述

tests

osgEarth Github源码中包含 tests 和 data 目录

#include <osgEarth/Common>
#include <gdal_priv.h>
#include <ogr_api.h>
#include <ogr_core.h>
#include <ogr_feature.h>
#include <ogr_geometry.h>
#include <ogrsf_frmts.h>

#include <iostream>
#include <osgViewer/Viewer>
#include <osg/Vec3d>
#include <osg/MatrixTransform>
#include <osgDB/ReadFile>

#include <osgEarth/EarthManipulator>
#include <osgEarth/MapNode>
#include <osgEarth/GDAL>
#include <osgEarth/OGRFeatureSource>
#include <osgEarth/FeatureImageLayer>
#include <osgEarth/GeoTransform>

int main(int argc, char** argv)
{
	// OGRRegisterAll();
	// GDALAllRegister();
	// CPLSetConfigOption("CPL_DEBUG", "YES");

	osgEarth::initialize();
	{
		// map
		const std::string map_full_name = R"(D:\Library\osgearth-master\tests\simple.earth)";
		
		osg::Node* globe = osgDB::readNodeFile(map_full_name);
		osgEarth::MapNode* mapNode = osgEarth::MapNode::get(globe);

		// viewer
		osgViewer::Viewer viewer;
		viewer.setSceneData(mapNode);

		// manipulator
		osg::ref_ptr<osgEarth::Util::EarthManipulator> mainManipulator = new osgEarth::Util::EarthManipulator;
		viewer.setCameraManipulator(mainManipulator);

		// run
		viewer.setUpViewInWindow(100, 100, 800, 600);
		viewer.run();
	}

	return 0;
}


运行如下
在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值