[发明专利]一种生成多细节层次网格的方法在审
申请号: | 201811294763.6 | 申请日: | 2018-11-01 |
公开(公告)号: | CN109685874A | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 郭嵩;吕文伟 | 申请(专利权)人: | 苏州蜗牛数字科技股份有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T17/20 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王金双 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 细节层次网格 附加信息 降采样 贴图 裂缝 等级对应 体素数据 有效解决 内部体 重映射 拉伸 体素 外漏 网格 地形 记录 | ||
一种生成多细节层次网格的方法,包括以下步骤:对体素数据进行降采样,记录附加信息;利用所述附加信息,缝补降采样后不同等级体素之间的裂缝;重映射顶点上的贴图坐标。本发明的生成多细节层次网格的方法,有效避免了内部体素外漏,有效消除不同多细节层次之间出现裂缝,能够有效解决高等级多细节层次网格上贴图被拉伸的问题,以比较小的代价生成地形的各多细节等级对应的网格。
技术领域
本发明涉及游戏引擎开发技术领域,特别涉及一种生成体素地形多细节层次网格的方法。
背景技术
目前,主流三维游戏一般都需要庞大、精致的游戏世界。所谓的庞大的游戏世界,一般都需要庞大的地形来支持。由于游戏是一个实时渲染的应用,对于效率非常敏感,如果直接完全渲染一个庞大的地形,对于游戏这种实时渲染的应用来说还是很难完全做到的。针对这种问题,多数游戏都采用了多细节层次网格的方法,在超大地形和性能之间做一个平衡,即远处的使用低细节的网格(Mesh)渲染,近处的使用高细节网格渲染。通过使用多细节层次(LOD)技术,可以渲染出超大的地形,而对性能影响很小。
对于基于高度图的地形使用多细节层次(LOD)目前已经是一种非常成熟的技术。但对于最近流行起来的基于体素的地形还没有一套完整的解决方案。由于基于体素的地形相比较基于高度图的地形,高度上多了一个维度,整体的复杂性增加了许多,基于体素地形的使用多细节层次(LOD)网格,会产生如下的技术问题:1)基于体素地形的多细节层次(LOD)网格之间会产生裂缝;2)高等级LOD网格上贴图会被拉伸;3)高等级网格会产生失真现象等。
因此,亟需一种基于体素地形多细节层次(LOD)网格生成的方法,能够有效解决这些问题,且不会对性能产生影响的方法。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种生成多细节层次网格的方法,基于体素地形,能够以比较小的代价生成地形的各等级LOD对应的网格(Mesh),对性能也不会产生影响。
为实现上述目的,本发明提供的生成多细节层次网格的方法,包括以下步骤:
1)对体素数据进行降采样,记录附加信息;
2)利用所述附加信息,缝补降采样后不同等级体素之间的裂缝;
3)重映射顶点上的贴图坐标。
进一步地,所述步骤1)中对体素数据降采样生成多细节层次需要的体素数据的步骤,进一步包括:
是将相邻的八个体素,降采样后变成一个体素;
确定降采样后的体素类型。
进一步地,所述体素类型包括:实心体素、空心体素和半透明体素。
进一步地,所述确定降采样体素类型的步骤,进一步包括:
具有外部的体素类型,则选择外部的体素类型作为降采样后的体素类型;
没有外部的体素类型,则选择内部体素类型中个数较多的一个体素类型作为降采样后的体素类型。
进一步地,步骤1)所述记录附加信息的步骤,是记录体素数据降采样前的体素类型。
进一步地,所述缝补降采样后不同等级体素之间的裂缝的步骤,是采用高等级的细节层次适应低等级细节层次的方法来进行缝补。
进一步地,所述步骤2)进一步包括,控制渲染阶段相邻的多细节层次等级相差不大于一个等级。
更进一步地,所述步骤2)进一步包括以下步骤:
当前体素类型为实心体素,缝补与相邻空心体素对应的面;
当前体素类型为实心体素,缝补与相邻半透明体素对应的面;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811294763.6/2.html,转载请声明来源钻瓜专利网。