[发明专利]大规模场景遮挡剔除方法、装置、设备及存储介质有效
申请号: | 201911107500.4 | 申请日: | 2019-11-13 |
公开(公告)号: | CN112802175B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 王亮;肖鹏 | 申请(专利权)人: | 北京博超时代软件有限公司 |
主分类号: | G06T17/00 | 分类号: | G06T17/00 |
代理公司: | 北京市鼎立东审知识产权代理有限公司 11751 | 代理人: | 陈佳妹;贾满意 |
地址: | 100089 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大规模 场景 遮挡 剔除 方法 装置 设备 存储 介质 | ||
1.一种大规模场景遮挡剔除方法,其特征在于,包括:
对大规模场景数据进行组织,得到与所述大规模场景数据相应的场景图;
根据空间相机参数构建三维场景中的虚拟相机,并创建与所述虚拟相机相匹配的深度图;其中,所述深度图中包含所述场景图中各场景模型的深度;
确定所述深度图的有效屏幕坐标范围,并根据所述有效屏幕坐标范围构建四叉树;其中,所述四叉树的各块中像素个数大于或等于预设数值;
遍历所述场景图中的各所述场景模型,并获取各所述场景模型的屏幕空间位置以及各所述场景模型的最小深度值;
基于各所述场景模型的屏幕空间位置以及各所述场景模型的最小深度值,遍历所述四叉树,确定各所述场景模型的遮挡结果;
将确定出所述遮挡结果为被遮挡的场景模型进行剔除处理;
其中,根据空间相机参数构建三维场景中的虚拟相机时,包括获取所述空间相机参数,并根据所述空间相机参数得到所述虚拟相机的投影矩阵的步骤;
其中,所述空间相机参数包括:视点位置、视角中心、视口宽度、视口高度、相机角度、近平面和远平面中的至少一种;
所述投影矩阵为:
其中,near为所述虚拟相机椎体内的近裁剪平面,far为所述虚拟相机椎体内的远裁剪平面,top为近裁剪平面的视觉顶点,bottom为近裁剪平面的视觉低点,left为近裁剪平面的左边界,right为近裁剪平面的右边界;
其中,各所述场景模型的深度包括各所述场景模型相对于所述虚拟相机的距离;
其中,创建与所述虚拟相机相匹配的深度图包括:
获取所述场景图中各所述场景模型相对于所述虚拟相机的距离,并创建与所述虚拟相机的视口宽度和视口高度相匹配的初始深度图;
将各所述场景模型相对于所述虚拟相机的距离实时渲染至所述初始深度图后,得到相应的所述深度图;
其中,各所述场景模型相对于所述虚拟相机的距离通过公式:计算得到;
其中,z为视点距离,Zc为深度;
其中,获取各所述场景模型的屏幕空间位置以及各所述场景模型的最小深度值,包括:
基于所述场景图获取各所述场景模型的包围盒信息,并将各所述场景模型的包围盒的八个角点的模型空间坐标转换到屏幕空间,得到相应的各场景模型的屏幕空间位置;
根据各所述场景模型的包围盒的八个角点的屏幕空间坐标,计算得到各所述场景模型的包围盒的八个角点的深度值;
由八个角点的深度值中提取出数值最小的深度值作为各所述场景模型的最小深度值;
其中,将各所述场景模型的包围盒的八个角点的模型空间坐标转换到屏幕空间时,通过公式:Coords=Coordm×M×V×P×W转换得到;
其中,Coordm为角点模型空间坐标;Coords为角点屏幕空间坐标;M为所述场景模型的模型矩阵;V为所述虚拟相机的视图矩阵;P为所述虚拟相机的投影矩阵;W为所述虚拟相机的视口矩阵;角点的深度值为角点屏幕空间坐标的z值;
其中,基于各所述场景模型的屏幕空间位置以及各所述场景模型的最小深度值,遍历所述四叉树,确定各所述场景模型的遮挡结果,包括:
基于各所述场景模型的屏幕空间位置,遍历所述四叉树,确定各所述场景模型是否到达至所述四叉树中的叶节点;
在所述场景模型到达至所述四叉树中的叶节点时,确定所述遮挡结果为未被遮挡;
在所述场景模型未到达至所述四叉树中的叶节点时,基于各所述场景模型的最小深度值,确定各所述场景模型的遮挡结果。
2.根据权利要求1所述的方法,其特征在于,所述有效屏幕坐标范围为包含所述深度图中所有场景模型的深度信息的最小矩形区域;
所述预设数值的取值为16。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京博超时代软件有限公司,未经北京博超时代软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911107500.4/1.html,转载请声明来源钻瓜专利网。