移动游戏应用中的三角形网格细分的方法及装置制造方法及图纸

技术编号:11404608 阅读:86 留言:0更新日期:2015-05-03 20:37
本发明专利技术实施例公开了一种移动游戏应用中三角形网格细分的方法及装置,包括:依次确定各个三角形网格的最长边;分别将各个最长边的边长与边长阈值进行比较,将大于边长阈值的最长边的边长作为键,将键插入红黑二叉树结构中;在红黑二叉树结构中,选取各个键中的最大键;按照预设的细分规则,将与最大键对应的最长边划分为若干段,将原始三角形网格内细分若干个三角形网格;在红黑二叉树中删除最大键。通过本发明专利技术公开的方法及装置,可以逐一对三角形网格中最长边的边长超过边长阈值的边进行切分,将原始三角形网格细分为多个三角形网格,直至每个三角形网格网格的最长边长度小于等于边长阈值,使得在颜色线性插值的过程中平滑过渡,提高视觉效果。

【技术实现步骤摘要】
移动游戏应用中的三角形网格细分的方法及装置
本专利技术实施例涉及三维模型
,尤其涉及一种移动游戏应用中三角形网格细分的方法及装置。
技术介绍
在对三维模型进行光照计算中,逐顶点光照和逐像素光照是两种常用的光照计算算法。逐像素光照是在每个像素处进行光照计算,可以获得很好的视觉效果,但是由于移动终端的GPU(GraphicProcessingUnit,图形处理器)计算能力有限,这种逐像素计算的开销对移动终端的GPU来说是很大的。逐顶点光照可以很好的克服这一问题。逐顶点光照是在顶点着色器中计算光照颜色,为每个顶点计算一次光照颜色,然后通过顶点在多边形所覆盖的区域对像素颜色进行线性插值。对于镶嵌度较高的模型来说,逐顶点光照的性能和效果都足够好。但是对于三角形较少的三角形网格,例如面积较大,边长较长的三角形网格,由于点距较大,在进行颜色线性插值的过程中,无法平滑过渡,导致视觉效果变差。
技术实现思路
本专利技术实施例提供一种移动游戏应用中三角形网格细分的方法及装置,以减小三角形网格的面积,缩小点间距,使得在颜色线性插值的过程中平滑过渡,提高视觉效果。一方面,本专利技术实施例提供了一种移动游戏应用中三角形网格细分的方法,包括:依次确定各个三角形网格的最长边;分别将各个最长边的边长与边长阈值进行比较,将大于所述边长阈值的最长边的边长作为键,将所述键插入红黑二叉树结构中;在所述红黑二叉树结构中,选取各个键中的最大键;按照预设的细分规则,将与所述最大键对应的最长边划分为若干段,将原始三角形网格内细分若干个三角形网格;在所述红黑二叉树中删除所述最大键。优选地,按照预设的细分规则,将与所述最大键对应的最长边划分为若干段,将原始三角形网格内细分若干个三角形网格,包括:选取所述最长边的中点,将所述最长边划分为等长的两段,将所述原始三角形网格中细分成两个三角形网格;或在所述最长边中选取N个点,将所述最长边划分为N+1段,每段长度小于等于所述边长阈值,将所述原始三角形网格细分为N+1个三角形,其中N为正整数。优选地,在将大于所述边长阈值的最长边的边长作为键,将所述键插入红黑二叉树结构中的同时,还包括:将所述键对应的最长边的两端顶点的集合作为值,将所述值插入红黑二叉树结构中。优选地,在所述红黑二叉树结构中,选取各个键中的最大键之前,还包括:在所述红黑二叉树结构中,统计各个值对应的所述顶点的集合中的顶点总数;将所述顶点总数与顶点阈值进行比较,若所述顶点总数小于所述顶点阈值,则执行在所述红黑二叉树结构中,选取各个键中的最大键的过程。优选地,在所述红黑二叉树中删除所述最大键的同时,还包括:在所述红黑二叉树中删除所述最大键对应的值。另一方面,本专利技术实施例提供了一种移动游戏应用中三角形网格细分的装置,包括:最长边确定模块,用于依次确定各个三角形网格的最长边;键插入模块,用于分别将各个最长边的边长与边长阈值进行比较,将大于所述边长阈值的最长边的边长作为键,将所述键插入红黑二叉树结构中;最大键选取模块,用于在所述红黑二叉树结构中,选取各个键中的最大键;网格细分模块,用于按照预设的细分规则,将与所述最大键对应的最长边划分为若干段,将原始三角形网格内细分若干个三角形网格;最大键删除模块,用于在所述红黑二叉树中删除所述最大键。优选地,所述网格细分模块,具体用于选取所述最长边的中点,将所述最长边划分为等长的两段,将所述原始三角形网格中细分成两个三角形网格;或在所述最长边中选取N个点,将所述最长边划分为N+1段,每段长度小于等于所述边长阈值,将所述原始三角形网格细分为N+1个三角形,其中N为正整数。优选地,所述装置还包括:值插入模块,用于将所述键对应的最长边的两端顶点的集合作为值,将所述值插入红黑二叉树结构中。优选地,所述装置还包括:顶点总数统计模块,用于在所述红黑二叉树结构中,统计各个值对应的所述顶点的集合中的顶点总数;顶点总数比较模块,用于将所述顶点总数与顶点阈值进行比较,若所述顶点总数小于所述顶点阈值,则执行在所述红黑二叉树结构中,选取各个键中的最大键的过程。优选地,所述装置还包括:值删除模块,用于在所述红黑二叉树中删除所述最大键对应的值。本专利技术实施例通过一种移动游戏应用中三角形网格细分的方法及装置,可以逐一对三角形网格中最长边的边长超过边长阈值的边进行切分,将原始三角形网格细分为多个三角形网格,直至每个三角形网格网格的最长边长度小于等于边长阈值,使得在颜色线性插值的过程中平滑过渡,提高视觉效果。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种移动游戏应用中三角形网格细分的方法流程示意图;图2为本专利技术实施例提供三角形网格细分示意图;图3为本专利技术实施例提供三角形网格细分示意图;图4为本专利技术实施例提供的一种移动游戏应用中三角形网格细分的方法流程示意图;图5为本专利技术实施例提供的一种移动游戏应用中三角形网格细分的装置的结构示意图;图6为本专利技术实施例提供的一种移动游戏应用中三角形网格细分的装置的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一本专利技术实施例提供了一种移动游戏应用中三角形网格细分的方法,适用于对移动游戏应用中的三角形网格进行逐顶点光照计算的情况下,如图1所示,包括以下步骤。步骤S101,依次确定各个三角形网格的最长边。在步骤S101中,获取三角形网格的三边长度,比较三边长度,将长度最长的一边作为最长边。例如三角形网格△ABC的AB边长为3,BC边长为4,AC边长为5,则AC为△ABC的最长边。步骤S102,分别将各个最长边的边长与边长阈值进行比较,将大于边长阈值的最长边的边长作为键,将键插入红黑二叉树结构中。其中,边长阈值是满足在颜色线性插值的过程中平滑过渡的点间距。例如,△ABC的最长边为AC,长度为5,△DEF的最长边为DF,长度为15;将AC和DF的长度与边长阈值进行比较,例如边长阈值为13,则△DEF的最长边DF的长度大于边长阈值,将DF的长度15作为键插入红黑二叉树结构中。步骤S103,在红黑二叉树结构中,选取各个键中的最大键。在步骤S103中,红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构。若红黑二叉树结构中不存在键,则不存在面积较大,边长较长的三角形网格,不需要对三角网格进行细分。若红黑二叉树结构中,存在至少一个键,则存在至少一个面积较大,边长较长的三角形网格,需要对三角网格进行细分。例如红黑二叉树结构中的各个键分别为14和15,则15为各个键中的最大键。步骤S104,按照预设的细分规则,将与最大键对应的最长边划分为若干段,将原始三角形网格内细分若干个三角形网格。在步骤S104中,可以按照预设的细分规则,将与最大键对应的最长边划分为若干段,是每段的长度小于最大键。并连接该三角形的顶点和最长边的划分点,将原始本文档来自技高网...
移动游戏应用中的三角形网格细分的方法及装置

