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();{// mapconst 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);// viewerosgViewer::Viewer viewer;viewer.setSceneData(mapNode);// manipulatorosg::ref_ptr<osgEarth::Util::EarthManipulator> mainManipulator = new osgEarth::Util::EarthManipulator;viewer.setCameraManipulator(mainManipulator);// runviewer.setUpViewInWindow(100, 100, 800, 600);viewer.run();}return 0;
}
运行如下