技术标签: # 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
相关附件
一、字体标签字体标签包含:h1~h6、<font>、<u>、<b>、<strong>、<em>、<sup>、<sub> 1、标题:标题使用h1~h6标签进行定义。<h1>定义最大标题,<h6>定义最小标题。具有align属性,属性值可以是:left、center、right...
Problem Description假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。Input输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。Output对于每个测试实例,输出3行数据,第...
作为一个航空爱好者,每每听到轰鸣声从天上传来,便本能般的抬起脑袋,视线以最快的速度去定位她的位置。在机场时,我喜欢将停机坪上的飞机依次数落一遍,心里默默的唠叨着:“这是新加坡航空的波音777,那是美联航空的波音747,诶,远处刚着陆了一架,看不大清楚,好像是南航的A380......”。当然坐飞机的时候我是首选窗边座位的,就和我坐车的习惯一样,于是我有幸从空中看到重庆朝天门前长江和嘉陵江那条明...
Android10获取相册图片失败
要求:给定一个字符串,逐个翻转字符串中的每个单词。示例 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,写出多项式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)下的扩域,加法和乘法运算...
1、关闭Windows Update服务win+r打开运行框输入services.msc后找到Windows Update服务右键停用2、打开C:\Windows\SoftwareDistribution,删除datastore和Download文件夹下的所有文件,然后将SoftwareDistribution文件夹重命名为SoftwareDistribution.old3、重新打开Windows Update服务...
之前由于需要查看了ThreadPoolExecutor的实现,然后发现了内部的封装工作线程的Worker类继承自AbstractQueuedSynchronizer类,查了一下,发现这个类封装了典型的并发锁操作,是java并发库java.util.concurrent的基础(作者就是鼎鼎大名的Doug Lea大神),花了大约一天的时间看了AbstractQueuedSynchronizer的原
roscore 启动失败 报错 显示:IOError: [Errno 13] Permission denied: “/home/XXXX /.ros/roscore-11311.pid"很简单,原因是这个文件夹的权限不够只要把~/.ros/ 整个文件夹权限设置一下就可以了sudo chmod 777 -R ~/ .ros/继续重启 roscore 即可。...
// 2.输入一个数字判断他是奇数还是偶数 public static void Test2() { Scanner input = new Scanner(System.in); System.out.println("请输入一个整数:"); try { int zhengshu = i...
一. 目的 更好的掌握计算机的相关知识,为日常工作的顺利进行打好基础。二. 目录 本年计划学习的课程是: 课程 完成情况 《从零开始学架构》 《许式伟的架构课》 《高并发设计40问》 《分布式技术原理和算法解析》 《数据结构之美》 ...