Open Inventor(TGS) 6.0 for vc 2003 安装与配置
Open Inventor是一种面向对象的基于OpenGL的高级三维图形编程接口,适用于快速地开发三维应用程序。Open Inventor出身于SGI,2000年成为开源软件。目前,Open Inventor有三种版本:SGI Open Inventor、TGS(现为VSG) Open Inventor和SIM Open Inventor(叫作Coin3D)。SGI Open Inventor只支持Unix环境,在Windows平台上无法使用;TGS Open Inventor和Coin3D可以在Windows环境中运行,支持Visual C++开发环境。
相较而言,TGS Open Inventor的功能最为强大,但属于商业化产品,价格不菲;而Coin3D功能上不如TGS,但提供开源的版本,可免费使用。若单纯从学习的角度考虑,选择Coin3D即可;但从项目的角度来看,觉得还是有必要对比研究一下二者在功能上究竟有多大的差异,哪一种更符合项目的实际需要,以决定使用免费的版本还是付费的版本。
根据VSG官方的资料,推荐不同版本的Open Inventor配合不同版本的Vsiual Studio开发环境,列表如下:
Visual Studio 2008 |
Open Inventor 8.0 for Visual Studio 2008 |
Visual Studio 2005 |
Open Inventor 8.0 for Visual Studio 2005 |
Visual Studio .NET 2003 |
Open Inventor 7.2 for Visual Studio .NET 2003 |
Visual Studio .NET (2002) |
Open Inventor 5.0 for Visual Studio .NET (2002) |
Visual Studio 6.0 (C++) |
Open Inventor 6.0.3 for Visual C++ 6.0 |
Visual Studio 97 (C++ 5.0) |
Open Inventor 3.1.1 for Visual C++ 5.0 |
从开发环境的角度而言,Visual C++ 6.0和Visual C++ 8.0(2005)是两种里程碑式的产品。前者虽然对标准C++的支持有所欠缺,IDE的功能亦不如后续版本强悍,但产品本身非常成熟,应用非常广泛,在不强调移植性的情况下依然是难得的开发利器。VC 8.0实现了对标准C++的完全支持,IDE的功能有了长足的改进,是一个成熟的产品,是替代VC6的绝佳选择。而VC7.0(2002)和VC7.1(2003)就有所不同了,它们属于不成熟的产品,扮演着过渡性的角色。它们的尴尬就像Windows Vista,实用性不如XP,成熟度不如Windows7。尽管曾经美丽,还是无法避免昙花一现的命运。显然,聪明的用户不会在Vista身上浪费精力,实用主义者会坚守XP的阵地,而前卫主义者则会勇敢地向Windows7伸出双臂。同样,VC6的拥趸依然会喜爱她一阵子,之后呢会逐渐向2005或2010迁移。至于2002和2003嘛,正好是上楼时两脚之间的一步台阶(2008也是),注定被跨越。所以,Open Inventor 6.0.3 for Visual C++ 6.0和Open Inventor 8.0 for Visual Studio 2005才是最为合适的选择。
然而,遍搜网络都找不到这两个版本,只有一个6.0 for VC 2003。没办法,先研究着吧。
一、安装
安装之前,首先要装好VS 2003(详见《vs2003安装步骤与环境设置》)。具体的安装步骤如下:
1)启动安装程序,显示欢迎画面;点击“下一步”,开始解压安装文件,完成后提示需要管理员权限;点击“是”,进入安装向导的起始画面。
2)点击“下一步”,进入版权协议画面;点击“是”,进入目标位置选择画面。如果需要更改Open Inventor的安装路径,请点击“Browse”按钮进行选择。
3)点击“下一步”,进入安装类型选择画面。通常选择典型安装即可,当然也可以根据自己的需要进行定制。
4)点击“下一步”,设定程序文件夹(即开始菜单中的程序项)。一般按默认值即可,当然也可以取一个自己喜欢的名字。
5)接下来显示前述设置的总结,如果觉得哪些地方设置得不合适,可以点击“上一步”重新进行设置。
6)点击“下一步”,开始真正的安装过程。
7)弹出对话框,询问是否设置环境变量,点选“Setup system environment variables”。
8)点击“下一步”,提示环境变量设置完成。
9)点击“确定”,提示进行vs2003的定制,主要是在工具>>选项>>项目>>VC++目录中添加与Open Inventor相关的路径。
10)点击“确定”,弹出一个警告对话框,提示定制没有顺利完成。我们先不去管它,点击“确定”。
11)弹出安装完成的提示画面,去掉“Launch the license tool”选项,点击“Finish”。
至此,安装过程已经完成了。
二、注册
如果软件没有授权,启动SceneViewer,会显示一个对话框,提示还有15天的试用期。
如果有授权文件,注册后再启动SceneViewer时,15天使用的提示对话框就不会显示了。
此时,我们就可以无限制地使用Open Inventor的所有功能了。
三、设置
但是,可但是,还远未到万事大吉。还记得OIV 6.0(以后我们会经常这样叫)安装行将结束时那个带红叉的警告对话框吗? 它说路径的设定并不成功。让我们来验证一下:
打开VS2003,工具>>选项>>项目>>VC++目录。点选“包含文件”,列表中确实没有指向OIV头文件的路径。
同样,点选“库文件”,列表中也没有指向OIV库文件的路径。
怎么办呢?手工设置呗!点选“包含文件”,插入一个新行,点击该行右侧的按钮,定位到OIV安装路径下的include的文件夹,点击“打开”。于是,该路径被添加到列表之中。
同理,点选“库文件”,将OIV安装路径下的lib文件夹加入到库文件列表之中。
至此,在VC2003中使用头文件和库文件应该没有问题了。我们来编写一个简单的例子试验一下:
1)新建一个控制台项目:Exam1,采用默认设置。
2)注释掉自动生成的主函数,并代以如下代码:
// Exam1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
//int _tmain(int argc, _TCHAR* argv[])
//{
// return 0;
//}
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char **argv)
{
HWND myWindow = SoWin::init(argv[0]);
if (myWindow == NULL) exit(1);
SoSeparator *root = new SoSeparator;
root->ref();
SoMaterial *myMaterial = new SoMaterial;
myMaterial->diffuseColor.setValue(1.0, 0.0, 0.0);
root->addChild(myMaterial);
root->addChild(new SoCube);
SoWinExaminerViewer *myViewer = new SoWinExaminerViewer(myWindow);
myViewer->setSceneGraph(root);
myViewer->setTitle("Examiner Viewer");
myViewer->show();
SoWin::show(myWindow);
SoWin::mainLoop();
return 0;
}
编译顺利通过,程序的执行结果如下:
呵呵,一切正常。等等,OIV还为我们提供了一个自定义的应用程序向导IVF AppWizard,可以用来生成结合OIV类库的MFC应用程序框架,它工作正常吗?
文件>>新建>>项目,点选Visual C++项目,可以发现模板列表中确实增加了一个IVF AppWizard 5.0。
点选它,键入一个项目名称(例如aaa),点击“确定”。嘿,弹出了如下的提示信息:
VC2003无法识别ivfappwiz.vsz文件的格式。用文本编辑器将其打开,再打开MFCAppWiz.vsz进行对比,原来是版本的差异。
依葫芦画瓢,将ivfappwiz.vsz中的两个8.0分别改成7.0和7.1,保存后关闭。
再次运行IVF AppWizard,警告对话框不再出现了,代以与MFC应用程序向导颇为相似的界面。
点击“Application Type”,又弹出如下的错误提示画面:脚本错误。
嗯?这又是咋回事呢?上网一查,原来是语言的版本问题。OIV所提供的应用程序向导是针对英文版的VS开发的,而我们安装的是VS的中文版本。为了使该向导在中文VS上也能正常使用,需要作如下的设置:
1)进入.../Microsoft Visual Studio .NET 2003/Vc7/VCWizards/ivfappwiz/html目录,
2)复制1033文件夹,粘贴在html文件夹中,并将其改名为2052。
3)采用同样的方法,对.../ivfappwiz/scripts和.../ivfappwiz/templates文件夹进行处理。
这样,脚本错误就不会出现了。
现在,OIV的所有功能都可以正常使用了。
原文地址:http://frank-feng.blog.sohu.com/151258595.html