1006设计翻译版面向移动终端的大规模场景_第1页
1006设计翻译版面向移动终端的大规模场景_第2页
1006设计翻译版面向移动终端的大规模场景_第3页
1006设计翻译版面向移动终端的大规模场景_第4页
1006设计翻译版面向移动终端的大规模场景_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DesignandImplementationofALarge-scaleRemoteRenderingSystemforMobileTerminalsAuthor:JunTutor:XiaohuiRemoterenderingformobileterminalsisatechnologyusedbydistributedcollaborativeuserstointeractwiththevirtualscene,whichdoesnotneedtorenderontheserverside,butratherreceivestheinformationofpointofviewsentbytheclientovertheinternet,determineitsvisibility,selecttheappropriatemodeldataandsenditbacktotheclientthroughthenetworkforrendering.Inthispaper,wedesignandimplementalarge-scaleremoterenderingsystemformobileterminals.Thispaperincludesthefollowingworks.First,westudyandimplementthesceneorganizationwithanout-of-coreindexedoctree,throughwhichwecangetsmallscenedatablocks.Second,basedontheblockswejustpartitioned,weimplementawaytopickvisiblesetsunderaparticularviewpoint.Finally,basedonmobileterminals,wedesignandimplementaremoterenderingsystemformobileclients,whichconnectsandtransferdatawithserverviawirelessnetwork,parsingthereceiveddatasetsandusingOpenGLEStechnologytorendermodels.:remoterendering,out-of-core,OpenGL 绪 研究背 国内外研究现 基于传输的数据类型的分 基于绘制位置的分 研究目标与内 课题来 的组织结 相关技术现 模型组 几何压 Socket技 OpenGL 本章小 面向移动终端的大规模场景绘制系统设 系统功能需 设计原 系统总体架构设 系统功能模块详细设 场景组织模块设 可视集选取模块设 网络通信模块设 模型绘制模块设 用户交互模块设 本章小 面向移动终端的大规模场景绘制系统实 系统开发环 场景组织模块实 可视集选取模块实 网络通信模块实 服务器端网络通信模块实 客户端网络通信模块实 模型绘制模块实 用户交互模块实 本章小 系统实 实验环 功能实 实验目 实验过 实验总结与分 性能实 实验目 实验过 实验总结与分 本章小 总结与展 工作总 工作展 致 参考文 绪、个人数字助理(PDA)、平板电脑等移动设备逐渐普及。相PC平台,移动设PC平台移植到移动终端上,如地理信息系统、普适游戏等。然而由于计算机图形技含13,000,000个面片[1]。1.1PowerPlantPC机,移动设备自身也存在着诸多不足,这些不足主要ARM10+MHzARM7(1993年),发展较普遍的配置为1GHz-2GHzIn处理器[2]。虽然目前移动设备处理器已经能够处理一些较复杂的任务,如动画、和复杂的几何应用等,但是其与当前PC的CPU配(2.2GHz-3.6GHz)相比还是存在很大的差图形处理单元。GPU(GraphicProcessingUnit)CPU的一GPUGPU相GPU在短时间内无法器。移动设备通常采用整合式设计,即将CPU、GPU、RAM等放置在同一个上。由于面积的约束,移动设备的容量也有限制,目前主流移动设备的容量为512M-1G,远远低于PC。议主要包括802.11b(即Wi-Fi)、802.11a、802.11g等。无线局域网的传输速率较低,IEEE802.112Mbit/sPC相比,移动设备在网络端利用较高性能的PC进行图形的处理和运算工作,减轻移动设备的处理负担。型,可以将绘制分类如下:传输图像的绘制系统以图像的格式在网络上传输数据,在接收端对其进行型以帧图像的形式传输至客户端,故用户的交互空间在已定义好的路径范围内被限制。比较著名的传输图像的绘制系统有加州大学伯克利的基于网格的分布架i[][]SGI司提出了域网(viulrantok)的概念。视域网指通过标准的网络先进的pnGLPI[]。传输几何模型的绘制系统在网络上传输的是几何模型数据,客户端接收模Web3D技术[8],Web3D以网络浏览器插件的形式服务器端的VRML/X3D数据,在本地显进表示[11],有利于提高实时性。通常传输几何模型的绘制方法为客户端绘制。服务器端绘制。该方法基于可视化服务器实现可视化和协作,使得客户端3D模型的多级别分辨率模型,向客户端发送残余的误差图像和低本课题的目标是,设计实现一个面向移动终端的大规模场景绘制系统。使用换成视点给服务器进行后续处理。研究外存场景组织方法,设计基于外存索引的八叉树构造算法,得到八PC内存的大型场景模型,不能一视在在基于移动终端,设计实现一个绘制系统移动客户端,使用无线网络与服务的几何数据集进行解析,并使用OpenGLES进行场景模型绘制。第一章绪论网络传输技术、几何压缩技术和OpenGLES的相关知识。第三章面向移动终端的大规模场景绘制系统设第四章面向移动终端的大规模场景绘制系统实完成系统的设计后,根据第三章功能需求对系统功能与性能进试实验并给出评价。功能测试主要对系统能否实现基础的绘制功能进试,性能测试主要对于绘制的帧率设置对比实验进试。相关技术景八叉树,在移动客户端使用OpenGLES实现模型的绘制,服务器与客户端间通过socket实现互联及数据传输。本章对相应的技术进行概述。PC机的内存,故一般采用外存模型组织。如何对复杂2.1所示为二维空间下四叉树的建立过程。 2.1几何压缩[15]是Deering在1995年研究方向。几何压缩就是根据几何模型的递进网格压缩方法模式为先传输并显示一个较低精度模型的粗网格,再边传输边显Hoppe1996年首先提出了递进网格(ProgresiveMesh,PM的算法[18],可以将拓扑网格表示为一种无损且连续的编码方式,图2.2为边折叠操作图示。2.2SocketSocket(套接字BSD套接字)是一个应用程序接口,使用一个Internet套接字的概念,使主机之间或者计算机上的进程之间可以互相通信[19]。Socket最初由加利福尼亚的伯克利大学开发,最初用于Unix系统。由于伯克利套接字是第一个套接字,API。SocketI/O设备和驱动上运行。SocketTCP/IPInternet基本技术TCP/IPSocket分成三类[20]:流式套接字(SOCK_STREAM)TCP协议,提供一个面向数据报套接字(SOCK_DGRAM)UDP协议,提供一个原始套接字(SOCK_RAW)。原始套IP、ICMP协API,包括但不限于:WindowsSockets(WinsockJavaSocketsPythonSocketsPerlSockets。虽然调用bind()函数,将套接字与一个套接字地址结构相关联。这个套接字地址结构一般为指定的本地IP地址和端口。调用listen()函数使绑定的套接字进入状态来自客户端的连接请求调用accept()函数,接受一个客户端发来的创建新连接的接入请求,创建一个新的与客户端建立连接之后,可以调用send()和recv()函数,通过建立连接的套接字接close()函数关闭套接字,系统释放分配给套接字的资源,如果该套接字连接使用的是TCP连接,连接将会被中断。 socket()函数,创建一个新的确定类型的套接字接字,则它会试图获得一个新的TCP连接。close()函数关闭套接字。服务器和客户端close()函数,连接都会被关闭。OpenGLOpenGLES(OpenGLforEmbeddedSystems)是OpenGL图形API的子集,针对、OpenGLESOpenGL裁剪而来,相比于OpenGL,去除了很多不是必须的特性,比如四边形(GL_QUADS)和多边形(GL_POLYGONS)(glBegin)(glEnd)操作等[21]。到目前为止,OpenGLES主要可以分为两个主要版本,OpenGLES1.xOpenGL定渲染管线,可以由硬件GPU支持或软件模拟实现,渲染能力有限,在纯软件模拟情况下性能也较弱;OpenGLES2.0OpenGL2.0规范定义的,采用的是可编程渲染管线,渲染能力大大提高。OpenGLES2.0GPU硬件支持,目ES1.0标准在移动终端进行绘制。OpenGLES绘制物体的过程是采用渲染管线实现的。GPUGPU的带宽,提高渲染深度测试:深度测试主要是将片元的深度值与帧缓冲区中的对应位置片元帧缓冲:OpenGLES在绘制物体时,先是将物体在帧缓冲区中绘制,再将绘制颜色缓冲每个面片的颜色值,通常用RGBA(红、绿、蓝、)四个值表示,颜色缓冲区的值就是显示到屏幕上的值;深度缓冲用来每个片元的深度值,若启用本章主要介绍了本文所需要实现的面向移动终端的大规模场景绘制系统在设SoktOpnGLS技术做了详细的介绍。面向移动终端的大规模场景绘制系统设本章主要是两章的基础上,首先分析了面向移动终端的大规模场景绘制系随着计算机技术的日渐发展,智能、平板电脑登移动设备渐渐普及。相较于解决方案,即将三维数据到服务器端,并在服务器端利用较高性能的PC进行图形服务器端场景模型文件,使用外存索引八叉树算法,得到八叉树划分之后PC服务器端和移动移动终端的大规模场景绘制系统的总体架构如图3.1所示。3.1预处理阶段完成后,服务器端开启socket网络功能,并请求socket与服务器端相连,获取初始的视点;此时服务器端根据收到这些数据后,对其中的几何信息进行解析,并使用OpenGLES进行绘制。的视点信息,同样使用socket将新的视点信息传输给服务器端并等待;服务器接收到新模型数据,并使用OpenGLES绘制。为该模块的算法。场景数据,由于其往往不能调入内存进行处理,并且在绘制中,若将文件的数据部分,以单精度浮点数类型依次顶点坐标值;以字符型(即单前面说到,在大规模场景绘制系统中,对于大规模场景进行分块处理,并根据一致。表3.1为视点信息数据结构的定义。3.1出于系统对于发送和接收数据正确性要求较高的考虑,其网络通信模块采用TCP3.2123103.2Android系统中,用户的交互操作主要是触控操作,如单点拖拽、多点触控等。下走等。通过上述表述,可以对用户交互操作与漫游动作做如表3.3对应:3.3面向移动终端的大规模场景绘制系统实功能模块详细设计,本章将对各个模块的实现、模块中算法的流程进行阐述。最低版本为2.2。本系统服务器端的开发环境为Linux系统下的GCCc++语言进行编写;客户端的开发环境为Eclipse集成编译器,使用Java语言进行安卓程序的编写。首先,由于场景模型数据文件的容量可能大于PC的内存容量,故不能读入加入该叶节点中。由于三角形可能多个叶节点,为了不引起数据丢失,在每个与该需要再次检查其是否超过阈值h。4.1图4.2为该算法的流程图。下面对该算法的流程做一个阐述。4.2值改为1;否则,丢弃该块,不进行传输。返回一个用于传送数据的socket。到此,服务器与客户端的连接便建立了起来。intread_int(intfd)doubleread_double(intfd)voidwrite_int(intfd,intdata)voidwrite_float(intfd,floatdata)voidwrite_double(intfd,doubledata)voidwrite_buffer(intfd,char*buffer,int其中,fd为创建socket连接时所返回的socket描述符。read_int(),read_float()和能类似,都是对于send()函数进行封装,保证将完整的数据发送出去。的getInputStream()和getOutputStream()方法获取其输入流和输出流。由于本系统两个平台,PC和移动终端,而且需要实现两个平台之间的网络通intbytesToInt(byte[]b)REQ_NODE请求,即请求服务器传送可视节点数据,并接收和保存响应用户交互操作,在探测到有用户交互操作时,根据操作的不同,改变视点S_CM_E4.3OctreeNodegetOctreeNode()方法,该方法的功能内容提取出来,新一个OctreeNode对象,并将这些内容存放进去,并返回这个对象的。便于更好地管理和操作。Camera类中的成员变量为定义好的视点信息,主要的成员函voidrecvCamera(InputStreamin)voidsetCamera(GL10gl)voidgetLeft(floatdy)voidgetRight(floatdy)voidgetUp(floatdz)其中,sendCamera()函数和recvCamera()函数为对整体视点和接收的一个错误。setCamera()函数中调OpenGLESgluLookAt()函数,通过该函数改方法。获取用户的操作后,根据操作的不同,调用Camera类中的getLeft(),getRight(),getUp(),getDown(),getBackward()方法,对视点进行操作,并setCamera()方法改前两个章节分别介绍了面向移动终端的大规模场景绘制系统的详细设计及核操作系统:UbuntuCPU:In(R)Corie3470内存:4G操作系统:AndroidCPUExynos5410OpenGLES版本:OpenGLES 无线网树叶节点的顶点数为3000,得到的节点文件大小为130KB左右。服务器端开启socket进行,同时在保证无线网络连接的情况下,开启移动5.15.1 52所示为顶点阈值分别为、、、5000时,客户端在交互5.2地绘制时间)较长,在500ms至4s之间。1000ms以上,在交互时表现为总体刷新率较低;在顶点阈总结与面向移动终端的绘制是应用于分布式协同用户对于虚拟场景信息进行交互的首先,研究外存场景组织方法,对于远大于PC内存容量场景数据,采用基于外存索引的八叉树构造算法,对于大规模场景进行划分。对于数据量远大于一般PC内存的服务器端载入PowerPlant模型,开启客户端进行连接和绘制,测试系统是否正常实现致感谢答辩组的各位老师,老师、郝爱民老师、老师、老师,在感谢学长、学长、胡山峰学长,在我系统设计、实现以及实验的最后我要感谢我的,在我毕设过程中,用实际行动督促我,在我失落的信心面对人生中的和。参考[1]DAliaga,etal1MMR:Aninteractivemassivemodelrenderingsystemusinggeometricandimage-basedacceleration[C]11999ACMSymponInteractive3DGraphics,LosAngeles,CA,1999.[2].面向移动设备的图形绘制技术研究 [3].无线局域网(WLAN)标准与实现.计算机与数字工程 [4]全,党岗.基于几何模型的自适应实时绘制技术综述[J].计算机研究与发展,2005,42:277-281.DIVA..2004-ShuShi,MahsaKamali.AHigh-QualityLow-DelayRemoteRenderingSystemfor3D[D].UniversityofIllinoisatUrbana-Champaign,USA,2010.SiliconGraphicsInc.,OpenGLVizserver3.1. Web3D /,2005-JavierLluch,RafaelGait´an.InteractiveThree-DimensionalRenderingonMobileComputerDevices[D].Polytechn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论