济南友泉软件有限公司
目前,国内CAx(CAD/CAE/CAM)软件开发大都采用OpenCASCADE、VTK等开源软包作为CAx前后处理器的技术原型:OpenCASCADE提供了丰富的几何造型相关的算法实现;VTK则提供了强大而实用的科学计算后处理相关的算法实现。
但是,长期以来,OpenCASCADE、VTK等开源库的图形渲染在性能、质量等方面并不尽如人意。因此,像是三维几何建模软件FreeCAD的图形渲染既没有采用OpenCASCADE的渲染引擎,也没有采用VTK的渲染引擎,而是使用了OpenInventor (具体来说是Coin3D)。
基于以上原因,需要探索能够满足行业需求的、专业化的图形渲染引擎。这就是笔者研究OpenSceneGraph为代表的图形渲染引擎的最主要的原因。
OpenSceneGraph(以下简称OSG)是一个开源、跨平台的图形图像开发库,主要提供了场景管理、图形图像渲染等功能。OSG为诸如飞行器仿真,游戏,虚拟现实、科学计算可视化等高性能图形应用程序开发而设计。它基于场景图的概念,它提供一个在OpenGL之上的面向对象的框架,从而能把开发者从实现和优化底层图形的调用中解脱出来,并且它为图形应用程序的快速开发提供很多附加的实用工具。
本文详细描述WIndows 10下使用Visual Studio 2019编译OpenSceneGraph 3.6.5的操作流程。
零、环境配置
一、编译第三方库
OpenSceneGraph部分插件依赖于zlib、libpng、libjpeg、libtiff、GLUT、GIFLIB、cURL等第三方库,因此需要首先完成这些第三方依赖库的编译。
需要指出的是,针对某些特定平台,OpenSceneGraph Dependencies官网已经提供了这些第三方依赖包。
1.1 获取项目构建文件
1.2 获取代码
切换到D:\YouQuan\CaeFrameworks\OpenSceneGraph\3rdparty目录,按以下方法拉取第三方库源码
1.3 构建项目
1.4 编译、安装
在Visual Studio 2019中构建"ALL_BUILD"项目完成编译;构建"INSTALL"项目完成安装。
二、编译OpenSceneGraph
2.1 拉取代码
2.2 构建项目
配置"ACTUAL_3RDPARTY_DIR"为“D:\YouQuan\CaeFrameworks\OpenSceneGraph\INSTALL”
配置“CMAKE_INSTALL_PREFIX”为"D:\YouQuan\CaeFrameworks\OpenSceneGraph\INSTALL"
2.3 编译安装
构建“ALL_BUILD”项目,可能会出现编译“Plugin curl”报如下错误,
解决方法是将"D:\YouQuan\CaeFrameworks\OpenSceneGraph\3rdparty\curl\include"下的文件拷贝到"D:\YouQuan\CaeFrameworks\OpenSceneGraph\INSTALL\include\curl",然后修改"Plugin curl"工程属性,添加"D:\YouQuan\CaeFrameworks\OpenSceneGraph\INSTALL\include\curl"头文件搜索路径。
构建“INSTALL”项目,完成安装。
2.4 测试
从OpenSceneGraph官网下载测试数据OpenSceneGraph-Data-3.4.0.zip,使用present.exe程序进行测试,如下
文献资料
杨化斌. Open Scene Graph 3.0 三维视景仿真技术开发详解. 国防工业出版社,
网络资料
OpenSceneGraph http://www.openscenegraph.org"
osg-3rdparty-cmake https://github.com/bjornblissing/osg-3rdparty-cmake"
OpenCASCADE https://www.opencascade.com/" https://www.opencascade.com/"
VTKhttps://vtk.org/" https://vtk.org/
FreeCADhttps://www.freecadweb.org/" https://www.freecadweb.org/"
附录A: 编译常见问题