[发明专利]基于移动设备的三维模型混合渲染系统及其方法在审
申请号: | 201710832712.3 | 申请日: | 2017-09-15 |
公开(公告)号: | CN107622519A | 公开(公告)日: | 2018-01-23 |
发明(设计)人: | 王慧青;焦越;田珊珊;王冲 | 申请(专利权)人: | 东南大学 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06F3/14;H04L29/06;H04L29/08 |
代理公司: | 南京众联专利代理有限公司32206 | 代理人: | 叶涓涓 |
地址: | 211189 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 移动 设备 三维 模型 混合 渲染 系统 及其 方法 | ||
技术领域
本发明属于计算机图形处理技术领域,涉及三维可视化渲染技术,更为具体的说,是涉及基于移动设备的三维模型混合渲染系统及渲染方法。
背景技术
三维可视化技术一直都是业界研究的热点,移动设备技术也在不断发展,这就推动了基于移动平台的可视化软件的产生。近年来,国内外涌现了很多比较成熟的三维可视化平台,如ArcGIS、Skyline、Super Map、Imagine Virtual GIS、CityMaker等。但在移动端,三维可视化研究对平台的依赖性相对比较强。
由于计算速度和内存等硬件条件的限制和交互性的要求,移动端很难胜任复杂三维场景的渲染工作,这是其与传统的PC渲染平台相比的天然劣势。而伴随着网络的普及和带宽的提升,越来越多的应用开始采用基于客户端/服务器模式的远程渲染方法,将庞大的三维数据和复杂耗时的渲染工作放在性能较强的服务器,而移动设备只承担显示工作。这样能够大大减轻移动端的负担,提升渲染的效率。在国内外学者的研究方面,J Lluch等人采用客户端/服务器模式,基于OpenGL ES和PocketPC实现三维模型的动态渲染,受限于当时的硬件条件,渲染的效率并不高,有较为明显的延迟。Haifa Raja Maamar等描述了一种利用远程渲染的移动三维可视化方法,解决了移动三维可视化目前存在的用户体验质量较低的问题,进而提出了面向移动的三维网格传输方法。薛晨基于C/S架构在Android移动端利用了OpenGL ES实现了三维模型多层次的显示;赖冬林提出利用远程渲染方法实现高效的移动三维GIS可视化表达,并验证了其可行性和实用性。
在目前,国内外采用客户端-服务器模式的三维渲染模型主要是将所有的工作全部放在客户端或者服务端,另外一端只负责存储或者显示。而当渲染完全由服务器承担时,需要向移动端传输大量的数据,这就对带宽提出了很高的要求,实际应用中常常由于传输速度限制导致渲染后的数据不能够及时传输到移动端,而严重影响用户的体验效果。
发明内容
为解决上述问题,本发明提出了一种混合渲染的方法,将较为耗时的复杂的计算工作放在服务器进行,而移动设备作为客户端负责模型的渲染和显示,大大减轻了移动设备的负担,提升了渲染显示的效率。
为了达到上述目的,本发明提供如下技术方案:
基于移动设备的三维模型混合渲染系统,包括服务器和客户端,所述服务器用于从文件中读取三维数据和对数据进行简化计算并将数据传输至所述客户端;所述客户端运行在移动设备上,用于对数据进行重新组织后使用OpenGL ES对三维模型进行渲染和显示;所述客户端和服务器之间采用TCP/IP的方式进行通信,使用字符串流的方式进行过滤传输。
进一步的,所述服务器的数据中保留了顶点和面之间的拓扑关系;所述客户端的数据中保留了顶点的必要属性。
进一步的,所述服务器和客户端均采用索引数组的方式组织数据。
基于移动设备的三维模型混合渲染方法,包括以下步骤:
第一步,服务器读取三维模型文件,解析数据并按照一定的格式存储到内存中;
第二步,服务器对三维网格数据进行简化计算,并保存简化后的数据;
第三步,服务器与移动设备上的客户端建立TCP/IP连接,服务器将简化后的数据发送给客户端;
第四步,客户端接收服务器发送来的数据,对数据进行重新组织,使其符合OpenGL ES渲染的要求,然后使用OpenGL ES对三维模型进行渲染和显示。
进一步的,所述第一步包括如下步骤:
服务器从硬盘中读取三维obj文件,obj文件存储了模型三角面片的顶点、法线、纹理坐标和材质信息,并采用顶点索引算法将文件中存储的顶点数组组成多边形;
服务器对文件进行解析时首先解析每一行开头的字母,判断该行属于那一类的信息,将顶点和面信息分别存入相应的列表中,其中,面采用顶点索引的方式进行保存,服务器在保存面的时候,还同时完善点和面的其他信息。
所述其他信息包括相邻的顶点和面的信息,以及面的面积和法向量。
进一步的,所述第二步中的简化计算包括如下步骤:
步骤1,读取三维网格中所有的顶点和面,计算其基础二次方矩阵和初始二次误差矩阵并保存在顶点属性中,二次误差矩阵中包括面积因素;
步骤2,计算每条边折叠的估计误差和新顶点的位置,在折叠后新顶点的代价中包含法向量约束,将最小的折叠代价以及对应的新顶点和原顶点的位置存入顶点属性中,并将折叠误差插入优先队列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710832712.3/2.html,转载请声明来源钻瓜专利网。