[发明专利]一种游戏画面的渲染方法及装置有效
申请号: | 202010264628.8 | 申请日: | 2020-04-07 |
公开(公告)号: | CN111598984B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 苏梓鑫;汪兴 | 申请(专利权)人: | 厦门极致互动网络技术股份有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06F9/451 |
代理公司: | 厦门仕诚联合知识产权代理事务所(普通合伙) 35227 | 代理人: | 乐珠秀 |
地址: | 361000 福建省厦门市思明*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 游戏 画面 渲染 方法 装置 | ||
1.一种游戏画面的渲染方法,其特征在于,包括以下步骤:
标记出每个UI界面的显示区域列表和遮挡区域列表,其中,所述显示区域列表为显示矩形区域的集合,所述遮挡区域列表为遮挡矩形区域的集合;
判断一所述显示区域列表中的所有所述显示矩形区域在打开期间,是否被覆盖区域完全覆盖,其中,所述覆盖区域由位于该所述显示区域列表层级之前所有打开的所述遮挡区域列表组成;逐一判断所述显示区域列表的所述显示矩形区域是否被所述覆盖区域完全覆盖;判断的算法采用线段扫描法,包括以下步骤:
取出组成覆盖区域的所有矩形区域的顶边和底边,分别做上顶边和底边的标记,放入一个有序集合内,按照Y轴位置进行排序;
从Y轴位置最小的边依次往上遍历;
当扫描到底边时,则对底边对应的X轴区间的计数加1,反之,扫描到顶边时,则对顶边对应的X轴区间的计数减1;
从扫描的位置大于待检测矩形的底边的Y轴位置开始,每扫描到一条边,检测一次待检测矩形的左右两边之间的X轴区间的计数是否始终大于0,直到扫描位置大于等于待检测矩形的顶边的Y轴位置结束;
当一次扫描过程中,待检测矩形的X轴区间的计数等于0时,则确定待检测矩形没有被完全覆盖;如果扫描位置到达待检测矩形的顶边的Y轴位置之前,都没出现过计数等于0的情况,则确定该矩形被完全覆盖;
线段计数的数据结构采用线段树,构建线段树的方法包括以下步骤:
初始化根节点,根节点的范围为整个屏幕的宽度;
设置或移除计数,传入需要设置或移除计数的区间,从根节点开始往下检查;
若传入区间等于当前检查节点的区间,则对该节点的计数相应加1或减1,停止递归;若传入区间为0,也停止递归,但不加减计数;若传入区间小于该节点的区间,则判断传入区间是否横跨该节点的区间的中点;若是,则以该中点划分传入区间为两个区间,分别传入该节点的两个子节点进行递归;若否,则判断传入区间属于该节点的左半部分子区间还是右半部分子区间,传入对应的子节点进行递归;
往下递归直至完成传入区间的计数;
当该所述显示区域列表被完全覆盖,屏蔽对应的所述UI界面的渲染。
2.根据权利要求1所述的游戏画面的渲染方法,其特征在于,使用线段扫描法之前,先判断所述显示区域列表是否超出所述覆盖区域的上、下、左、右的最大坐标范围。
3.根据权利要求1所述的游戏画面的渲染方法,其特征在于,还包括以下步骤:
判断场景是否被所有打开且未被屏蔽的所述遮挡区域列表组成的区域完全覆盖;
当所述场景被完全覆盖,屏蔽所述场景的渲染。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门极致互动网络技术股份有限公司,未经厦门极致互动网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010264628.8/1.html,转载请声明来源钻瓜专利网。