OSG概述
OpenSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++t平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的OpenGL硬件抽象层(HAL)实现了底层硬件显示的驱动。
OSG编译
编译过程参考
安装cmake
。。。
编译生成库的过程较为困难
尝试失败后决定直接使用已经编译好的库
【osgChina权威发布】vs各版本第三方库3rdParty,及osg&oe编译好的库
补充osgEarth需要的库
(勘误:osgEarth3.x之后的版本与之前的变化较大,而且不同版本之间的库不要混用,容易发生错误)
OSG3.6.3+osgEarth2.10.1(VS2015/VS2017/VS2019-x64)开发库
编译 osgQOpenGL 库
OSGQt编译安装
环境搭建
下载好的文件中有三个文件夹
将其中的bin文件添加到环境变量
在qt 的 .pro文件中添加库
win32:CONFIG(release, debug|release): LIBS += -LC:/.../osg/osglib/lib/ -losgQOpenGL -losgDB -losgViewer -losg -losgUtil -losgGA -lOpenThreads -losgEarth -losgEarthUtil
else:win32:CONFIG(debug, debug|release): LIBS += -LC:/.../osg/osglib/lib/ -losgQOpenGLd -losgDBd -losgViewerd -losgd -losgUtild -losgGAd -lOpenThreadsd -losgEarthd -losgEarthUtild
INCLUDEPATH += C:.../osg/osglib/include
DEPENDPATH += C:.../Administrator/osg/osglib/include
也可以右键添加
问题
无法定位程序输入点~于动态链接库上
可能原因:dll文件和lib不匹配
解决办法:换一个版本相同的编译库
可以尝试这个 OSGQT结合的例子VS2017+64位完美运行
运行实例
osgtree
运行时使用 MSVC 2019 在release模式下可运行