OpenInventor 格式(仅限于 Windows)

OpenInventor 是一种面向对象、基于 C++ 的语言,用于描述完整的三维场景,可使这些场景具有交互性并针对 OpenGL 进行优化。它是一种 ASCII 文件格式,

可将 Inventor 视为一个完整的工具包,包含:

Inventor 语言包含较大一组预定义的对象(称为节点),如几何体、特性、组以及操纵器。可以使用描述节点层次的场景图对这些节点进行排序。这意味着,文件开头部分可以具有特定对象,这些对象的行为或特性会影响其他对象。

注:

Alias 导出的 Inventor 文件不包含场景图。

构建的三维场景不仅可以包含三维几何体,而且还可以包含灯光、纹理、不同的相机设置以及动画(节点还可以是变换)。节点还可以是对文件(例如,图像)和外部程序(如 Midiplayers 或 WAV 播放器)的引用。为了与场景交互,还包括了特殊节点(如拖动器、动作节点和操纵器)。

可构成场景并提供交互性的节点示例

形状节点:立方体、圆柱体、圆锥体、球体、面集、Text2、直线、NURBS、四边形网状点云。

特性节点:基本颜色、颜色索引、复杂性、三维和思维坐标、环境(例如,雾、薄雾、灯光)、字体、灯光模型(基本颜色或 Phong)、材质、法线、拾取样式、纹理、纹理坐标、变换、单位。

组节点:注释、矩阵、文件、组、详细级别、多副本。

动作节点:回调、GL 渲染、获取边界盒、处理事件、高光渲染。

引擎和传感器节点:闪光信号灯、引擎类、钟摆、转子、传感器类、梭进(摆动)。

交互三维操纵器节点:中心球(旋转)、拖动点、控制柄框(缩放、转换)、灯光拖动器、旋转拖动器、缩放拖动器。

其他节点:裁剪平面、方向光源、标签、正交相机、透视相机、点光源、聚光灯。

现在通过使用 Open Inventor 文件格式和 API,最多可以使 OpenGL 编程的速度加快 10 倍,Inventor 查看器(如 ivview)经过专门设计,可与 OpenGL 一同使用,从而可以非常快速地显示 Inventor 文件中包含的场景。