1、基于OGRE的海量三维模型动态调度技术的研究与实现李雷基于OGRE的海量三维模型动态调度技术的研究与实现全日制工程硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现李雷工程领域 计算机技术指导教师 欧元汉副教授论文答辩日期 2012.05.27 学位授予日期 2012.06.28答辩委员会主席 陈友初高级工程师 论文评阅人 喻昕 王挺 GRE的海量三维模型动态调度技术的研究与实现摘要虚拟现实(VR)是一个新兴的计算机技术,广泛运用于各个行业,为人们的生活带来了极大的改变和方便。在运用VR技术的时候,如果遇到大规模场景,海量的三维模型显示导致计算机的运算速度大大下降,对硬件提出了极高
2、的要求。OGRE (Object-Oriented Graphics Rendering Engine)是一个面向对象的三维渲染引擎,同时支持Direct3D和OpenGL,主要面向游戏场景。但是OGRE中对于海量三维模型的管理能力显得较为不足,不能很好的实现海量三维模型的动态调度。OGRE在管理场景的时候,是以资源组的方式统一加载卸载,不能以单个模型作为加载卸载的单位,这样第一不能很好的把离开当前窗口的物体从内存卸载掉,第二会把当前区域所有细节层次的模型数据全部放于内存中,使得内存不堪重负。所以本论文重点解决这些问题,首先实现以单个模型为单位的动态加载卸载,并且实现了预加载,解决了模型“突现
3、”的问题,然后能对离幵窗口的模型进行判断,过期的模型进行删除,对于采用多个细节层次的情况,没有用到的细节层次模型也会从内存卸载。DatabasePager是动态数据库技术,用来缓解内存压力,能够自动加载卸载需要的数据。LOD技术能缓解渲染压力。PagedLOD技术是结合LOD和DatabasePager技术,能同时缓解渲染和内存的压力。能够根据距离选择不同细节层次的模型,然后也能判断出没有用到的细节层次模型和当前窗口外的模型,通知DatabasePager进行卸载判断。文重点研究DatabasePager、PagedLOD等动态管理技术,将其实现到了 OGRE当中。最终实验采用了大量的三维模型
4、,实现了海量三维模型的动态调度。关键词:虚拟现实大规模场景海量三维模型动态调度 OGREDatabasePager PagedLODiind Implementation Of Dynamic Scheduling Technique OfMassive Three-Dimensional Models Based On OGREABSTRACTVirtual reality (VR) is an emerging computer technology, widely used invarious industries, and peoples lives changed dramatica
5、lly and convenience. Ifyou encounter a large-scale scenes, the use of VR technology, the massivethree-dimensional model of the computers processing speed is greatly decreasedand raised extreme demands on the hardware. OGRE (Object-Oriented GraphicsRendering, Engine) is an object-oriented 3D renderin
6、g engine that supports bothDirect3D and OpenGL, mainly for the game scene.But OGRE mass management capabilities of three-dimensional model seemsto be rather inadequate, can not realize the three-dimensional model of thedynamic scheduling well. When OGRE managing scene, the resource group isthe loadi
7、ng and unloading unit, not a single model, so that firstly it can notunload the outside current window objects from memory well and secondly thedetails of the region-level model of data is all load in the memory, making thememory overwhelmed. This thesis is focused on solving these problems, firstre
8、alization is making a single model as the dynamic loading and unloading unit,and it can preload. It solved the problem of suddenly show.When the modelleaves the window, it can be judged, it can be deleted when it is expired. For thecase of multiple levels of detail, the level of detail model not usi
9、ng will bein广西大学学位论文原创性和使用授权声明本人声明所呈交的论文,是本人在导师的指导下独立进行研究所取得的研究成果。除已特别加以标注和致谢的地方外,论文不包含任何其他个人或集体己经发表或撰写的研究成果,也不包含本人或他人为获得广西大学或其它单位的学位而使用过的材料。与我一同工作的同事对本论文的研究工作所做的贡献均已在论文中作了明确说明。本人在导师指导下所完成的学位论文及相关的职务作品,知识产权归属广西大学。本人授权广西大学拥有学位论文的部分使用权,即:学校有权保存并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据
10、库进行检索和传播,可以采用影印、缩印或其它复制手段保存、汇编学位论文。本学位论文属于:口保密,在 年解密后适用授权。密。(请在以上相应方框内打“ V”)论文作者签名:曰期:指导教师签名:日期作者联系电话:电子邮箱:d from memory.DatabasePager is a dynamic database technology which used to alleviate thememory pressure, it can load or unload data automatically. LOD technology canease the rendering pressure.
11、 PagedLOD technology is a combination of LODand Databasepager, it can both relieve the pressure of the rendering and memory.With PagedLOD technology, models of different levels of detail can be selectedaccording to the distance, and it can also determine the level of detail modelsthat not using, the
12、 models outside the window, then it notify DatabasePager tobegin unload judgment.This paper focuses on DatabasePager, PagedLOD dynamic managementtechniques, applied to the OGRE.The final test using a large number ofthree-dimensional models, it can dynamic schedule the massivethree-dimensional models
13、.KEY WORDS: Virtual Reality; Large-scale scenes; Massive three-dimensionalmodel; Dynamic scheduling; OGRE; DatabasePager; PagedLOD硕士学位论文 基于OGRE的海量三维模型动态调度技术的研究Lj实现第一章绪言虚拟现实(VR)是一个新兴的计算机技术,广泛运用于各个行业,为人们的生活带来了极大的改变和方便。它通过计算机的高速计算和存储能力来模拟现实中的场景,具有高效、便利、低成本等等优点。在运用VR技术的时候,如果遇到大规模场景,海量的三维模型显示导致计算机的运算速度大大
14、下降,对硬件提出了极高的要求。OGRE (Object-Oriented Graphics Rendering Engine)是一个面向对象的三维值染引擎,同时支持Direct3D和OpenGL,主要面向游戏场景。OGRE在文档一致性、资源管理模式、完善的动画系统以及阴影系统等方面具有一定的优势。但是OGRE中对于海量三维模型的管理能力显得较为不足,不能很好的实现海量三维模型的动态调度。OGRE在管理场景的时候,是以资源组的方式统一加载卸载,不能以单个模型作为加载卸载的单位,这样第一不能很好的把离开当前窗口的物体从内存卸载掉,第二会把当前区域所有细节层次的模型数据全部放于内存中,使得内存不堪重
15、负。所以本论文重点解决这些问题,首先实现以单个模型为单位的动态加载卸载,并且实现了预加载,解决了模型“突现”的问题,然后能对离幵窗口的模型进行判断,过期的模型进行删除,对于采用多个细节层次的情况,没有用到的细节层次模型也会从内存卸载。DatabasePager是动态数据库技术,能够自动加载卸载需要的数据。PagedLOD技术是结合LOD和DatabasePager技术,能够根据距离选择不同细节层次的模型,然后也能判断出没有用到的细节层次模型和当前窗口外的模型,通知DatabasePager进行卸载判断。本文重点研究DatabasePager、PagedLOD等动态管理技术,将其实现到OGRE当
16、中。1 1研究意义1)城市规划部门的应用需要城市规划部门在进行规划的同时,希望能用软件来辅助进行规划,尤其是虚拟现实的软件,虚拟现实技术将很好的把图形、模型显示在计算机上,并且能进行方便、快速的处理,非常的直观,而且改动起来也非常的方便。以前人们只能用笔和1tabasePager 原理 3.1.1 DatabasePager动态数据库简介 3.1.2 DatabasePager 的主要工作 3.1.3 DatabasePager中的删除数据的判断原理.3.1.4 DatabasePager 的基本结构 3.1.5 DatabasePager 独立测试程序 3.2动态调度技术在OGRE中的实现
17、3.2.1 准备工作 3.2.2 DatabasePager 在 OGRE 里的实现 3.2.3 线程在 OgreDatabasePager 里的实现 3.2.4模型进入场景预加载功能的实现 3.2.5工作原理图 3.2.6核心功能测试程序 第四章基于OGRE的PagedLOD技术的研究与实现4.1弓丨言 4.2 LOD基本原理 4.3 PagedLOD基本原理 4.3.1 PagedLOD 简介 4.3.2 PagedLOD 类结构 4.3.3 PagedLOD 用法 4.4 PagedLOD技术在OGRE中的实现 4.4.1 添加 PagedLOD 节点 4.4.2 PagedLOD中LO
18、D技术的实现 4.4.3 PagedLOD 与 DatabasePager 的结合 4.4.4 PagedLOD 的实现 4.5 实验结果对比 第五章总结与展望 参考文献 a m 攻读硕士学位期间参加的科研项目 日制工程硕士学位论文 基于OGRE的海量三维模型动态调度技术的研究与实现纸,画起来不方便,修改起来麻烦,效率也很低下,并且是静态的,不能动态的进行处理。在展示的时候不能很直观的展示给客户。如果用了虚拟现实技术,将能很好的解决这些问题,能动态的展示规划效果,更加直观,更加詢丽。如果只用OGRE,虽然在這染效果和文档一致性上能够发挥OGRE的优点,可惜遇到大场景的时候,OGRE的处理能力略
19、显不足,无法高效管理海量的三维模型。如果能弥补OGRE的这个缺陷,把其他地方现有的动态管理技术运用到OGRE中去,那么将具有重要的现实意义。2)三维地图展示与应用的需要随着计算机的发展,使人们在电脑上观赏和使用三维地图成为可能。但是三维地图相比于原始的二维平面地图来说,数据量巨大,普通的计算机无法承载,或许能装下一个小区,但是一个城市、一个省、一个国家、甚至一个地球的时候将手足无措。所以还是需要应用数学方法,提高软件效率来解决此类问题。OGRE的处理能力较为不足,只能以资源组的方式统一加载卸载资源,不能以单个模型为加载卸载的对象,不能很流畅的在巨大的三维场景中漫游,所以要想办法把更加先进的动态
20、调度技术应用到OGRE当中。3)游戏开发部门的应用需要游戏作为新兴产业,自出现起就吸引了全世界的眼球,尤其是青少年,它的娱乐性、直观性、高效性、方便性让人欲罢不能,逐渐成为人们的主要娱乐休闲活动。OGRE引擎对于游戏的幵发还是非常有用的,有很多游戏中会用到的实用技术。但是游戏不乏有大型场景,比如说模拟飞行游戏,驾驶飞机在高空飞行的时候,视野是很幵阔的,如果用OGRE,显示不了视野内的全部场景,你将会看到地图的边界,这非常影响视觉效果,并且会把场景中所有细节层次的模型全都加载进内存。如果能把先进的动态管理技术运用到OGRE当中来,既能处理海量模型,又能发挥OGRE针对游戏的长处,将具有很重要的现
21、实意义。4)电子竞技运动项目的需要来源于电脑游戏而又高于游戏的电子竞技运动,是新时代产生的一种新兴的体2程硕士学位论文 基于OGRE的海量三维模型动态调度技术的研究与实现育运动,已经被国家体育局列为第99个运动项目,孕育而生一系列的电子竞技比赛、联赛,专业的电子竞技运动员等等。这种运动主要是通过电脑软件硬件来进行比赛,尤其是虚拟现实的软件,比如虚拟足球比赛、虚拟赛车比赛,运动员通过操作电脑来模拟进行踢球、赛车等等,相对于传统的体育项目来说,电子竞技更强调智慧、思维、心里素质等能力。OGRE比较适合开发电子竞技项目的软件,如果能提升OGRE处理大场景的能力,将更好的提高这类软件的效率。5)动画制
22、作部门的应用需要各种经典的3D动画深深地感动着每一个欣赏中的观众。计算机的出现让动画制作显得方便了很多,以前的动画是画师一笔一笔的画,效率非常低下,计算机的快速处理能力能产生连续的动作效果,能只用构建场景一次就能多次多角度使用。超大场景对计算机的硬件要求比较高,毕竟硬件的处理能力是有限的,如果能用软件思想来解决大场景的管理,解决海量三维模型的动态调度,显得更加有意义。1.2选题依据目前计算机图形技术被广泛用于各个领域,给工业生产、城市规划、游戏动画等等带来了极大的方便,近几年的高速发展使越来越多的人感受到虚拟现实的魅力。OGRE作为一个JT?放图形引擎为开发工作者提供了很多帮助,被应用做出各种
23、优美、华丽的场景,OGRE尤其在场景值染和文档一致性方面具有很大的优势,并且能支持OpenGL或者 DirectX。但是,OGRE在处理海量三维模型时,在处理大场景时,劣势突显出来。OGRE不能很有效的管理超大场景,通常只能一次性的把全部数据加载进来,所有细节层次的模型都加载进内存,无法进行动态管理,这对计算机的处理能力提出了极高的要求。如果能把别的引擎、别的地方的动态管理技术应用到OGRE中,那么将具有很大的优势。1.3国内外发展现状1976年,Clark和他的研究小组第一个提出了 level of detail (LOD)模型概念。这个关于LOD的基本想法是当物体只覆盖很小区域的屏幕时,可
24、以使用比较粗糖的物体模3目录m IABSTRACT Ill第一章m m 11.1研究意义 11.2选题依据 31.3国内外发展现状 31.4研究思路 41.5研究内容和论文结构 51.5.1研究内容 51.5.2论文结构 51.6应用程序幵发的软硬件环境 6第二章虚拟现实以及相关引擎 72.1虚拟现实简介 72.1.1 概念和由来 72.1.2基本特征和构成 72.1.3 如何开发一个VR应用 82.1.4场景和对象 82.1.5行为动作 82.1.6 交互 92.1.7 雜 92.2 OGRE三维引擎简介 92.2.1 OGRE环境搭建 92.2.2 OGRE场景结构 102.2.3 OGR
25、E运行时的启动流程 112.2.4 OGRE的资源管理模式 112.3 OSG三维引擎简介 122.3.1 OSG的代码结构 122.3.2 OSG的场景结构 122.3.3 OSG中关于动态调度的功能 132.3.4 OSG的资源管理模式 13第三章基于OGRE的DatabasePager技术的研究与实现 14V硕士学位论文 基于OGRE的海量三维模型动态调度技术的研究与实现中,在OGRE中实现海量三维模型的动态管理。这其中还要对OGRE引擎进行深入学习,了解其中的机制和原理,这样才能运用自如,才能将这些技术很好的应用到OGRE中。1.5研究内容和论文结构1.5.1研究内容管理海量三维模型是
26、当前虚拟现实研究的热点,有很多实用的技术。在总结和了解有关论文和成果的基础上,着重研究一下几个方面:(1) DatabasePager 技术DatabasePager动态数据库技术是OSG中动态调度技术的核心,能够对数据进行有效的管理,对不用的数据进行必要的卸载。本论文重点研究如何把DatabasePager的原理运用到OGRE环境中。(2) LOD技术LOD技术可以概括为物体在远处和近处可以采用不同的细节层次。(3) PagedLOD 技术所有的模型都按照统一的方式管理,这不是一个明智的选择。PagedLOD技术运用分页管理大大的提高了运行效率。本论文研究如何把PagedLOD技术应用到OG
27、RE环境当中。(4) OGRE环境极其应用OGRE是一个幵放的3D图形引擎,具有很多优点。本文研究如何把动态管理的先进技术应用到OGRE环境当中。1.5.2论文结构本文共分为五章,具体编排如下:第一章是绪言,介绍选题依据、研究意义等内容。第二章是虚拟现实简介,介绍虚拟现实的发展概况和各种特点,并简单介绍了三维引擎OGRE和OSG。第三章是基于OGRE的DatabasePager技术的研究与实现,DatabasePager的技术原5日制工程硕士学位论文 基于OGRE的海量三维模型动态调度技术的研究与实现型2。通俗的讲就是如果离观察者近,就调用精细的模型,如果离观察者远,就调用粗糙的模型。在文献1
28、中,作者写道LOD细节层次技术是对同一个物体在不同的时间带来不同的表现的实践,当物体距离远时调用低层次细节表现,当距离观察者近时调用高层次细节表现。LOD转换使分离的物体的模拟变的非常简单,因为整个物体能被瞬间替换,地形的LOD转换还是有很多问题的,因为地形需要表现一个连续的景象,表面不能有断痕,需要大量不同的细节在这个表面上,距离观察者近的地面是高细节层次的,远离观察者的地面是低细节层次的。建筑的LOD转换同样是个障碍,因为会有突变的现象,这会降低虚拟体验。为了解决这个问题,同样的建筑模型需要创建不同的细节版本或者用交融方法去解决突变的问题。在文献2中,作者写道由于大量的模型不能同时被转进内
29、存,所以需要仿照电脑操作系统分页存储空间的方法来进行分页调度,我们把它叫做PagedLOD分页形式管理。通俗讲就是只调用用户能看见的区域和将可能看见的区域,也就是可见区域和预可见区域,不可见区域暂时不调用。OSG三维引擎提供的DatabasePager动态数据库技术能够实现海量地形数据的动态调度。DatabasePager是实现PagedLOD分页调度的关键,为进入视野的数据添加请求,长期不使用的数据送入删除队列,需要预编译的数据还能提前进行预编译。DatabasePager能对不在视野内的数据进行卸载,并且有时PagedLOD节点虽然在视野内,但是显示的只是一个细节层次的模型,其他细节层次的
30、子节点数据长期不使用,DatabasePager也能对其进行卸载。在处理海量模型数据和海量地形的大场景时非常有效。在DatabasePager的类中内置了相关的线程,通过不断的循环对数据进行加载卸载。并且判断过期节点有两种方法,一是超过数量模式,设定一个目标的PagedLOD节点数量,未达到数量的话不会进行删除,超过数量再进行判断;二是过期模式,在这种模式下,PagedLOD的细节层次子节点超过设定的时间没使用,就会进行卸载。1.4研究思路在现有的软硬件环境基础上,先学习掌握更为先进的动态管理技术,比如LOD、PagedLOD、DatabasePager等,研究他们动态调度海量三维模型的实现方法和原理。然后建立OGRE环境,载入超大场景和海量三维模型,把这些技术实现到OGRE环境当4丨:j制工程硕士学位论文 基于OGRE的海量三维模型动态调度技术的研究与实现理以及在OGRE中的实现。第四章是基于OGRE的PagedLOD技术的研究与实现,PagedLOD的技术原理以及在OGRE中的实现。第五章是总结与展望,说明本文的工作、创新点、以及以后的工作。1.6应用程序开发的软硬件环境本人用C/C+
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1