[发明专利]一种删除网格上冗余三角形的方法在审
申请号: | 201810436742.7 | 申请日: | 2018-05-09 |
公开(公告)号: | CN108776986A | 公开(公告)日: | 2018-11-09 |
发明(设计)人: | 郭嵩;吕文伟 | 申请(专利权)人: | 苏州蜗牛数字科技股份有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王金双 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网格 删除 冗余 渲染 图形处理单元 三角形合并 计算能力 三角化 重叠边 遍历 算法 带宽 | ||
本发明提供的一种删除网格上冗余三角形的方法,包括以下步骤:1)遍历网格上的三角形,将所有三角形合并到不同的多边形中;2)在每个多边形内,进行重叠边的删除,简化多边形;3)对简化后的多边形进行三角化,生成新的网格。本发明通过使用该算法,能够将三角形和顶点数较多的网格变为三角形和顶点数相对较少的网格,并且使得网格外观和主要顶点保持不变。通过对网格(Mesh)上冗余的三角形进行删除,减少网格(Mesh)上三角形和顶点的数量,降低渲染时对图形处理单元(GPU)计算能力和带宽的需求,从而提高渲染效率。
技术领域
本发明涉及计算机图形处理技术领域,特别涉及一种删除网格上冗余三角形的方法。
背景技术
在计算机图形学中,最常使用的是使用网格来拟合物体,目前构成网格的基本图元主要是使用三角形。在图形处理单元(GPU)中对网格进行渲染的时候,也是以网格上的顶点或者三角形作为一个渲染单位来进行计算,而要模拟一个复杂的物体是需要大量的三角形和顶点。网格中三角形数量的多少,直接会影响到顶点的数量,从而影响到渲染的效率。
在目前环境下,虽然图形处理单元(GPU)的运算能力有了很大的提高,但是图形处理单元(GPU)在单位时间内的计算能力以及带宽都是有限的,并且由于玩家对游戏画质追求的提高,所以在当前的环境下,游戏中会有大量的网格(Mesh),由于存在大量的网格(Mesh),图形处理单元(GPU)的渲染仍然是很容易出现瓶颈的一个地方。为了使得在不牺牲画质的前提下,尽可能提高渲染效率,就需要使用尽可能少的三角形去拟合物体。在此背景下,网格(Mesh)中冗余三角形删除的算法就应运而生。目前大多数的删除冗余三角形的算法都比较复杂,而且一般都在离线的环境中使用,比如3dsmax或者Maya中使用较多。但在游戏中,我们有时需要实时地进行网格(Mesh)中冗余三角形的删除。
综上所述,目前亟需一种直接运用到游戏中的相对效率较高的冗余三角形删除算法。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种删除网格上冗余三角形的方法,通过一些手段(比如使用哈希表等进行相邻边的查找)进行加速,从而提高删除三角形的效率,能够在游戏等一些实时性要求较高的产品中使用。
为实现上述目的,本发明提供的一种删除网格上冗余三角形的方法,其特征在于,包括以下步骤:
1)遍历网格上的三角形,将所有三角形合并到不同的多边形中;
2)在每个多边形内,进行重叠边的删除,简化多边形;
3)对简化后的多边形进行三角化,生成新的网格。
进一步地,步骤1)所述将所有三角形合并到不同的多边形中,进一步包括:
取出网格中的第一个三角形,并根据该三角形建立多边形;
检测网格中剩余的三角形,将符合合并规则的三角形与多边形合并,形成新的多边形。
进一步地,所述合并规则由以下条件中的一个或多个组成:三角形与多边形共边且法线相同,纹理坐标连续,贴图相同。
进一步地,步骤1)所述遍历网格上的三角形,是通过使用哈希表数据结构存储三角形的三个顶点数据进行优化,查找到相邻边。
进一步地,所述步骤2)包括:遍历多边形所有的边,查找重叠边;删除所述重叠边中的一条,直至多边形中没有重叠边为止。
进一步地,所述重叠边,是指连续的三个顶点确定的相邻的两条边重合。
进一步地,所述步骤3)进一步包括以下步骤:
合并多边形上的冗余边;
使用耳切法对多边形进行三角形化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810436742.7/2.html,转载请声明来源钻瓜专利网。