【技术保护点】
一种移动游戏应用中三角形网格细分的方法,其特征在于,包括:依次确定各个三角形网格的最长边;分别将各个最长边的边长与边长阈值进行比较,将大于所述边长阈值的最长边的边长作为键,将所述键插入红黑二叉树结构中;在所述红黑二叉树结构中,选取各个键中的最大键;按照预设的细分规则,将与所述最大键对应的最长边划分为若干段,将原始三角形网格内细分若干个三角形网格;在所述红黑二叉树中删除所述最大键。

【技术特征摘要】
1.一种移动游戏应用中三角形网格细分的方法,其特征在于,包括:依次确定各个三角形网格的最长边;分别将各个最长边的边长与边长阈值进行比较,将大于所述边长阈值的最长边的边长作为键,将所述键插入红黑二叉树结构中;在所述红黑二叉树结构中,选取各个键中的最大键;按照预设的细分规则,将与所述最大键对应的最长边划分为若干段,将原始三角形网格内细分若干个三角形网格;在所述红黑二叉树中删除所述最大键;其中,在将大于所述边长阈值的最长边的边长作为键,将所述键插入红黑二叉树结构中的同时,还包括:将所述键对应的最长边的两端顶点的集合作为值,将所述值插入红黑二叉树结构中;在所述红黑二叉树结构中,选取各个键中的最大键之前,还包括:在所述红黑二叉树结构中,统计各个值对应的所述顶点的集合中的顶点总数;将所述顶点总数与顶点阈值进行比较,若所述顶点总数小于所述顶点阈值,则执行在所述红黑二叉树结构中,选取各个键中的最大键的过程。2.根据权利要求1所述的方法,其特征在于,按照预设的细分规则,将与所述最大键对应的最长边划分为若干段,将原始三角形网格内细分若干个三角形网格,包括:选取所述最长边的中点,将所述最长边划分为等长的两段,将所述原始三角形网格中细分成两个三角形网格;或在所述最长边中选取N个点,将所述最长边划分为N+1段,每段长度小于等于所述边长阈值,将所述原始三角形网格细分为N+1个三角形,其中N为正整数。3.根据权利要求1所述的方法,其特征在于,在所述红黑二叉树中删除所述最大键的同时,还包括...

【专利技术属性】
技术研发人员:刘龙
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1