[发明专利]一种移动终端3D模型实现方法和装置有效
申请号: | 201310598189.4 | 申请日: | 2013-11-22 |
公开(公告)号: | CN103617220B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 陈轶;吴远青;王玮;潘腾;郭伟;王旭东 | 申请(专利权)人: | 北京掌阔移动传媒科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06T17/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100026 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 移动 终端 模型 实现 方法 装置 | ||
技术领域
本发明属于移动终端领域,涉及一种应用于移动终端领域中的3D模型实现方法和装置。
背景技术
随着2007年iPhone的火爆,现在全球兴起了智能手机热。人们在日常生活中,会通过智能手机上上网,玩各种应用。根据某些调研机构观察,人们在智能手机上用的最多的应用类型是游戏类应用。而随着智能手机处理器的性能日益提升,很多游戏都开始3D化了,并且一些知名的移动广告平台也准备推出基于3D模型展示的广告类型来与用户进行互动。因此,在手持移动设备上展示3D模型已经是一个必然的趋势了。
然而,尽管移动设备处理器的性能在逐步加强,但考虑到移动设备首要考虑的续航时间、功耗、发热等因素,它们必然无法像桌面电脑处理器性能那么强劲。而目前市面上通用的用于描述3D物体模型的3D-OBJ文件原本是为桌面电脑处理器而开发定制的,并且适应于老旧、臃肿的OpenGL标准。而手持设备上的图形处理器仅支持轻量级的OpenGL标准,即OpenGL ES。因此,这里提供一种适用于移动设备端的3D模型描述格式。
现有的3D-OBJ文件有以下三个重大缺陷:
1、在设备端解析此格式时,内存资源消耗严重。由于文件格式中没有列出模型顶点个数、法线个数、纹理坐标个数以及顶点索引个数,因此设备端要解析时,要么先申请一个很大的内存,那么多次分配小的内存块。对于前者方式,这本身就是对内存资源的浪费。考虑到目
前大部分移动设备的内存都在512MB以下,而分配给每个应用的内存空间往往连50MB都不到,因此当后台应用一多并且当前3D-OBJ文件中所描述的顶点元素一多时,很容易出现因内存不足而使得当前应用崩溃的现象。而若采用后者的方式,会因为过多对内存做动态分配,使得系统的内存池会出现许多垃圾碎片,这个问题对于Android系统而言尤为突出。本格式规范通过在文件开头明确列出顶点坐标个数、纹理坐标个数,使得设备端能恰好分配当前描述文件中所需要的存放顶点坐标数据以及纹理坐标数据的内存资源,不会造成内存资源的浪费。
2、格式本身太过冗余。由于当前3D-OBJ描述文件每一行都对应相应的标识以区分是顶点坐标还是法线坐标或是纹理坐标等。这个不仅会加大描述文件的尺寸,而且也会给设备端的解析带来额外的负担。本格式规范通过在某一类信息之前加一次标识来去除不必要的分类前缀,使得文件大小大大减少。这样既能更快地通过2G或3G网络下载文件,而设备端也能更快地去解析文件。
3、并不适合移动设备端的OpenGL ES标准。由于当前的3D-OBJ描述文件是基于臃肿老旧的OpenGL标准来描述的,因此存在很多OpenGL ES标准不需要的属性。
发明内容
本发明所要解决的技术问题是克服老旧的OpenGL标准并不适合于移动终端,为此,提供一种新的3D描述文件,并据此提供了基于所述3D描述文件的移动终端3D模型实现方法和装置。
本发明解决上述技术问题所采取的技术方案如下:
一种移动终端3D模型实现方法,包括:
终端解析器获取并解析3D描述文件,所述3D描述文件中包括:
3D模型的材质信息、x轴、y轴、z轴的最大和最小值、顶点坐标总数、顶点坐标、纹理坐标以及纹理图片信息;
读取x轴、y轴和z轴的最大和最小值;
读取顶点坐标总数,根据顶点总数分配缓存空间,并将具体的顶点坐标与纹理坐标信息放入到所述缓存空间之中;
基于所述x轴、y轴、z轴的最大和最小值初始化渲染器;
查询3D描述文件并判断其中是否包含三角形绘制模式,当获取到三角形绘制模式时,基于所述三角形的绘制模式和顶点坐标的总数、顶点坐标、纹理坐标信息以及纹理图片绘制相对应的3D模型。
其中,所述初始化渲染器,包括:
根据手机屏幕大小创建并分配视口大小;根据x轴、y轴和z轴的最大和最小值设置正交投影变换。
其中,根据x轴、y轴和z轴的最大和最小值设置正交投影变换,包括:
获取物体在x轴、y轴和z轴的总长度,并分别基于各自的总长度创建对应的x轴、y轴、z轴的两端坐标。
其中,所述3D描述文件中,分别基于一个标识符来定义后续的数字为顶点信息、顶点坐标信息和纹理坐标信息。
其中,所述纹理坐标和顶点坐标的个数与顺序相对应,且所述缓存空间中,基于线性存储的方式存储所述纹理坐标和顶点坐标信息。
其中,所述3D描述模型通过过滤器对Blender3D的3D-OBJ文件转换和过滤生成,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京掌阔移动传媒科技有限公司,未经北京掌阔移动传媒科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310598189.4/2.html,转载请声明来源钻瓜专利网。