欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载
     

    基于OGRE的海量三维模型动态调度技术的研究与实现_硕士学位论文.docx

    • 资源ID:3921047       资源大小:67.99KB        全文页数:67页
    • 资源格式: DOCX        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于OGRE的海量三维模型动态调度技术的研究与实现_硕士学位论文.docx

    基于OGRE的海量三维模型动态调度技术的研究与实现全日制工程硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现工程领域 计算机技术GRE的海量三维模型动态调度技术的研究与实现摘要虚拟现实(VR)是一个新兴的计算机技术,广泛运用于各个行业,为人们的生活带来了极大的改变和方便。在运用VR技术的时候,如果遇到大规模场景,海量的三维模型显示导致计算机的运算速度大大下降,对硬件提出了极高的要求。OGRE (Object-Oriented Graphics Rendering Engine)是一个面向对象的三维渲染引擎,同时支持Direct3D和OpenGL,主要面向游戏场景。但是OGRE中对于海量三维模型的管理能力显得较为不足,不能很好的实现海量三维模型的动态调度。OGRE在管理场景的时候,是以资源组的方式统一加载卸载,不能以单个模型作为加载卸载的单位,这样第一不能很好的把离开当前窗口的物体从内存卸载掉,第二会把当前区域所有细节层次的模型数据全部放于内存中,使得内存不堪重负。所以本论文重点解决这些问题,首先实现以单个模型为单位的动态加载卸载,并且实现了预加载,解决了模型“突现”的问题,然后能对离幵窗口的模型进行判断,过期的模型进行删除,对于采用多个细节层次的情况,没有用到的细节层次模型也会从内存卸载。DatabasePager是动态数据库技术,用来缓解内存压力,能够自动加载卸载需要的数据。LOD技术能缓解渲染压力。PagedLOD技术是结合LOD和DatabasePager技术,能同时缓解渲染和内存的压力。能够根据距离选择不同细节层次的模型,然后也能判断出没有用到的细节层次模型和当前窗口外的模型,通知DatabasePager进行卸载判断。文重点研究DatabasePager、PagedLOD等动态管理技术,将其实现到了 OGRE当中。最终实验采用了大量的三维模型,实现了海量三维模型的动态调度。关键词:虚拟现实大规模场景海量三维模型动态调度 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 people's lives changed dramatically and convenience. Ifyou encounter a large-scale scenes, the use of VR technology, the massivethree-dimensional model of the computer's processing speed is greatly decreasedand raised extreme demands on the hardware. OGRE (Object-Oriented GraphicsRendering, Engine) is an object-oriented 3D rendering 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 loading 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, firstrealization 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 using will bein广西大学学位论文原创性和使用授权声明本人声明所呈交的论文,是本人在导师的指导下独立进行研究所取得的研究成果。除已特别加以标注和致谢的地方外,论文不包含任何其他个人或集体己经发表或撰写的研究成果,也不包含本人或他人为获得广西大学或其它单位的学位而使用过的材料。与我一同工作的同事对本论文的研究工作所做的贡献均已在论文中作了明确说明。本人在导师指导下所完成的学位论文及相关的职务作品,知识产权归属广西大学。本人授权广西大学拥有学位论文的部分使用权,即:学校有权保存并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影印、缩印或其它复制手段保存、汇编学位论文。本学位论文属于:口保密,在 年解密后适用授权。密。(请在以上相应方框内打“ 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. 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 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.KEY WORDS: Virtual Reality; Large-scale scenes; Massive three-dimensionalmodel; Dynamic scheduling; OGRE; DatabasePager; PagedLOD硕士学位论文基于OGRE的海量三维模型动态调度技术的研究Lj实现第一章绪言虚拟现实(VR)是一个新兴的计算机技术,广泛运用于各个行业,为人们的生活带来了极大的改变和方便。它通过计算机的高速计算和存储能力来模拟现实中的场景,具有高效、便利、低成本等等优点。在运用VR技术的时候,如果遇到大规模场景,海量的三维模型显示导致计算机的运算速度大大下降,对硬件提出了极高的要求。OGRE (Object-Oriented Graphics Rendering Engine)是一个面向对象的三维值染引擎,同时支持Direct3D和OpenGL,主要面向游戏场景。OGRE在文档一致性、资源管理模式、完善的动画系统以及阴影系统等方面具有一定的优势。但是OGRE中对于海量三维模型的管理能力显得较为不足,不能很好的实现海量三维模型的动态调度。OGRE在管理场景的时候,是以资源组的方式统一加载卸载,不能以单个模型作为加载卸载的单位,这样第一不能很好的把离开当前窗口的物体从内存卸载掉,第二会把当前区域所有细节层次的模型数据全部放于内存中,使得内存不堪重负。所以本论文重点解决这些问题,首先实现以单个模型为单位的动态加载卸载,并且实现了预加载,解决了模型“突现”的问题,然后能对离幵窗口的模型进行判断,过期的模型进行删除,对于采用多个细节层次的情况,没有用到的细节层次模型也会从内存卸载。DatabasePager是动态数据库技术,能够自动加载卸载需要的数据。PagedLOD技术是结合LOD和DatabasePager技术,能够根据距离选择不同细节层次的模型,然后也能判断出没有用到的细节层次模型和当前窗口外的模型,通知DatabasePager进行卸载判断。本文重点研究DatabasePager、PagedLOD等动态管理技术,将其实现到OGRE当中。1 1研究意义1)城市规划部门的应用需要城市规划部门在进行规划的同时,希望能用软件来辅助进行规划,尤其是虚拟现实的软件,虚拟现实技术将很好的把图形、模型显示在计算机上,并且能进行方便、快速的处理,非常的直观,而且改动起来也非常的方便。以前人们只能用笔和1tabasePager 原理3.1.1DatabasePager动态数据库简介3.1.2DatabasePager 的主要工作3.1.3DatabasePager中的删除数据的判断原理.3.1.4DatabasePager 的基本结构3.1.5DatabasePager 独立测试程序3.2动态调度技术在OGRE中的实现3.2.1准备工作3.2.2DatabasePager 在 OGRE 里的实现3.2.3线程在 OgreDatabasePager 里的实现3.2.4模型进入场景预加载功能的实现3.2.5工作原理图3.2.6核心功能测试程序第四章基于OGRE的PagedLOD技术的研究与实现4.1弓丨言4.2LOD基本原理4.3PagedLOD基本原理4.3.1PagedLOD 简介4.3.2PagedLOD 类结构4.3.3PagedLOD 用法4.4PagedLOD技术在OGRE中的实现4.4.1添加 PagedLOD 节点4.4.2PagedLOD中LOD技术的实现4.4.3PagedLOD 与 DatabasePager 的结合4.4.4PagedLOD 的实现4.5实验结果对比第五章总结与展望参考文献a m攻读硕士学位期间参加的科研项目日制工程硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现纸,画起来不方便,修改起来麻烦,效率也很低下,并且是静态的,不能动态的进行处理。在展示的时候不能很直观的展示给客户。如果用了虚拟现实技术,将能很好的解决这些问题,能动态的展示规划效果,更加直观,更加詢丽。如果只用OGRE,虽然在這染效果和文档一致性上能够发挥OGRE的优点,可惜遇到大场景的时候,OGRE的处理能力略显不足,无法高效管理海量的三维模型。如果能弥补OGRE的这个缺陷,把其他地方现有的动态管理技术运用到OGRE中去,那么将具有重要的现实意义。2)三维地图展示与应用的需要随着计算机的发展,使人们在电脑上观赏和使用三维地图成为可能。但是三维地图相比于原始的二维平面地图来说,数据量巨大,普通的计算机无法承载,或许能装下一个小区,但是一个城市、一个省、一个国家、甚至一个地球的时候将手足无措。所以还是需要应用数学方法,提高软件效率来解决此类问题。OGRE的处理能力较为不足,只能以资源组的方式统一加载卸载资源,不能以单个模型为加载卸载的对象,不能很流畅的在巨大的三维场景中漫游,所以要想办法把更加先进的动态调度技术应用到OGRE当中。3)游戏开发部门的应用需要游戏作为新兴产业,自出现起就吸引了全世界的眼球,尤其是青少年,它的娱乐性、直观性、高效性、方便性让人欲罢不能,逐渐成为人们的主要娱乐休闲活动。OGRE引擎对于游戏的幵发还是非常有用的,有很多游戏中会用到的实用技术。但是游戏不乏有大型场景,比如说模拟飞行游戏,驾驶飞机在高空飞行的时候,视野是很幵阔的,如果用OGRE,显示不了视野内的全部场景,你将会看到地图的边界,这非常影响视觉效果,并且会把场景中所有细节层次的模型全都加载进内存。如果能把先进的动态管理技术运用到OGRE当中来,既能处理海量模型,又能发挥OGRE针对游戏的长处,将具有很重要的现实意义。4)电子竞技运动项目的需要来源于电脑游戏而又高于游戏的电子竞技运动,是新时代产生的一种新兴的体2程硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现育运动,已经被国家体育局列为第99个运动项目,孕育而生一系列的电子竞技比赛、联赛,专业的电子竞技运动员等等。这种运动主要是通过电脑软件硬件来进行比赛,尤其是虚拟现实的软件,比如虚拟足球比赛、虚拟赛车比赛,运动员通过操作电脑来模拟进行踢球、赛车等等,相对于传统的体育项目来说,电子竞技更强调智慧、思维、心里素质等能力。OGRE比较适合开发电子竞技项目的软件,如果能提升OGRE处理大场景的能力,将更好的提高这类软件的效率。5)动画制作部门的应用需要各种经典的3D动画深深地感动着每一个欣赏中的观众。计算机的出现让动画制作显得方便了很多,以前的动画是画师一笔一笔的画,效率非常低下,计算机的快速处理能力能产生连续的动作效果,能只用构建场景一次就能多次多角度使用。超大场景对计算机的硬件要求比较高,毕竟硬件的处理能力是有限的,如果能用软件思想来解决大场景的管理,解决海量三维模型的动态调度,显得更加有意义。1.2选题依据目前计算机图形技术被广泛用于各个领域,给工业生产、城市规划、游戏动画等等带来了极大的方便,近几年的高速发展使越来越多的人感受到虚拟现实的魅力。OGRE作为一个JT?放图形引擎为开发工作者提供了很多帮助,被应用做出各种优美、华丽的场景,OGRE尤其在场景值染和文档一致性方面具有很大的优势,并且能支持OpenGL或者 DirectX。但是,OGRE在处理海量三维模型时,在处理大场景时,劣势突显出来。OGRE不能很有效的管理超大场景,通常只能一次性的把全部数据加载进来,所有细节层次的模型都加载进内存,无法进行动态管理,这对计算机的处理能力提出了极高的要求。如果能把别的引擎、别的地方的动态管理技术应用到OGRE中,那么将具有很大的优势。1.3国内外发展现状1976年,Clark和他的研究小组第一个提出了 level of detail (LOD)模型概念。这个关于LOD的基本想法是当物体只覆盖很小区域的屏幕时,可以使用比较粗糖的物体模3目录m IABSTRACTIll第一章m m11.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.2OGRE三维引擎简介92.2.1OGRE环境搭建92.2.2OGRE场景结构102.2.3OGRE运行时的启动流程112.2.4OGRE的资源管理模式112.3OSG三维引擎简介122.3.1OSG的代码结构122.3.2OSG的场景结构122.3.3OSG中关于动态调度的功能132.3.4OSG的资源管理模式13第三章基于OGRE的DatabasePager技术的研究与实现14V硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现中,在OGRE中实现海量三维模型的动态管理。这其中还要对OGRE引擎进行深入学习,了解其中的机制和原理,这样才能运用自如,才能将这些技术很好的应用到OGRE中。1.5研究内容和论文结构1.5.1研究内容管理海量三维模型是当前虚拟现实研究的热点,有很多实用的技术。在总结和了解有关论文和成果的基础上,着重研究一下几个方面:(1)DatabasePager 技术DatabasePager动态数据库技术是OSG中动态调度技术的核心,能够对数据进行有效的管理,对不用的数据进行必要的卸载。本论文重点研究如何把DatabasePager的原理运用到OGRE环境中。(2)LOD技术LOD技术可以概括为物体在远处和近处可以采用不同的细节层次。(3)PagedLOD 技术所有的模型都按照统一的方式管理,这不是一个明智的选择。PagedLOD技术运用分页管理大大的提高了运行效率。本论文研究如何把PagedLOD技术应用到OGRE环境当中。(4)OGRE环境极其应用OGRE是一个幵放的3D图形引擎,具有很多优点。本文研究如何把动态管理的先进技术应用到OGRE环境当中。1.5.2论文结构本文共分为五章,具体编排如下:第一章是绪言,介绍选题依据、研究意义等内容。第二章是虚拟现实简介,介绍虚拟现实的发展概况和各种特点,并简单介绍了三维引擎OGRE和OSG。第三章是基于OGRE的DatabasePager技术的研究与实现,DatabasePager的技术原5日制工程硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现型2。通俗的讲就是如果离观察者近,就调用精细的模型,如果离观察者远,就调用粗糙的模型。在文献1中,作者写道LOD细节层次技术是对同一个物体在不同的时间带来不同的表现的实践,当物体距离远时调用低层次细节表现,当距离观察者近时调用高层次细节表现。LOD转换使分离的物体的模拟变的非常简单,因为整个物体能被瞬间替换,地形的LOD转换还是有很多问题的,因为地形需要表现一个连续的景象,表面不能有断痕,需要大量不同的细节在这个表面上,距离观察者近的地面是高细节层次的,远离观察者的地面是低细节层次的。建筑的LOD转换同样是个障碍,因为会有突变的现象,这会降低虚拟体验。为了解决这个问题,同样的建筑模型需要创建不同的细节版本或者用交融方法去解决突变的问题。在文献2中,作者写道由于大量的模型不能同时被转进内存,所以需要仿照电脑操作系统分页存储空间的方法来进行分页调度,我们把它叫做PagedLOD分页形式管理。通俗讲就是只调用用户能看见的区域和将可能看见的区域,也就是可见区域和预可见区域,不可见区域暂时不调用。OSG三维引擎提供的DatabasePager动态数据库技术能够实现海量地形数据的动态调度。DatabasePager是实现PagedLOD分页调度的关键,为进入视野的数据添加请求,长期不使用的数据送入删除队列,需要预编译的数据还能提前进行预编译。DatabasePager能对不在视野内的数据进行卸载,并且有时PagedLOD节点虽然在视野内,但是显示的只是一个细节层次的模型,其他细节层次的子节点数据长期不使用,DatabasePager也能对其进行卸载。在处理海量模型数据和海量地形的大场景时非常有效。在DatabasePager的类中内置了相关的线程,通过不断的循环对数据进行加载卸载。并且判断过期节点有两种方法,一是超过数量模式,设定一个目标的PagedLOD节点数量,未达到数量的话不会进行删除,超过数量再进行判断;二是过期模式,在这种模式下,PagedLOD的细节层次子节点超过设定的时间没使用,就会进行卸载。1.4研究思路在现有的软硬件环境基础上,先学习掌握更为先进的动态管理技术,比如LOD、PagedLOD、DatabasePager等,研究他们动态调度海量三维模型的实现方法和原理。然后建立OGRE环境,载入超大场景和海量三维模型,把这些技术实现到OGRE环境当4丨:j制工程硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现理以及在OGRE中的实现。第四章是基于OGRE的PagedLOD技术的研究与实现,PagedLOD的技术原理以及在OGRE中的实现。第五章是总结与展望,说明本文的工作、创新点、以及以后的工作。1.6应用程序开发的软硬件环境本人用C/C+语言结合OGRE幵放3d引擎开发大规模场景的仿真程序,所用的计算机配置为:主机系统: CPU: Intel(R) Core(TM)2 Duo CPU T8100 2.10GHz 2.09GHz内存:2G显卡:NVIDIA GeForce 8400MGS 独立显卡,显存 256M软件环境: 操作系统:winXPsp3编译器:VS2010spl三维模型格式:.mesh格式(OGRE引擎专用格式)6硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现第二章虚拟现实以及相关引擎2. 1虚拟现实简介2.1. 1概念和由来现在有很多关于VR的定义,通常,限制性的方法是定义VR为3D,一个能够让用户通过3维输入输出设备体验的,多重感知的,仿真的,实时的和互动模拟的空间。在这样的研究背景下,VR被定义为一个三维的计算机描述的空间,这个空间用户可以任意移动他的视角。我们因此考虑下面的方式是构成的VR系统,三维多用户聊天(ActiveWorlds 2007),第一人称 3D 视频游戏(Quake 2007),Unreal tournament (Unreal 2007),并且在网络上的3D虚拟空间。2.1.2基本特征和构成一个VR应用程序由不同的部分组成,可以概述如下:1)场景和对象。该场景对应于这些物体所在的世界。包括光,视角,和摄像机。此外,它仍然应该包括一些属性,这些属性是属于这个虚拟世界内部的。例如,重力可以是一个对象在这个世界的一个属性。这个对象有一个虚拟的颜色和材质描述。他们有大小、位置、和方向。2)行为。这些对象可以有行为。例如,他们可以移动,旋转,改变大小等等。3)互动。用户必须能够与虚拟世界中的对象进行互动。例如,用户可以选择一些对象或者他可以拖动一些对象。这个可以是由一些规律的鼠标和键盘来完成或者通过专门的硬件例如一个3D鼠标或者数据手套。4)交流。如今越来越多的虚拟现实应用是一个远程用户可以相互交流的协作环境。为了实现这个目标,网络通讯是十分重要的。5)声音。VR应用同样应该包括声音。在过去的几十年里,为了计算VR应用里的声音,一些研究已经被完成。7日制工程硕士学位论文基于OGRE的海量三维模型动态调度技术的研究与实现2.1.3如何开发一个VR应用在过去的十五年里,一个VR应用的不同部分的开发不是一个简单的工作,大量的软件工具被研发去减少开发者的工作。这些工具可以被分类为创作工具和软件程序库。创作工具:创作工具允许开发者去创建一个静态场景,在应用比较熟练的情况下。不过,他们认为有一些幵发者有VR知识并且一些编程技巧去使用脚本语言去进行编程行为。这些被创作工具使用的脚本语言可以把一个创作工具转变成另外一个。软件程序库。利用一个程序库可以从头开始编程一个完整的虚拟应用。程序库的例子是Java3D、OGRE、OSG等,要使用这样的库,良好的编程知识、VR的知识和计算机图形学都是必需的。在执行之前这些代码需要被编译和连接。它也可以使用播放器,这个播放器可以及时的解释一个3D格式并且生成这个VR应用。VRML和X3D都是3d格式,能够被专门的播放器解释通过一个web浏览器。2. 1.4场景和对象今天,针对于对象建模和场景建模存在着大量的创作工具,而且不用去对他们编程。每一个工具带着他们自己的特点和GUI。因此,一个开发者,知道这个工具支持的特点和他们怎样通过图形界面使用是非常重要的。幵发者同样需要知道哪种文件格式是被支持的。针对他们用的这个播放器(或者用户接口)和这些创作工具的费用,开发者可以选择使用哪种创作工具。最流行的创作工具是3DStudioMax,Maya,;MilkShape3D。如果幵发者是为了针对一个特定的文件格式开发一个VR应用,他们需要去注意这些创作工具支持的文件格式。例如VRML/X3D这种文件格式,不是所有的工具都允许以这种格式输出对象。此外,当行为是嵌入式的时候他们不能总是正确的输出他们。除了这些创作工具,软件程序库也可以用来进行场景建模。但是对于这一点,开发者需要有编程技巧。现有的库有:Performer, Java3D ,OGRE,OSQ 用C4+写的X3D toolkit 或者用javaSD写的Xj3D。这些创作工具能用来创建对象的材料(质地和颜色)到物体上。然而,有时候是不合适的,这个开发工具可能为了适应VR应用程序而需要去修改他。2.1.5行为动作幵发动作和行为总是最困难的任务。通常,行为是用特殊的脚本语言或者编程传统8硕士学位论文基于WRE的海量三维模型动态调度技术的研究与实现语言如java或者C/C+。然而,一些创作工具允许行为直接使用脚本语言。这意味着开发者仍然需要去知道这些脚本语言。此外去建立一个真实的行为,物理引擎需要被使用,这同样增加这个VR应用的复杂性。2.1.6交互交互行为能发生在两种方式上。第一个方式是考虑对象之间的交互行为。当一个交互发生时,这个物体能在交互的影响下产生一定的动作。举个例子,当一个对象和另一个物体相撞时,他的形状(或者颜色)可以改变。因此,碰撞检测是非常重要的。由于支持的碰撞检测不能总是非常有效,开发者必须想办法去改进他。第二个交互的方式是考虑用户和物体之间的。软件程序库总是支持编出用户交互的程序。2.1.7导航当今,虚拟世界总是非常大的。因此,考虑用户如何能在虚拟世界内部导航,而且在其中不会迷路,有两种方法来解决导航问题(例如漫游),但是如果想实现它的话开发者通常需要有非常好的编程技巧和VR知识。2.2 OGRE三维引擎简介OGRE是一个面向对象的开源三维引擎,同时支持DirectX和OpenGL,基于修改的LGPL开源协议。在使用它的源代码之前,需要先进行环境搭建,并且对于新手来说是一个非常头疼的问题,这中间牵扯到很多步骤、很多操作,并且每一步都很容易出错,很容易整到最后才发现根本没有成功。编译的时间也很长,通常要几个小时,建议使用“联机编译"工具,能很好的提高编译的速度。下面来讲解OGRE环境搭建的步骤。2. 2. 1 OGRE环境搭建1、安装DirectxSDK。我用的版本是DXSDKjunl0.exe,双击安装。因为OGRE同时支持OpenGL和DirectX,所以需要先装好这些文件。2、安装联机编译工具incredibuild3_61.exe(不想用联机编译的也可以不安装),中间需要输入你的电脑在局域网的ip地址。联机编译工具是一个非常强大的工具,之前编译这么复杂的软件通常需要几个小时,而使用了联机编译基本可以在一二十分钟内迅速9口制工程硕士学位论文基于OGRE的海量三维模型动态调度技术的研究每实现完成。它的原理是同时使用局域网里的其他机器的cpu起来工作,这样相当于多台电脑在同时工作,效率是一台机器的N倍,建议大家使用。3、编译依赖库Dependence。Dependence是OGRE需要的其他库,添加进去能使OGRE的功能更加广泛。4、把编译好的Dependencies文件夹放到OGRE源码的文件夹里。5、安装cmake工具,我使用的是cmake2.8,双击CMake(cmake-gui)。第一行输入OGRE源码的路径,第二行输入想要生成的工程文件的路径。然后点配置(configure),解决目录里的红色部分,再配置,一直到完全成为白色为止。最后点生成(generate)。6、找到在cmake里输入的生成的工程的文件夹的位置,双击.sin解决方案,编译OGRE源码,最好debug和release版都编译,建议使用联机编译程序,因为工程是dll类型的,所以只需要编译就能生成相应的dll文件。然后要生成INSTALL,将会把相关文件生成到相应的目录。7、设置环境变量,OGREJiOME设成你编译生成的sdk所在的目录,path里加上%OGRE_HOME%Bmdebug,设置完环境变量需要重启电脑。8、将OGRE源码工程的最下面的SampleBrowser设置成启动项目,运行,这是OGRE自带的例子,如果成功说明OGRE环境搭建已经完成。这里面有很多精彩的例子,可以让大家感受到OGRE的魅力。2.2.2 OGRE场景结构OGRE设计的一大特点是场景图和场景内容分离,应用程序和這染过程使用不同的部分。10硕上学位论文基于OGRE的海量三维模型动态调度技术的研究与实现场景图(Scene Graph)挂接场景WI场景WI I场景W(Scene Node)(Scene Node)(Scene Node) 应挂接iJ$I I I 读翻对象 I I 括动对? I I 活淑才? I用(Movable Object) (Movable Object) (Movable Object)XXX继承 I II I (Entity)(Entity)(Entity)包含IIII II I(SubEntity)(SubEntity)(SubEntity) 浪f<.MA誇1 1 I 借可宣觀t象I 可馆染对象I 可馆染对象I 用(Renderable)(Renderable)(Renderable)图2_1 OGRE场景图结构(场景图与场景内容分离)Fig.2-1 OGRE Scene Graph Structure(Scene Graph And Scene Content Separation)2.2.3OGRE运行时的启动流程K构建场景root对象。2、创建在OGRE中的资源,这些资源在后面会用到。3、选择DirectX 或者 OpenGL。4、构建程序窗口,OGRE在里面這染。5、将要使用的资源进行初始化。

    注意事项

    本文(基于OGRE的海量三维模型动态调度技术的研究与实现_硕士学位论文.docx)为本站会员(小小飞)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开