OSG( OpenSceneGraphic)

OSG( OpenSceneGraphic) 收藏

一:编译问题

论坛编译好的文件也是FLMN为编译的文件,与自己用CMAKE编译的没有什不同,到自己编译总结一下主要有几个方面的错误

首先来,直接下了源,没有下第三方data数据文件,首先源是不必了,必的。

源码的下载地址是:
http://www.openscenegraph.org/projects/osg/wiki/Downloads/CurrentRelease
这里要注意的是,在这里下到的是2.0,虽然说在:http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases 可以下到2.1.9甚至不久后会有更新的源文件,且可以通过SVN抽取,但是紧跟潮流有时候并不一定都是好事,OSG数年前推出的1.20霸占OSG长达数年之久,经典之极,而OSG本身在近乎数月之内连更数十版本,CurrentRelease
中显示的是2.0,因此还是建议使用2.0,更高版本应该观望。PS:1.2以后,感2.0可不怎好使。

很多人下完源之后,直接CMAKE来,然后编译之,一般怎么说呢,使用CMAKE并不心其中的选项,直接一直点,可能受CMAKE的官方教程影响,似于做系的一健原,这样编译出的文件有下面的功能:首先OSG的核心在且自安装到你指定的地方,但是PATH可能需要手添加,很多人PATH以及VS中的文件与LIB文件路径什的都不是太清楚,OSG版本更新又快,一个机器上甚至有几个版本,几个PATHVS中也有文件LIB文件一大堆,到候程序运行找不到入口,找不到入口只有一个原因,版本不。 编译完的OSG往往人最先发现的是无法正常示字体,不光滑,是因缺少字体插件,其JPEG,GIF等等都没有,因此这时需要指定第三方插件,OSG自己提供了最小的一般人都需要的OSG插件:
地址是:
http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies
CMAKE中,把相ACTUAL_3DPARTY_DIR指向解后的目就可以了

这样编译完成的OSG正常的功能了,CMAKE中有很多其它的选项,最好都看一下是什意思,常用的有:EXAMPLE着的,然我没有试过不打它是不是就不生例子,但是我估不打是没有例子编译的,的如QT,wxWidgets等等些,当你机器上安装些插件库时,它会自找到并配置好,所以不用操心。

需要以前使用的DATA,可以在:http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets 下到那些模型。当然也可以把放模型的地方,加上OSG_FILE_PATH这样的路径,随个人爱好。

写到这里建议,如果有特别需要的,自己编译一般都不成问题,但凡需要看教程的都是需要的非常单一的OSG功能,而你在上面提到的论坛里的:http://download.mapalpha.com/vrdev/OSG2.0_vc80.rar 
是完全可以满足要求的,我们平时都不怎么使用VS8.0,因此感谢FLMN每次不辞劳苦的在VS8.0下编译OSG第一时间传给大家,装好后,PATH是设置好的,如果要有以前版本那样的VS项目文件,直接用CMAKE生成就可以了,源文件在OSG安装目录的SRC下,因为已经有库了,所以不用编译,别傻傻的又再编几个小时,再问怎么设置啊什么的。

关于VRMLQT等,王锐在论坛的其它地方写的都有相关的编译步骤,不再缀述,推荐一下他的关于这方面的贴(通帖,贴好打些):
关于编译VRML插件的:http://bbs.vrdev.net/viewtopic.php?t=853&highlight=%E7%BC%96%E8%AF%91
关于编译的详细的贴子:
http://bbs.vrdev.net/viewtopic.php?t=809&highlight=%E7%BC%96%E8%AF%91
贺世聪写的关于编译的贴子:
http://bbs.vrdev.net/viewtopic.php?t=639&highlight=%E7%BC%96%E8%AF%91
我写的关于如何在Linux下配置的贴子,虽然老了一点,但是步骤是一样样的:
http://bbs.vrdev.net/viewtopic.php?t=789&highlight=%E7%BC%96%E8%AF%91
关于如何配置wxWidgets的贴子:
http://bbs.vrdev.net/viewtopic.php?t=780&highlight=%E7%BC%96%E8%AF%91

