您当前的位置:首页>论文资料>三维渲染引擎OGRE与OSG的比较综述

三维渲染引擎OGRE与OSG的比较综述

资料类别:论文资料

文档格式:PDF电子版

文件大小:324.46 KB

资料语言:中文

更新时间:2024-12-20 10:04:50



推荐标签:

内容简介

三维渲染引擎OGRE与OSG的比较综述 数事技术每表用
学术论坛
三维染引擎OGRE与OSG的比较综述
金阳1.2张宣1.2李青元1
(1.中国测绘科学研究院北京100830;2.中国矿业大学(北京)北京100083)
摘要:随着虚拟现实技术的发展,国外出现了许多优秀的三维演染引擎本丈对OGRE与OSG这两个三维图形潼染引擎做个简单的比较,介绍他们在运行效率、场景管理、功能支持、可扩展性等方面的异同。
关键词:三维流染引季OGREOSG
中图分类号:TP393.18 1、引言
文献标识码:A
文章编号:1007-9416(2011)10-0175-03
OSG让所有的人在场景图技术中受益,无论是商业还是非商业
随着计算机可视化,虚拟现实技术的飞速发展,人们对实时真
实感滨染以及场景复杂度提出了更高的要求,传统的直接使用底层图形接口如OpenGL、DirectX开发图形应用的模式越来越暴露出开发复杂性大、周期性长,维护困难的缺陷。为此国外出现了许多优秀的三维道染引擎,比如Delta3D,OGRE,OSG,Unity3d,VTK等。谊染引擎的作用是要优化递历和显示三维模型,本文主要对OGRE与 OSG这两个三维图形谊染引擎做个简单的比较,介绍他们在运行效率、场景管理、功能支持、可扩展性等方面的异间。通过了解两者差
异后,可以根据不同的项目需求,选择合适的谊染引。 2、OGRE与OSG染引擎简介及特性
2.1 OGRE
OGRE(ObjectOriented Graphics Rendering Engine)即 : 面向对象图形渣染引擎,是一个用C++开发的面向场景,非常灵活的3D引擎,诞生于1999年。它旨在让开发人员更容易、更直接地利用硬件加速的3D图形系统开发应用。这个类库隐截了底层系统库 Direct3D和OpenGL的所有细节,并支持多种高级特性,提供了一个基于现实世界对象和其他直观类的接口。目前官网中OGRE的最新版本为1.7.3。
OGRE几乎拥有了商业3D道染引擎的全部特性,基至有些方面超越了它们:(1)自动处理谊染状态和空间剪裁:(2)支持所有纹理混合和绑定技术,同时支持对GPU编程技术,支持汇编语言和所有高级语言形式的各种着色语言,其中高级语言包括:Cg,HLSL和 GLSL:(3)强大且成熟的材质管理和脚本系统,可以不动-一行代码去进行材质维护;(4)支持多种纹理图片格式,包括:PNG,TGA,DDS, TIF,GIF,JPG,同时支持特殊格式的纹理,(5)全面支持对项点和索引缓存(vertex and index buffers),顶点声明(vertex declarations) 以及贴图缓存(buffermappings),(6)给出以插件方式链接不同场景结构的接口,允许你使用适合自已应用程序的场景体系:(7)成熟且可扩展的资源管理和载入系统,文件系统支持的文件包括zip, pk3格式等等。
OSG(OpenSceneGraph)是一个高性能的开源三维图形引擎,是一个开放源码,跨平台的图形开发包,它为诸如飞行器仿真,虚拟现实科学计算可视化这样的高性能图形应用程序开发面设计。它基于场录图的概念,它提供-一个封装了OpenGL底层细节的面向对象的框架,从而能把开发者从实现和优化底层图形的调用中解脱出来,并且它为图形应用程序的快速开发提供很多附加的实用工具。 OSG大概诞生丁1997年,发展至今其功能特性涵盖了大规模场景的分页支持,多线程、多显示的谊染,粒子系统与阴影,各种文件格式的支持。目前官网的稳定版本为3.0.1。
OSG的引擎特性: 2.2.1场景园
的用户,达到工业级的标准;方便了图形图象数据的保存;高性能高效率:支持视图投影别除(viewfrustumculling),隐载面剔除(occlusionculling),小特性剔别除(smallfeatureculling),细节层次节点(LOD),状态排序(statesorting),顶点数组,项点缓冲对象(vertexbufferobjects),OpenGL着色语言和显示列表(display lists),以上所列都是场景图内核的一部分。它们共同使OSG成为一个高性能的图形库变为可能。OSG也支持绘制进程(drawing process)的定制,比如场景图的连续细节层次(CLOD)的网格。
2.2.2使用了自敏记款功等
OSG中使用了智能指针的使用,使得开发人员脱离了累重的内存分配与释放的工作;减少了由于人为的原因造成的内存泄露的状况。
2.2.3快速开发
场景图的内核封装了包括最新扩展的大部分OpenGL底层功能,提供诸如别除和排序的谊染优化功能,同样提供能快速开发高性能图形应用程序的一整套补充库,开发者可以更快地掌握实质性内容和如何操控这些它们,而不再是底层的代码。
2.2.4强大的可扩展性、移植性、伸缩性
开发人员可以根据自已的实际需要,对程序做一些必要的扩展,如读取插件,可以根据自己的要求与需要编写自己的文件格式读写器;也可以修改内核增加新的节点满足自已的需求;OSG的完全独立与窗口操作系统的场录图内核库使得用户在它上面可以增加他们自已的指定窗口库和应用程序,在发布版本中osgViewer库提供自带窗口支持,可支持Windows(Win32),Unices(X11)和OSX(Carbon)。
2.2.5OSG提供功策保大的模块,主要包格四个库131
(1)OSG核心库(CoreLibrary),主要功能是实现最核心的场景数据库的组织和管理、对场景图形的操作以及为外部数据库的导人提供和接口。主要包括的库有:0g,用来OSG的内核模块,主要为管理数据的类型与节点;05gDB,用来管理场景数据的读取与保存,以及插件的管理等等。
(2)OSG工具库(NodeKit),是对OSG核心库的一个补充,实现了一定特定的功能。比如:
osgFX,用于道染特效节点:osgParticle,提供了OSG对粒子系统的支持,如雨、雪,爆炸模拟等:osgTerrain,提供OSG对地形的支持,用于谊染高程数据(TIF、DEM等高程数据格式)等等。
(3)OSG插件库。OSG插件库是OSG一个非常重要的特点。为了读人和写出数据库,OSG提供了许多动态的插件从来支持其他软件创建的3D或2D的数据格式:
支持的2D的文件格式有:bmp,jpg,pngpnm,tif,gif,jp2,pic, svg,tga,rgb,txf,dds(包含压缩的一系列Mip贴图影像),基于字体的图像也可以通过.txf插件支持等:
支持的3D文件格式有:3DStudioMAX(.3ds),COLLADA,
175
上一章:视频智能监控技术 下一章:试卷生成管理系统的设计和实现

相关文章

GY/T 363-2023 三维声编解码及渲染 三维建模技术应用方法比较研究 连铸板坯滑动水口三维流场湍流计算模型比较 时间旅行与曲速引擎:快速穿越时空的科学指南 产品设计建模与渲染 品悟Alias 2014+Showcase产品可视化造型与渲染 RHINO+3DS MAX产品造型渲染技法与典型实例 DB33/T 2032-2017 动画渲染平台管理与服务规范