[发明专利]一种基于协议方式的三维模型数据处理方法及装置有效
申请号: | 201711091692.5 | 申请日: | 2017-11-08 |
公开(公告)号: | CN107918646B | 公开(公告)日: | 2019-07-02 |
发明(设计)人: | 崔树林;庄滨滨 | 申请(专利权)人: | 珠海百丰网络科技有限公司 |
主分类号: | G06F16/174 | 分类号: | G06F16/174;G06F16/13 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 俞梁清 |
地址: | 519000 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 协议 方式 三维 模型 数据处理 方法 装置 | ||
1.一种基于协议方式的三维模型数据处理方法,其特征在于包括:
编码步骤,将模型文件数据进行编码,分成模型文件头、编组信息和网格数据;
压缩步骤,解析三维模型网格数据,将解析后的模型面数据转换为三角形面数据,动态整理标准几何数据和纹理数据并且剔除无效数据,重新写入编组信息和网格数据;
其中,在所述编码步骤中:
模型文件头包含格式版本号、编组数目、是否启用环境光遮蔽通道、每个分组信息占用的空间;
编组信息包含分组名称、分组顶点数据起始位置、法线数据起始位置、纹理坐标起始位置、环境光遮蔽通道纹理坐标起始位置、顶点数目、面数目、每个面数据占用字节数;
网格数据包括所有分组的顶点、法线、纹理坐标和面数据,并且通过分组信息进行索引;以及
在所述压缩步骤中,写入编组信息包括:
从第一个编组开始,其顶点数据的起始位置为文件头和编组信息占用空间的和,其中将文件头信息占用空间记录为Hsize,将编组个数记为Gcount,单个编组信息长度记为Gsize,首个编组顶点数据起始位置记为Pbegin,则Pbegin=Gcount×Gsize+Hsize;
顶点数据个数即为该分组顶点数据数组的长度,记为Pcount;
当每个顶点数据都是一个由x,y,z组成的三维向量,而每个值占用4个字节,由此顶点数据占用的空间为Psize=Pcount×3×4;
法线的数据起始位置为Nbegin=Pbegin+Pcount+Psize;
法线的数据个数、顶点的数据个数以及纹理坐标的数据个数是一致的,统一为Pcount;
法线数据同样是由一个三维向量组成,纹理坐标数据的起始位置为Ubegin=Nbegin+Psize;
纹理坐标是一个二维向量组成,则面数据的起始位置为Fbegin=Ubegin+Pcount×2×4;
逐个写入编组信息,直到所有编组写入新文件。
2.根据权利要求1所述的基于协议方式的三维模型数据处理方法,其特征在于,所述压缩步骤包括利用三维模型读取库工具对编码的模型文件进行解析,得到模型的网格数据,该三维模型读取库工具包括Assimp开源库。
3.根据权利要求1所述的基于协议方式的三维模型数据处理方法,其特征在于,所述压缩步骤包括:
统一将模型的四边形的面或多边形的面转化为三角形面;
整理标准的网格数据并存储在数组中,然后预先计算数据量;
判断文件是否带有环境光遮蔽纹理坐标通道,有则将环境光遮蔽通道纹理坐标的相关数据存储到数组中。
4.根据权利要求1所述的基于协议方式的三维模型数据处理方法,其特征在于,所述压缩步骤进一步包括:
在整理网格数据时动态地改变面数据所占用的字节数;
为每一个面数据记录定义三个顶点的索引;
当顶点数据个数小于215,两个字节的空间就足够表示所有面索引时,向每个面数据分配两字节的空间;否则分配四字节的空间。
5.一种基于协议方式的三维模型数据处理装置,其特征在于包括:存储器,其储存指令;处理器,用于执行所述指令以实现权利要求1-4中任一项所述方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任一项所述方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海百丰网络科技有限公司,未经珠海百丰网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711091692.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种能够快速脱水的脱水装置
- 下一篇:3D打印组织培养模型的方法