二:版本问题

首先必得感FLMNOSG所做的工作,早在数年前,OSG0.99甚至更早的候,举步,在国内唯一可以找到的料都是FLMN提供,在以前的候安装包可不是很容易得到,编译OSG源文件是OSG手都要做的事情,编译所依据的教程得是FLMN,那个候因一个PATH没有配好,一个选项没有点好,一翻工就是一天,后来OSG1.0以上,始提供安装文件,怎么说呢,编译还是建议每个人都要经历一次,可能一次成功的人不在多数,CMAKEOSG关联大概是从1.90始的。

其次来说一下常见的与版本有关的几个错误:
有很多人都在说程序编译完成后,显示有链接错误,把那些链接错误去掉微软的命名规则__@等,可以看出是函数都无法解析,这是由于PATH没有配置正确,有很多人都还不清楚PATH是个什么东西,一般PATH是系统找东西默认在哪里开始找,比如你在CMD下随便敲一个程序就可以运行,而并非当前目录,那么这个程序所在的目录是被加入了系统的PATH,系统会自动的寻找,可以通过我的电脑,属性,高级,环境变量来配各种PATH,一般path是系统寻找时的path,打个比方来说,OSG_FILE_PATHOSG搜寻模型的目录,JAVA_HOMEJAVA库文件的安装目录,TOMCAT_HOMEtomcat所安装的目录等等,这些是为了程序查找更方便。
OSGbin添加的path中就可以了。

其次数一数二的就是出下面的错误
找不到入口,首先出现这错误肯定是以前的版本或是不符合的版本在电脑上存在且版本的path在你需要的版本之前,所以找一下,除就可以了,不要我已经删除完了这样错误是不大可能的,当然你也可能自己无意建了个写字板,其名osg.lib竟放在%system%system32下,那么删都找不到它,但是这种情况可能比

VS8
VS7来,曾得大概出来的候大家纷纷下来使用,仿佛智能化大大提高,拿玩数据的人来,以前的很多句都成了几个鼠点点,也它是好的,但是我很多人仍在使用VS7.0.OSG2.0也是一,不要求你使用OSG2.0,但是一定要会,因使用哪个版本有候不是自己决定的,就像使用什么语程一,会看菜吃OSG在数月间连更数十版本,算在2.0停了一下,所以仍幸。我也推荐大家使用2.0,可能1.20在不久后就消失了。但是如果以前一直在使用1.20的用,我得操之急是大可不必的,这样就不会有太多的抱怨。

 

三:硬件和平台问题

首先运行多的状况,最常的是什内存泄露,首先这种事情在0.99古已有之,OSG的内存管理也是出了名的,我喜MFCWIN32OSG行一些操作,怎么说呢有候会有莫明其妙的错误,我曾仔过这些莫有的错误么说呢,可能有候它消失了,我在很多次找的能找到这样候,所以如果有候它消失了,要好好的珍惜经验,内存泄露问题不是太好解决,只要自己不要犯一些常程的错误就可以了,多看一些似于《(more) Effective C++》《高量的C/C++指南》《Exception C++这种类C++着没事翻两就可以了。

玩虚拟现实不得不提个硬件,一般内存至少也得是要1G的,一般512就已用了,随着3DMAXMAYA这类软件所建的模型越来越大,景越来越大,有候因跑不起来要走很多弯路,比如大量的用LOD,分布式什的,如果一台机器可以渲染,何必呢。得有一本:以前IBM的数据管理系才几百K代不同了,在一个刻录软件安装文件300M,装上一个多G,投一个刻得在加个内存条了。示卡最好是NV6800+以上的,OSG是从OPENGL而来,示卡的加速与展功能至重要,示卡是比内存更重要的环节,从而来讲显示卡越好越好。CPU就不必了,感以前AMD3700+及以上的系列的似乎用着也人意,当然在配机都双核了,如果是新机当然没问题了。

