1.前言
OSG是一种开源的三维引擎,通常载仿真,地理信息方面有着广泛应用,在此分享一些学习心得。OSG采用标准C++和OpenGL编写而成,可运行在所有的Windows平台、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD 操作系统。在此分享一下个人的一些学习及踩坑经历。
2.OSG环境搭建
笔者所使用的开发环境是OSG3.6.5+VS2022+Qt6.5.3,VS+Qt的安装环境都是比较简单的,重点是OSG的配置问题,本身是以源码发布的需要个人进行重新编译,编译比较复杂,这也是导致一些人劝退的原因,喜欢折腾的同学可以自己尝试编译,这里使用杨石兴已经编译好的各个版本的,各位同学可以根据需要下载。
这里选择第一个,打开后我们可以看到里面有几个文件
在C盘根目录下创建osg_oe目录(自己可根据需要放其他盘),把这4个文件下载下来并解压
文件夹名称自己给重新命名了,接下来需要进行环境变量的配置了,在path变量中添加
创建环境变量OSG_FILE_PATH
自此OSG环境便已配置完成,这里我们测试一下,按下Win+R键输入cmd命令,打开命令行工具
输入代码osgViewer cow.osg,回车然后看到效果
配置正确。
3.在VS中编写osg测试程序
打开VS2022,创建一个控制台应用程序,修改为debug X64模式,然后配置工程属性 。VC++的包含目录
和相对应的库目录
然后点击链接器添加依赖配置相应的lib文件,
编写测试程序
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
int main()
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
viewer.run();
}
这个时候编译运行,这个时候VS并不能通过编译,而且报错,这是因为在VS2015之后有个宏需要我们自己添加,点击属性->C/C++->预处理器->预处理器定义,添加Win32宏
然后就可以正常运行了
下一篇将介绍一下如何将osg嵌入Qt中。