当前位置:首页 > 读后感 > [Open,Inventor在VS2005中的环境搭建与开发研究]VS项目搭建
 

[Open,Inventor在VS2005中的环境搭建与开发研究]VS项目搭建

发布时间:2019-05-07 03:51:33 影响了:

  摘要:Open Inventor(OVI)是基于OpenGL的面向对象的开发三维图形软件开发包,可以用它快速、简洁地开发出各种类型的交互式三维图形软件。首先介绍了OVI的体系结构,然后详细研究、讨论了使用OVI开发程序的步骤以及在VS2005下开发OVI程序的环境搭建步骤,最后以一个简单程序说明使用OVI开发交互式三维图形软件的简单、快捷,并证明在VS2005下搭建OVI开发环境的正确性。
  关键词:交互式三维图形软件;OVI;OpenGL;VS2005
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)21-5187-05
  Open Inventor to Build Research and Development Environment in VS2005
  ZHAO Yun
  (Chongqing Normal University, Information and Technology Center, Chongqing 40047,China)
  Abstract:This paper introduces Open Inventor’s architecture. Researches the steps of program based on OVI and construction of program environment in VS2005.Developes a program based on OVI to prove the OVI’s strong point in developing interactive 3D graphics pro? grams.
  Key words: interactive 3D graphics software;OVI;OpenGL;VS2005
  节点工具包是一些按照某种规则组合在一起的节点集。它有助于创建协调一致的场景数据。
  操作器是一种特殊类型的节点,可以响应用户产生的事件,比如用户可以在屏幕上通过鼠标直接操作它。通常,操作器带有外观形状,而且都提供了将事件转换进数据库中的方法。操作器为应用程序提供了一种与3D物体间直接进行交互作用的简便方法。
  OVI还可以通过内建的3D交换文件格式,在应用程序之间进行数据交换。操作3D应用程序的用户可以通过剪切、粘贴场景中的3D对象,与桌面上的其它程序共享这些对象数据。
  2.1 Open Inventor程序的开发思想
  OVI为程序员提供了类似MFC类库的框架,而不像OpenGL直接调用API的方式进行3D应用程序开发。OVI包括许多节点组件,程序员在不同类型的节点中设置3D物体、表面材质、形状描述、几何变换、灯光或照相机等信息,然后将这些节点作为“积木块”,在程序中有机地组织起来,就可高效地开发出可交互的3D程序。而大量的程序初始化、3D图像绘制、3D图形渲染、消息处理、与用户交互等复杂的工作对于程序员来说都是透明的,由OVI的底层机制自动完成。
  2.2 Open Inventor程序的开发步骤
  通常情况,在VS2005中开发OVI步骤主要包括四个步骤:
  步骤一初始化窗口和视口:
  一个3D图形要显示,必须依赖于窗口。通常程序员需要初始化一个系统窗口,并在该系统窗口中初始化视口,以便图像在该视口中显示。这里的视口可以使用渲染场景的窗口类SoWinRenderArea(渲染区),也可以使用观察器组件SoWinExaminerViewer。
  步骤二建立场景:
  场景是由许多不同的节点组成。首先需要建立场景的根节点,然后创建比如3D物体、表面材质、形状描述、几何变换等节点,接下来设置这些节点信息,然后加入场景,形成场景节点树。
  步骤三遍历渲染场景:
  在程序中,使用OVI的几条简单的语句,从场景的根节点开始,遍历所有节点,根据各节点的信息渲染3D图形,并显示在视口中。而遍历的方式以及渲染的细节,对于开发人员来说都是是透明的。
  步骤四回收资源退出:
  程序结束,需要将场景数据库资源和视口资源释放。
  读者可根据该文的第四部分详细体会OVI开发的这4个主要步骤。
  目前工业界中比较成熟和典型的OVI包有三种:SGI的OVI,TGS的OVI,SIM的OVI。OVI最早由SGI提出并开发,其OIV主要用在UNIX操作系统下。TGS公司最早将OIV由Unix系统移植到Microsoft Windows下,它是目前世界上使用最多的OIV版本,但其属于商业软件包,版权费用昂贵,不适合普通用户学习和使用。SIM公司开发的Coin3D OIV可以同时在UNIX和Microsoft Windows下使用。虽然它的功能和性能没有TGS的OVI强大,但开发一般的3D应用程序绰绰有余。而且它是一个开源的OIV开发包,可以让初学者了解OIV内部运行的机理,更适合普通用户学习和使用。
  接下来我们使用SIM公司的Coin3D OVI,详细研究、讨论在VS2005中搭建OVI的具体操作步骤。
  步骤一安装VS2005:
  Microsoft公司的VS2005安装是可视化、一键式的,非常方便轻松,这里不多作讨论。
  步骤二下载并安装Coin3D:
  Coin3D是SIM公司的OVI图形库,可以在地址[3]中下载。该地址有许多版本的Coin3D。如果下载的是可安装文件,就直接安装,然后检查系统环境变量COINDIR和PATH是否分别是:Coin3D安装目录、Coin3D安装目录\bin。如果下载的不是安装文件,将其解压到某个目录下,而且还需手动设置系统环境变量COINDIR和PATH。这里因为VS2005中的VC版本是8.0,因此下载Coin-3.1.0-bin-msvc8.zip。它没有安装文件,将其解压到D盘(这里用户可以任意解压到一个目录)Coin-3.1.0-bin-msvc8目录,然后设置COINDIR和PATH两个系统环境变量。COINDIR是Coin-3.1.0-bin-msvc8的解压目录,而PATH是其解压目录下的bin目录。PATH的环境变量设置如图2所示。
  步骤三下载并安装SoWin:
  SoWin是基于Windows的窗口组件,任何使用Coin3D开发的OVI程序都需要依靠SoWin在Windows系统中显示和展现,而且它
  还为3D图形提供与用户的交互接口。这里下载SoWin-1.4.0.zip。解压该目录,然后将SoWin-1.4.0目录放在D:\Coin-3.1.0-bin-ms? vc8中。
  在SoWin-1.4.0文件夹中的build目录,选择适合的版本,打开工程文件进行编译(我们这里选择msvc8版本)。为了防止在编译的过程中出现cmd.exe错误,需要设置可执行文件使用路径。在VS2005的[工具]——[选项]——[项目解决方案]——[VC ++目录]的“可执行文件”列表中添加这三项“$(SystemRoot)\System32”、“$(SystemRoot)”、$(SystemRoot)\System32\wbem,如图3所示。接下来进行调试编译,如果编译中报类似“无法打开文件coin2d.lib”错误,需要在VS2005的[项目]——[sowin1属性]——[配置属性]——[链接器]——[输入]——[输入依赖项]中的coin2d.lib改为coin3d.lib,然后再编译调试。编译过程中没有报错,会在Coin3D的目录里自动生成SoWin的一些文件,比如sowin1d.dll和sowin1d.lib等,而且在Coin3D目录下的\include\Inventor里面增加一个Win头文件目录,这说明SoWin编译安装成功。
  图7一个圆锥
  该程序使用了一个OVI的Win窗口,它是OVI组件库的一部分。组件库带有窗口管理和事件处理功能,还包括一系列OVI组件。我们可以在窗口中对圆锥进行旋转、缩放等操作。程序一共只有十几行代码,却开发出如此功能丰富的交互式三维图形程序,这充分说明利用OVI开发交互式三维图形程序的简单、快捷。
  Open Inventor(OVI)是基于OpenGL的面向对象的开发交互式三维图形软件开发包,可以用它快速、简洁地开发出各种类型的交互式三维图形软件。该文详细地研究、讨论了OVI的开发步骤以及VS2005中如何搭建OVI开发环境步骤,希望能够给OVI的初学者提供入门帮助。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3