logo好方法网

一种游戏画面的渲染方法及装置


技术摘要:
本发明公开了一种游戏画面的渲染方法及装置,该方法包括以下步骤:标记出每个UI界面的显示区域列表和遮挡区域列表,其中,显示区域列表为显示矩形区域的集合,遮挡区域列表为遮挡矩形区域的集合;判断一显示区域列表中的所有显示矩形区域在打开期间,是否被覆盖区域完  全部
背景技术:
随着近年来游戏开发商将目光聚焦于移动平台,并加大移动平台上的游戏开发投 入,移动平台上的游戏不仅数量和种类不断增加,而且游戏内容越来越丰富,UI表现越来越 复杂,对硬件的要求也越来越高。例如,在一些配置比较低的手机上运行游戏时,往往因为 渲染的压力而出现卡顿的问题。 使用遮挡剔除的技术可以减少游戏画面的渲染,提升游戏性能。Unity引擎本身拥 有一套遮挡剔除的机制可以减少渲染,但是,一般来说,UI的绘制流程是独立于3D世界绘制 的,这套机制只能处理场景自身的遮挡剔除。
技术实现要素:
本发明的目的在于提出一种游戏画面的渲染方法及装置,其目的在于针对现有技 术中存在的不足,实现UI界面之间的遮挡剔除,减少渲染开销。 为此,本发明采用以下技术方案: 一种游戏画面的渲染方法,包括以下步骤: 标记出每个UI界面的显示区域列表和遮挡区域列表,其中,所述显示区域列表为 显示矩形区域的集合,所述遮挡区域列表为遮挡矩形区域的集合; 判断一所述显示区域列表中的所有所述显示矩形区域在打开期间,是否被覆盖区 域完全覆盖,其中,所述覆盖区域由位于该所述显示区域列表层级之前所有打开的所述遮 挡区域列表组成; 当该所述显示区域列表被完全覆盖,屏蔽对应的所述UI界面的渲染。 优选的,逐一判断所述显示区域列表的所述显示矩形区域是否被覆盖区域完全覆 盖。 进一步优选的,判断的算法采用线段扫描法。 进一步优选的,使用线段扫描法之前,先判断所述显示区域列表是否超出所述覆 盖区域的上、下、左、右的最大坐标范围。 进一步优选的,线段计数的数据结构采用线段树。 进一步优选的,还包括以下步骤: 判断场景是否被所有打开且未被屏蔽的所述遮挡区域列表组成的区域完全覆盖; 当所述场景被完全覆盖,屏蔽所述场景的渲染。 基于同样的发明构思,本发明还提供了一种游戏画面的渲染装置,包括: 存储模块,用于存储每个UI界面的显示区域列表和遮挡区域列表; 判断模块,用于判断游戏画面是否被完全覆盖; 渲染模块,用于实施或屏蔽游戏画面的渲染。 3 CN 111598984 A 说 明 书 2/5 页 基于同样的发明构思,本发明还提供了一种存储介质,所述存储介质包括存储的 程序,其中,所述程序执行上述的游戏画面的渲染方法。 基于同样的发明构思,本发明还提供了一种处理器,所述处理器用于运行程序,其 中,所述程序运行时执行上述的游戏画面的渲染方法。 本技术方案的有益之处在于: 1、通过把每个UI界面解析成对应的显示矩形区域和遮挡矩形区域,把UI界面之间 的遮挡问题转化成判断一个矩形是否被多个矩形组成的复合区域完全覆盖的问题; 2、线段扫描法结合线段树的算法简单高效; 3、纯CPU计算,免去了向GPU提交数据的开销。 附图说明 图1为本发明使用的扫描线段法的示例。 图2为本发明使用的线段树的示例。
分享到:
收藏