一下平台,大多数的玩家都批老是使用MFCWIN32有什好啊等等,就我感的是国内大多数的目使用的MFCWIN32,几乎各占半壁江山,Windows Form以及wxWidgetsQT然有很多人都十分的善,但是怎么说呢,没有更多的人善,就一个目来可能需要有很多人来做,而且MFCWIN32一般的人都非常熟,因此的平台可以做一下研究,需要可以使用就可以了,主要应该放在MFCWIN32上,当然个不必如此究,学一般都是控制台。  

一下操作系,没有听很多人在Linux下使用OSGOSG是从Linux来的,但是很多人以在Linux下熟的工作为荣,但是这种荣誉并没有在OSG目中发挥很大的作用,曾Ubuntu+CodeBlock/Eclipse+wxWidgets上工作发现大家叫的很响的CodeBlock竟然在使用中文编码时会乱缩进。很多西很好,但是只适合研究,需很快上手即可。Linux下使用OSG感觉挺好的。

四:教程

一定要把OSG的官网www.openscenegraph.org从头到尾没事时就看看,很久前OSG官网的技术落后,网络也卡,有时候打开一个页面需要数分钟,我们仍在坚持,现在好了,OSG官网于不久前改版,速度相当可观,还等什么。

在就OSG到底有多少教程来看一下,首先曾有很多很不OSG方面的论坛以及什的,都没有留下接,在只介一下比官方的地方:

首先来例子程序:

OSG
的例子从1.02.0是不同的,因此可以把以前的例子OSG除的也可以收一下看看,其次不得不强调OSG例子程序的重要性,必需要一遍再一遍的看,一遍再一遍的研究,也是我的感OSG的很多功能都需要拼西凑,带试才能成功,而很多都是基于OSG自己的例子的,OSG自己的例子在编译完成后有。

其次OSG官网上放有几个例子,非常实用的,可以从下面的链接中获得:
http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials
建议每一个都下来看一下,琢一下磨。

其次又不得不提一下FLMN了,很久前整理了学习光盘,里面有NPS以及FLMN的例子网站(停止运营了)上面的三个例子,还有一些好文章,地址是:
http://download.mapalpha.com/vrdev/VRDEV-OSG-STUDY-KIT-1.0.iso
 

再说一下书籍:
英文的权威书籍有两本,一本是:
OpenSceneGraph Quick Start Guide》另一本是《OpenScenGraph Reference Manual》两本书都有1.20以及2.0

在不久前王锐曾经译完了《OpenSceneGraph Quick Start Guide》,中英版本的可以在下面链接中看到简介:
http://www.osgbooks.com/
 
关于中文版的《OpenSceneGraph Quick Start Guide》,可以从王锐的贴子中获得:
http://bbs.vrdev.net/viewtopic.php?t=1248

中文目前还没有好的参考图书,不久前写过一本中文入门教程,《Step Into OpenSceneGraph》,谢谢很多OSG同仁的捧场与提出书中所存在的错误与问题,写时最新的OSG1.20故是基于VS8OSG1.20的,是邮购的(40/),需要的话可以发信给我就可以了,信箱是:ieysx@163.com
可以在下面看到该书目录:
http://bbs.vrdev.net/viewtopic.php?t=655

并不是说因为我写的有书骗大家买啊,我觉得OSG方面的资料本身非常非常稀少,学习OSG是件不困难的事,难的是没有资料与灵感,我觉得有资料就应该购买或者收集,这不像是C++,JAVA什么的,光买书都要买到破产。另外我建OSG官方网站上展示的的公司以OSG做的品都下来看看,从中取灵感与经验,有很多公司的件与目甚至是源的,这样就更好了

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值