osg(osg中文社区)-osgEarth-osgViewer-基于OpenGL-开源三维渲染引擎-图形引擎-虚拟仿真工具-osg教程-osg仿真

VS插件

当前位置:首页 > 学习支持 > 平台介绍 > Windows

第三方插件众多,本文有些年龄了,直译的,里面介绍了一些插件的获取。


VRML插件

可以通过OpenVRML来下载VRML的源码,插件中需要该源码的编译结果。本文仅限于使用VRML0.14.3和VS2005版本,使用其它的VRML和VS版本也许会有不同,更高的VRML版本依赖了boost以及其它未知的改变。

直接下载this package. 里面包含一些预编译好的文件,我们并不使用,自己会重新编译。

打开

...\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\OpenVRML.sln

OSG的VRML插件不需要 openvrml-gl 库和 lookat 程序,直接删除他们即可。

选择debug模式,在工程输出名后加d,带d是区分debug和release标志。开始编译,编译时会遇到一些错误,列举如下:

Token.hpp line 76: 

inline operator<(RefToken l,RefToken r); //{return true;}

使用下面的代替

inline bool operator<(RefToken l,RefToken r); //{return true;}

AST.hpp line 151: 

inline operator<(RefAST l,RefAST r); // {return true;}

使用下面的代替

inline bool operator<(RefAST l,RefAST r); // {return true;}

最后在regerror.c中,有旧C风格的代码:

size_t
regerror(errcode, preg, errbuf, errbuf_size)
int errcode;
const regex_t *preg;
char *errbuf;
size_t errbuf_size;
{

使用下面的代替

size_t
regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size)\\
{

此时应该可以完全编译成功,编译DEBUG和RELEASE模式.

一旦编译完成,下面进行目录整理,在VRML主目录下(for example, ...OpenVRMLhome-built ),把 ...OpenVRMLinclude 直接拷进去,把lib文件也拷到其下的lib中,没有lib则新建 (...OpenVRMLhome-builtlib for example):

...\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\antlr\Release\antlr.lib
...\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\openvrml\Release\openvrml.lib
...\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\regex\Release\regex.lib
...\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\antlr\Debug\antlrd.lib
...\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\openvrml\Debug\openvrmld.lib
...\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\regex\Debug\regexd.lib]

然后是OSG的部分,使用CMAKE编译OSG时,开始指定OPENVRML_INCLUDE_DIR 到 ...OpenVRMLhome-builtinclude OPENVRML_LIBRARY 到...OpenVRMLhome-builtlibopenvrml.lib.

最后编译就大功告成了。

Note: 2007/07/06 - CMAKE当前时候还不会自动的识别debug模式下的VRML库,因此在DEBUG配置 下,需要手工的将VRML插件的VS工程的依赖库手动修改一下 (replace antlr.lib with antlrd.lib, regex.lib with regexd.lib and openvrml.lib with openvrmld.lib)。

Note: VRML仅支持原始的geometry结点,所以Box 和 Sphere这样的类型不会有任何显示结果。可以使用如下文件进行测试(击此下载), 如果看到了以下物体,就说明成功了。


QuickTime插件

从此页下载QuickTime this page,安装完成后在OSG编译时,使用CMAKE指定QUICKTIME_INCLUDE_DIR为QuickTime SDKCIncludes指定 QUICKTIME_LIBRARY为 ...QuickTime SDKLibrariesQTMLClient.lib,然后编译即可。


wxWidgets (for osgviewerwx)

击此下载 this installer 或其ZIP版本 the zip version. 打开..wxWidgets-2.8.4uildmswwx.dsw,转换为VS的工程并进行编译。

指定wxWidgets_ROOT_DIR为 ...wxWidgets-2.8.4 ,指定wxWidgets_LIB_DIR为...wxWidgets-2.8.4libvc_lib设置wxWidgets_CONFIGURATION 为 "msw" 设置wxWidgets_USE_REL_AND_DEBUG 为"ON",然后编译即可。


TODO: Instructions for other plugins go here

相关附件