[发明专利]一种三维模型的压缩存储方法及系统在审
申请号: | 201310704136.6 | 申请日: | 2013-12-18 |
公开(公告)号: | CN103729864A | 公开(公告)日: | 2014-04-16 |
发明(设计)人: | 余欣 | 申请(专利权)人: | 珠海金山网络游戏科技有限公司;广州西山居世游网络科技有限公司 |
主分类号: | G06T9/00 | 分类号: | G06T9/00 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 陈国荣 |
地址: | 519000 广东省珠*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 三维 模型 压缩 存储 方法 系统 | ||
技术领域
本发明涉及数据存储领域,特别是一种三维模型的压缩存储方法及系统。
背景技术
三维模型是物体的多边形表示,由顶点和三角形索引等数据组成,顶点数据又由X、Y、Z三个浮点分量构成,一个浮点占用4个字节,即一个顶点占用12个字节,当模型的顶点数量增加时,模型所占用的存储空间也随之增加,这在程序的应用上或软件的实际运行中,不仅会增加传输和存储的成本,也会限制模型顶点的数量和三角形数量的使用。特别是在游戏领域中的应用,一个游戏软件中包含有大量的数据,而模型数据则占用了庞大比例的存储空间,存储成本的提高和传输负担的增加,必定会增加游戏发布和推广等一系列的成本。因此,如果能有效降低三维模型数据的占用空间,对于其它软件尤其是游戏软件的运营和维护,都具有重大意义。
发明内容
为解决上述问题,本发明的目的在于提供一种三维模型的压缩存储方法及系统,减小三维模型的存储空间,降低模型数据的运输负担,提升软件的运行效率。
本发明解决其问题所采用的技术方案是:
本发明的优选实施例提供了一种三维模型的压缩存储方法,包括:
顶点坐标获取的步骤,遍历三维模型的所有顶点,获取所有顶点的三维坐标;
最大最小顶点获取的步骤,对比出所有顶点在每一维坐标中的最大和最小值,得到以三个最大值组成的最大顶点和以三个最小值组成的最小顶点;
中点和半径获取的步骤,获取最大顶点和最小顶点之间的中点和半径;
顶点存储的步骤,将三维模型的所有顶点通过中点和半径转化为整数进行存储。
顶点存储的步骤中,任一顶点在存储时,将此顶点减去中点后除以半径,再乘以32767取整后进行存储。这样所存储的数据为整数类型,可以减小存储空间。因为浮点数据存储占用32位,而整数类型数据占用16位,在实际应用中可以减少50%的存储空间,极大地节省了存储空间的使用。
所述压缩存储方法还包括顶点读取的步骤:
读取中点和半径,同时读取顶点取整后存储的三个数值,将此三个数值分别除以32767后乘以半径,再与中点相加,作为相应顶点的坐标值;或者
读取中点和半径,同时读取顶点取整后存储的三个数值,将此三个数值分别乘以半径后除以32767,再与中点相加,作为相应顶点的坐标值。
顶点在读取时,将存储的顶点还原即可。本发明简单易行,且节约存储空间和传输时间,进而降低存储成本和提升软件运行效率。
本发明的优选实施例提供了一种三维模型的压缩存储系统,包括:
顶点坐标获取模块,遍历三维模型的所有顶点,获取所有顶点的三维坐标;
最大最小顶点获取模块,对比出所有顶点在每一维坐标中的最大和最小值,得到以三个最大值组成的最大顶点和以三个最小值组成的最小顶点;
中点和半径获取模块,获取最大顶点和最小顶点之间的中点和半径;
顶点存储模块,将三维模型的所有顶点通过中点和半径转化为整数进行存储。
此压缩存储系统还包括顶点读取模块:
读取中点和半径,同时读取顶点取整后存储的三个数值,将此三个数值分别除以32767后乘以半径,再与中点相加,作为相应顶点的坐标值;或者
读取中点和半径,同时读取顶点取整后存储的三个数值,将此三个数值分别乘以半径后除以32767,再与中点相加,作为相应顶点的坐标值。
本发明的有益效果是:
本发明采用一种三维模型的压缩存储方法和系统,在存储三维模型的顶点时,将浮点数据转换为整数数据进行存储,压缩50%的存储空间,减少存储的成本;在读取顶点时,读取整数操作与读取浮点操作相比,可以极大提升读取的速度,提升读取的效率。本发明可以极大地提升软件的运行,尤其是包含有大量三维模型数据的游戏软件。
附图说明
下面结合附图和实例对本发明作进一步说明。
图1是本发明方法的流程图;
图2是顶点坐标获取的流程图;
图3是最大最小顶点获取的流程图;
图4是中点和半径获取的流程图;
图5是顶点存储的流程图;
图6是顶点读取的流程图。
具体实施方式
以下参照附图对本发明作进一步详细的说明和解释。
作为本发明实现的一种三维模型的压缩存储方法,参照图1所示的流程图,包括:
顶点坐标获取的步骤100,三维模型具有多个顶点,不同的顶点在三维坐标的X、Y、Z轴的坐标不同,参照图2中的步骤202与步骤204,遍历三维模型的所有顶点,即可获取所有顶点的坐标;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;广州西山居世游网络科技有限公司,未经珠海金山网络游戏科技有限公司;广州西山居世游网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310704136.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种太阳能发电警银亭
- 下一篇:一种主板四路电源输入控制系统