OSG的插件_osgbimporter_醉逍遥_祥的博客-程序员宅基地

技术标签: # OSG(OpenSceneGraph)  

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

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

相关附件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35097289/article/details/83892279

智能推荐

HTML之body标签中的相关标签_weixin_30955617的博客-程序员宅基地

一、字体标签字体标签包含:h1~h6、&lt;font&gt;、&lt;u&gt;、&lt;b&gt;、&lt;strong&gt;、&lt;em&gt;、&lt;sup&gt;、&lt;sub&gt;  1、标题:标题使用h1~h6标签进行定义。&lt;h1&gt;定义最大标题,&lt;h6&gt;定义最小标题。具有align属性,属性值可以是:left、center、right...

杭电ACM2023题c语言暴力解法_浙江2023acm题解_CreatorYang的博客-程序员宅基地

Problem Description假设一个班有n(n&lt;=50)个学生,每人考m(m&lt;=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。Input输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。Output对于每个测试实例,输出3行数据,第...

教你认客机_weixin_30763455的博客-程序员宅基地

  作为一个航空爱好者,每每听到轰鸣声从天上传来,便本能般的抬起脑袋,视线以最快的速度去定位她的位置。在机场时,我喜欢将停机坪上的飞机依次数落一遍,心里默默的唠叨着:“这是新加坡航空的波音777,那是美联航空的波音747,诶,远处刚着陆了一架,看不大清楚,好像是南航的A380......”。当然坐飞机的时候我是首选窗边座位的,就和我坐车的习惯一样,于是我有幸从空中看到重庆朝天门前长江和嘉陵江那条明...

翻转字符串里的单词_甜甜圈吃不完的博客-程序员宅基地

要求:给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: “the sky is blue”输出: “blue is sky the”代码如下: string reverseWords(string s) { reverse(s.begin(),s.end());//翻转整个字符串 int size = s.size(); int pose = 0...

应用密码学数学基础习题之设有限域GF(28)的不可约多项式为p(x)=x8+x4+x3+x+1__山山而川_的博客-程序员宅基地

题目:设有限域GF(28)的不可约多项式为p(x)=x8+x4+x3+x+1,写出多项式A(x)=x7+x4+x3+x2+x+1,B(x)=x6+x4+x2+x+1 的二进制表示, 并求GF(28)的多项式加法和乘法A(x)⨁\bigoplus⨁B(x),A(x)⨂\bigotimes⨂B(x)。在解题之前,我们要知道,GF(2^8)是GF(2)在一个不可约多项式f(x)下的扩域,加法和乘法运算...

随便推点

Windos更新提示你的设备中缺少重要的安全和质量修复_Freefish1994的博客-程序员宅基地

1、关闭Windows Update服务win+r打开运行框输入services.msc后找到Windows Update服务右键停用2、打开C:\Windows\SoftwareDistribution,删除datastore和Download文件夹下的所有文件,然后将SoftwareDistribution文件夹重命名为SoftwareDistribution.old3、重新打开Windows Update服务...

一个基于AbstractQueuedSynchronizer类的Java的Mutex类的实现_PunWinger的博客-程序员宅基地

之前由于需要查看了ThreadPoolExecutor的实现,然后发现了内部的封装工作线程的Worker类继承自AbstractQueuedSynchronizer类,查了一下,发现这个类封装了典型的并发锁操作,是java并发库java.util.concurrent的基础(作者就是鼎鼎大名的Doug Lea大神),花了大约一天的时间看了AbstractQueuedSynchronizer的原

roscore 运行失败,提示 /.ros/roscore-11311.pid 没权限的问题_ros权限不够-程序员宅基地

roscore 启动失败 报错 显示:IOError: [Errno 13] Permission denied: “/home/XXXX /.ros/roscore-11311.pid"很简单,原因是这个文件夹的权限不够只要把~/.ros/ 整个文件夹权限设置一下就可以了sudo chmod 777 -R ~/ .ros/继续重启 roscore 即可。...

Java作业:输入一个数字判断他是奇数还是偶数_King97349的博客-程序员宅基地

// 2.输入一个数字判断他是奇数还是偶数 public static void Test2() { Scanner input = new Scanner(System.in); System.out.println("请输入一个整数:"); try { int zhengshu = i...

2020年学习计划_2020年教师读书计划_万里归来少年心的博客-程序员宅基地

一. 目的 更好的掌握计算机的相关知识,为日常工作的顺利进行打好基础。二. 目录 本年计划学习的课程是: 课程 完成情况 《从零开始学架构》 《许式伟的架构课》 《高并发设计40问》 《分布式技术原理和算法解析》 《数据结构之美》 ...

推荐文章

热门文章

相关标签