第三方插件众多,本文有些年龄了,直译的,里面介绍了一些插件的获取。
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
相关附件
浏览次数:57178 次