IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> OpenSceneGraph编译、安装、开发环境 -> 正文阅读

[开发工具]OpenSceneGraph编译、安装、开发环境

济南友泉软件有限公司

目前,国内CAx(CAD/CAE/CAM)软件开发大都采用OpenCASCADEVTK等开源软包作为CAx前后处理器的技术原型:OpenCASCADE提供了丰富的几何造型相关的算法实现;VTK则提供了强大而实用的科学计算后处理相关的算法实现。

但是,长期以来,OpenCASCADEVTK等开源库的图形渲染在性能质量等方面并不尽如人意。因此,像是三维几何建模软件FreeCAD的图形渲染既没有采用OpenCASCADE的渲染引擎,也没有采用VTK的渲染引擎,而是使用了OpenInventor (具体来说是Coin3D)。

基于以上原因,需要探索能够满足行业需求专业化的图形渲染引擎。这就是笔者研究OpenSceneGraph为代表的图形渲染引擎的最主要的原因。

OpenSceneGraph是一个跨平台的开源图形开发包,它为诸如飞行器仿真,游戏,虚拟现实科学计算可视化等高性能图形应用程序开发而设计。它基于场景图的概念,它提供一个在OpenGL之上的面向对象的框架,从而能把开发者从实现和优化底层图形的调用中解脱出来,并且它为图形应用程序的快速开发提供很多附加的实用工具。

本文详细描述WIndows 10下使用Visual Studio 2019编译OpenSceneGraph 3.6.5的操作流程。

零、环境配置

操作系统WIndows 10 64bit
编译器Visual Studio 2019 Community Edition
Git2.29.1
CMake3.15.0-rc2
OpenScenGraph3.6.5
工作目录D:\YouQuan\CaeFrameworks\OpenSceneGraph

一、编译第三方库

OpenSceneGraph部分插件依赖于zlib、libpng、libjpeg、libtiff、GLUT、GIFLIB、cURL等第三方库,因此需要首先完成这些第三方依赖库的编译。

需要指出的是,针对某些特定平台,OpenSceneGraph Dependencies官网已经提供了这些第三方依赖包。

1.1 获取项目构建文件

cd D:\YouQuan\CaeFrameworks\OpenSceneGraph
git clone https://github.com/bjornblissing/osg-3rdparty-cmake.git
cd ./osg-3rdparty-cmake/
git checkout -b v1.0 v1.0

1.2 获取代码

切换到D:\YouQuan\CaeFrameworks\OpenSceneGraph\3rdparty目录,按以下方法拉取第三方库源码

zlib1.2.11git clone --depth 1 --single-branch --branch v1.2.11 https://github.com/madler/zlib.git zlib
libpng1.6.37git clone --depth 1 --single-branch --branch v1.6.37 git://git.code.sf.net/p/libpng/code.git libpng
libjpeg

下载libjpeg http://www.ijg.org/files/jpegsr9d.zip

解压jpegsr9d.zip

将jpegsr9d重命名为libjpeg

libtiff4.2,0git clone --depth 1 --single-branch --branch v4.2.0 https://gitlab.com/libtiff/libtiff.git tiff
FreeType2.10.4git clone --depth 1 --single-branch --branch VER-2-10-4 git://git.sv.nongnu.org/freetype/freetype2.git freetype
GLUT

git clone https://github.com/markkilgard/glut.git glut
cd ./glut
git reset --hard 8cd96cb440f1f2fac3a154227937be39d06efa53

GIFLIB5.2.1git clone --depth 1 --single-branch --branch 5.2.1 https://git.code.sf.net/p/giflib/code.git giflib
cURL7.76.1

下载 cURL https://curl.se/download/curl-7.76.1.zip

解压curl-7.76.1.zip

重命名curl-7.76.1为curl

1.3 构建项目

1.4 编译、安装

在Visual Studio 2019中构建"ALL_BUILD"项目完成编译;构建"INSTALL"项目完成安装。

二、编译OpenSceneGraph

2.1 拉取代码

cd D:\YouQuan\CaeFrameworks\OpenSceneGraph
git clone https://github.com/openscenegraph/OpenSceneGraph.git
cd ./OpenSceneGraph/
git checkout -b OpenSceneGraph-3.6.5 OpenSceneGraph-3.6.5

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 三维视景仿真技术开发详解. 国防工业出版社,

网络资料

OpenSceneGraphhttp://www.openscenegraph.org

osg-3rdparty-cmakehttps://github.com/bjornblissing/osg-3rdparty-cmake

OpenCASCADEhttps://www.opencascade.com/https://www.opencascade.com/?VTKhttps://vtk.org/https://vtk.org/

FreeCADhttps://www.freecadweb.org/https://www.freecadweb.org/

附录A: 编译常见问题

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:41:27  更:2021-12-24 18:41:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 0:00:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计