查看: 3790|回复: 6

请教一个很菜鸟的问题

[复制链接]

该用户从未签到

发表于 2008-4-16 10:46:55 | 显示全部楼层 |阅读模式
最近刚刚接触到OSG,所以想问一个很恨很菜鸟的问题:OSG到底都可以做什么啊?
比如说:建模、漫游、交互等等都可以做吗?
OPENGVS、Virtools和它的功能都有什么区别或者相同的地方呢?
麻烦各位大侠指点下呵,不胜感激。
如果我的偶像FlySky, array能亲自解答更是感动,呵呵

该用户从未签到

发表于 2008-4-16 14:34:36 | 显示全部楼层
OSG是一款开源的高效3D图形开发包,经历了OpenGVS,Vtree,SGI performer,Multigen等等多代软件的发展,它是对OPENGL的完全封装,你所说的建模,漫游,交互等仿真都可以做~~~~~~~

该用户从未签到

 楼主| 发表于 2008-4-16 16:03:02 | 显示全部楼层
吼吼,谢谢偶像的回答。
不过能具体介绍下它到底都能做什么,擅长什么,能具体做到什么程度吗?

该用户从未签到

发表于 2008-4-16 16:20:42 | 显示全部楼层
原帖由 lindaya11 于 2008-4-16 16:03 发表
吼吼,谢谢偶像的回答。
不过能具体介绍下它到底都能做什么,擅长什么,能具体做到什么程度吗?


OSG通过封装底层的OpenGL指令,并采用用户/筛选/渲染三线程的模式,实现高实时性的场景渲染。它提供了强有力的场景节点结构,以管理复杂的场景数据;提供了强大的模型/图片文件读写插件机制,使得我们可以打开并操作各种格式的文件;提供了一系列丰富场景渲染性能和内容的类工具,例如阴影,粒子系统等;提供了对最新的图形硬件设备的支持,使得我们可以最大限度地发挥显示设备的性能……
但是,OSG归根结底只是一个三维图形场景开发工具而已,它是一款中间层软件(middleware),不提供也没有必要提供更多的用户功能(例如GUI等),用它来做什么完全取决于您的需要:场景漫游,地理数据,虚拟城市,GPS系统,工业仿真,游戏,医学,宇航,矿业……
做个比喻的话,OSG就像一套经过精心设计和校核的轮胎,可以适用于公路,山地,泥地甚至F1赛场,但把它装在什么地方完全取决于您~~法拉利也好,永久牌自行车也罢,或者裁开了给宠物狗做个皮圈也可以~~

使用OSG进行开发的例子,可以参考NASA的BlueMarble(这个是开源的),国外还有应用于宇航,石油勘探,虚拟制造的例子;国内的话,有3DVRI的虚拟开发平台,故宫场景漫游系统,以及各个公司的各种城市漫游软件,FreeSouth和FlySky在地理信息系统上的研究颇深,Hesicong也发布过脑CT仿真系统的实例,此外变电站仿真的项目我也见到过~~可见用OSG开发的例子是不拘一格的,而且是层出不尽的

该用户从未签到

发表于 2008-4-16 17:03:45 | 显示全部楼层
与老一代的基础仿真软件Multigen之类相比OSG具有的先进特性列表列举如下:
  1)产品的内核采用标准的场景图结构,通过对各类遍历场景图的算法进行优化,具备了最高效率的场景图结构与访问方法,通过对并行功能的加强,使得多个CPU可以对同一场景图进行硬件支持的高效运算。
  2)直接从内核开始支持最新发布的OpenGL2.0版本的功能,目前极大多数仿真软件仍然停留在Opengl1.5或者更早期的版本的基础上,已经不能满足日益提高的仿真市场的需求。
  3)内置了对已经成为世界标准的GLSL的支持,使得仿真效果的真实性大为提高,老式的仿真软件由于开发年代久远限于当时的硬件条件,在效果的视觉真实性方面一直存在让人感觉很不舒服的效果真实性问题,而仿真软件的一大目标就是要让人们能得到与真实接近的计算机仿真结果,不真实的仿真结果与这一目标是背道而驰的。
  4)内置块状地形分割与降解的高速算法,能处理以地球为规模的大地形仿真工程。
  5)直接与显示硬件相关联的二进制文件格式,可以快速的装入大量的数据到显示内存中。
  6)能直接处理大量模型数据的场景编辑器,老式的仿真软件受限于研发时的硬件条件,通常以少量的面片作为仿真场景编辑器的处理单位,现在随着显示硬件的飞速发展,仿真场景能处理的模型的复杂度与数据量都大幅度增长,老式仿真软件的模型与数据处理能力不再与最新的仿真硬件相匹配,从而面临淘汰的命运。
  7)可以快速的提高仿真场景的制作效率与所得到结果的真实性,许多老式的仿真软件自带具备建模能力的场景编辑器,但由于这类场景编辑器不是主流的建模的软件,结果随着岁月的流逝当时确实非常领先的工具,经过N年后已不再先进,反而变成一个提高仿真模型与场景生产效率的阻碍因素,OSG通过专为当今最为先进的几大三维建模及动画软件3DSMAX、MAYA等等编写插件的方式可以直接支持与读入这些软件的工作结果,无论在模型的生产效率与场景的真实性方面都有一个质的飞跃。
  8)通过软件提供的外围数据库接口,可以非常方便的将仿真场景与外围的数据库中的内容进行动态挂接,甚至只需写上几句Visual Basic语句就可以将场景中的物体与数据库挂接起来,而老式的仿真软件通常提供C++的数据库接口,这样将提高仿真软件使用者的技能要求,会将一大批懂专业但编程能力不是很强的很有价值的专业人士排除在仿真领域之外。

该用户从未签到

 楼主| 发表于 2008-4-17 09:14:58 | 显示全部楼层
真的非常感谢二位大侠!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表