[发明专利]一种基于顶点编码的三角网格细分曲面存取方法在审
| 申请号: | 201510895986.8 | 申请日: | 2015-12-07 | 
| 公开(公告)号: | CN105303620A | 公开(公告)日: | 2016-02-03 | 
| 发明(设计)人: | 杜鹏;王毅刚;唐敏;张维泽;赵杰伊 | 申请(专利权)人: | 杭州电子科技大学 | 
| 主分类号: | G06T19/20 | 分类号: | G06T19/20 | 
| 代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杜军 | 
| 地址: | 310018 浙*** | 国省代码: | 浙江;33 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 顶点 编码 三角 网格 细分 曲面 存取 方法 | ||
技术领域
本发明属于计算机检测技术领域,具体涉及一种基于顶点编码的三角网格细分曲面存取方法。
背景技术
三角形网格细分曲面被广泛应用于实体造型、影视渲染、游戏动画制作等领域。它通过对三角形进行细分,使原有网格更加平顺。但是,三角形网格细分曲面存储,通常需要保持顶点坐标和拓扑结构,随着细分层次的增加,细分曲面的单元个数呈几何级数增长,内存占用量急剧上升,最终会导致内存溢出。
目前,通常采用自适应细分的方法来降低三角形网格细分曲面内存占用量,即利用透视投影的机制,对于能够显示在视窗中的三角形单元进行细分,而不能显示的部分不做处理。由于这种方法对视觉效果没有影响,所以被广泛应用于影视渲染和游戏动画制作,但是,这种方法却不适用实体造型,因为实体造型通常需要对所有单元都要进行细分。
为此,本发明提出一种基于顶点编码的三角形网格细分曲面存取方法。本发明通过一种编码方法将不同顶点与其所在的存储位置唯一对应,提高了访存效率,同时利用编码和编码的叠加,可以确定细分曲面内的任意顶点和单元,避免了由于保存细分曲面拓扑结构而带来的内存开销,本方法广泛适用于实体造型、影视渲染和游戏动画,可以提高内存利用率60%以上。
发明内容
针对现有技术所存在的上述技术缺陷,本发明提供了一种基于顶点编码的三角网格细分曲面存取方法,利用一种顶点编码方法将顶点与其所在存储位置唯一对应,提高了内存利用率。
一种基于顶点编码的三角网格细分曲面存取方法,包括如下步骤:
步骤(1)对输入的待细分三角形,依据给定的最大细分层次,对待细分三角形的三个顶点进行编码;
步骤(2)对步骤(1)中的待细分三角形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码;
步骤(3)计算所有顶点编码在顶点数组中的位置,然后将每个顶点的坐标存入顶点数组中该顶点编码对应的位置。
步骤(4)依据最顶层细分曲面三个角点的编码,计算出边中心的编码,进而通过递归方式得到所有细分曲面中三角形单元的顶点编码,依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标。
所述的步骤(1)中,对输入的待细分三角形,依据给定的最大细分层次,对待细分三角形的三个顶点进行编码,具体包括如下步骤:
1-1.依据给定的最大细分层次m,计算出经过m次细分后,在待细分三角形每条边上顶点个数n,
1-2.按照顺时针顺序,用一个十进制整数对待细分三角形的三个顶点进行编码,前两位对应行号,后两位对应列号,具体的:
1-2-1.任意选取待细分三角形中的一个顶点作为起始顶点,行号列号均为1,
1-2-2.沿顺时针方向选取下一个顶点,列号为1,行号为n;
1-2-3.沿顺时针方向选取下一个顶点,列号为n,行号为1;
所述的步骤(2)中,对步骤(1)中的待细分三角形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码,具体包括如下步骤:
2-1.依据细分规则,更新原有顶点坐标,并生成新的边中心点,边中心点编码等于该所在边的两个顶点编码的平均数,
2-2.重复步骤2-1,直至达到最大细分层次。
所述的步骤(3)中计算每个顶点编码在顶点数组中的位置,采用如下公式:
n+n-1+…+n-(number/MAX-2)+number%MAX-1;
其中number为顶点编码,MAX选取刚好大于n的10的整数次幂。
所述的步骤(4)中依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标,其顶点在顶点数组中的位置的计算采用如下公式:
n+n-1+…+n-(number/MAX-2)+number%MAX-1。
所述的步骤(2)中采用Loop方法对三角形进行细分。
本发明有益效果如下:
本发明通过一种编码方法将不同顶点与其所在的存储位置唯一对应,同时利用编码和编码的叠加,可以确定细分曲面内的任意顶点和单元,避免了由于保存细分曲面拓扑结构而带来的内存开销,本方法广泛适用于实体造型、影视渲染和游戏动画,可以提高内存利用率60%以上。
附图说明
图1为本发明三角形网格细分曲面存取方法的步骤流程示意图;
图2(a)为对输入的原始三角形编码;
图2(b)为第一次细分结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510895986.8/2.html,转载请声明来源钻瓜专利网。





