张肇同
【摘 要】在机器人仿真软件开发、三维视景建模等领域,通常需要读取三维建模,这些模型大都由专业的三维建模软件生成,具有特定的文件格式。本文基于OpenGL,对此过程中的模型导入与动态观察部分进行研究。在VS2017环境下,通过OpenGL与Assimp实现三维模型数据文件的可视化,使人们可以获取到模型特定数据,并可直观地看到模型,为其余工作奠定基础。
【关键词】OpenGL;Assimp;模型可视化;动态观察
0 引言
目前,许多优秀的三维建模软件如CATIA、UG、Pro/E等,可以方便地建立各种复杂物体模型,但除了软件所给出的功能外,很难对模型进行控制和操作[1]。OpenGL则更容易实现模型的变换、纹理、交互操作等,但是却没有提供CATIA、UG等建模软件中用于建立复杂三维模型的高级命令,只提供了基本的集合图元(如点、线、多边形)的绘制命令[2]。因此,若能将三维建模软件输出的模型文件,在OpenGL中进行“加工”,可以更好地解決实际问题。
1 模型读取与绘制方法
考虑到各平台文件格式不同,为了增强通用性,我们选择通过Assimp库辅助模型读取工作,这样可读入十余种不同格式的主流模型文件,增强了通用性,方便了后续工作。
1.1 Assimp概述
Assimp(Open Asset Import Library)是开源图形库,它会将所有的模型数据加载至Assimp的通用数据结构中[3]。当Assimp加载完模型之后,我们就能够从Assimp的数据结构中提取我们所需的所有数据了。由于Assimp的数据结构保持不变,不论导入的是什么种类的文件格式,它都能够将模型数据从这些不同文件格式中抽象出来,用同一种方式访问所需数据。……