本发明专利技术公开了一种基于顶点编码的四边形网格细分曲面存取方法。本发明专利技术包括如下步骤:(1)对输入的待细分四边形网格模型,依据给定的最大细分层次,为待细分四边形的四个顶点编码;(2)对待细分四边形进行递归细分,直至达到给定的最大细分层次,每次细分过程中,对新生成的顶点进行编码;(3)为细分曲面所有顶点,计算顶点编码在顶点数组中的位置;(4)依据最顶层细分曲面四个角点的编码,计算出边中心和面中心的编码,进而通过递归方式得到所有细分曲面顶点的编码,依据编码计算出该顶点在顶点数组中的位置。本发明专利技术利用顶点编码方法,不需存储细分曲面拓扑结构,就实现对四边形细分曲面顶点的精确定位,提高了内存利用率和存取效率。
【技术实现步骤摘要】
本专利技术属于计算机检测
,具体涉及。
技术介绍
四边形网格细分曲面被广泛应用于实体造型、影视渲染、游戏动画制作等领域。它通过对四边形进行细分,使原有网格更加平顺。但是,四边形网格细分曲面存储,通常需要保持顶点坐标和拓扑结构,随着细分层次的增加,细分曲面的单元个数呈几何级数增长,内存占用量急剧上升,最终会导致内存溢出。目前,通常采用自适应细分的方法来降低四边形网格细分曲面内存占用量,即利用透视投影的机制,对于能够显示在视窗中的四边形单元进行细分,而不能显示的部分不做处理。由于这种方法对视觉效果没有影响,所以被广泛应用于影视渲染和游戏动画制作,但是,这种方法却不适用实体造型,因为实体造型通常需要对所有单元进行细分。为此,本专利技术提出,通过一种编码方法将不同顶点与其所在的存储位置唯一对应,提高了访存效率,同时利用编码的组合,可以确定细分曲面内的任意顶点和单元,避免了由于保存细分曲面拓扑结构而带来的内存开销,本方法广泛适用于实体造型、影视渲染和游戏动画,可以提高内存利用率55%以上。
技术实现思路
针对现有技术所存在的上述技术缺陷,本专利技术提供了,利用一种顶点编码方法将顶点与其所在存储位置唯一对应,提高了内存利用率。,包括如下步骤:步骤(1)对输入的待细分四边形,依据给定的最大细分层次,为待细分四边形的四个顶点编码;步骤(2)对步骤(1)中的待细分四边形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码;步骤(3)计算每个顶点编码在顶点数组中的位置,然后将每个顶点的坐标存入顶点数组中该顶点编码对应的位置。步骤(4)依据最顶层细分曲面四个角点的编码,计算出边中心和面中心的编码,进而通过递归方式得到所有细分曲面中四边形单元的顶点编码,依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标。所述的步骤(1)中对输入的待细分四边形网格模型,依据给定的最大细分层次,为待细分四边形的四个顶点编码,包括如下步骤:1-1.依据给定的最大细分层次m,计算出经过m次细分后每行和每列的顶点个数η,1-2.按照顺时针顺序,采用十进制整数对待细分四边形的四个顶点编码,该十进制整数的前两位对应该顶点所在列的列号,后两位对应该顶点所在行的行号,具体的:1-2-1.任意选取待细分四边形中的一个顶点作为起始顶点,行号列号均为1,1-2-2.沿顺时针方向选取下一个顶点,列号为1,行号为η ;1-2-3.沿顺时针方向选取下一个顶点,行号列号均为η ;1-2-4.沿顺时针方向选取下一个顶点,列号为η,行号为1 ;所述的步骤(2)中,对步骤(1)中的待细分四边形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码,具体包括如下步骤:2-1.依据细分规则,更新原有顶点坐标,并生成新的边中心点和面中心点,边中心点编码为该所在边的两个顶点编码平均数,面中心点编码为所在面对角线上顶点编码平均数;2-2.重复步骤2-1,直至达到最大细分层次。所述的步骤(3)中计算每个顶点编码在顶点数组中的位置,采用如下公式:(number/MAX-1) Xn+number% MAX-1 ;其中number为顶点编码,MAX选取刚好大于η的10的整数次幂;所述的步骤(4)中依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标,其顶点在顶点数组中的位置的计算采用如下公式:(number/MAX-1) Xn+number% MAX-1其中number为顶点编码,MAX选取刚好大于η的10的整数倍。所述的步骤(2)中,采用Catmull-Clark方法对四边形进行细分。本专利技术有益效果如下:本专利技术通过一种编码方法将不同顶点与其所在的存储位置唯一对应,同时利用编码和编码的叠加,可以确定细分曲面内的任意顶点和单元,避免了由于保存细分曲面拓扑结构而带来的内存开销,本方法广泛适用于实体造型、影视渲染和游戏动画,可以提高内存利用率55%以上。
技术实现思路
【附图说明】图1为本专利技术四边形网格细分曲面存取方法的步骤流程示意图;图2(a)为对输入的原始四边形编码;图2 (b)为第一次细分结果;图2 (c)为第二次细分结果;【具体实施方式】为了更为具体地描述本专利技术,下面结合附图及【具体实施方式】对本专利技术的四边形网格细分曲面存取方法进行详细说明。如图1所示,一种基于顶点编码四边形网格细分曲面存取方法,包括如下步骤:步骤(1)对输入的原始四边形,依据给定的最大细分层次,为待细分四边形的四个顶点编码,如图2(a)所示;对输入的原始四边形网格模型,依据给定的最大细分层次,为待细分的四边形四个顶点编码,包括如下步骤:1-1.依据给定的最大细分层次m,计算出经过m次细分后每行和每列的顶点个数η,1-2.按照顺时针顺序,用一个十进制整数对四边形四个顶当前第1页1 2 本文档来自技高网...
【技术保护点】
一种基于顶点编码的四边形网格细分曲面存取方法,其特征在于包括如下步骤:步骤(1)对输入的待细分四边形,依据给定的最大细分层次,为待细分四边形的四个顶点编码;步骤(2)对步骤(1)中的待细分四边形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码;步骤(3)计算每个顶点编码在顶点数组中的位置,然后将每个顶点的坐标存入顶点数组中该顶点编码对应的位置。步骤(4)依据最顶层细分曲面四个角点的编码,计算出边中心和面中心的编码,进而通过递归方式得到所有细分曲面中四边形单元的顶点编码,依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标。
【技术特征摘要】
【专利技术属性】
技术研发人员:杜鹏,王毅刚,唐敏,李胜,赵杰伊,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。