【技术实现步骤摘要】
大规模场景遮挡剔除方法、装置、设备及存储介质
[0001]本公开涉及计算机视觉
,尤其涉及一种大规模场景遮挡剔除方法、装置、设备及存储介质。
技术介绍
[0002]大规模复杂场景的可见性问题是研究虚拟现实、实时仿真以及三维交互设计等许多重要应用的基础。遮挡剔除算法是可见性问题研究中的支撑技术,可以大量减少当前所需渲染的场景模型数量,对于大规模场景实时绘制能够起到明显的优化作用。
[0003]在大多数的三维可视化软件中,通过采用预计算原始的PVS(潜在可见物体集)来判断场景中模型之间的遮挡关系,从而再过滤掉被遮挡的模型。但是,预计算原始的PVS需要占用额外的大量内存,可见性烘焙时间较长。
技术实现思路
[0004]有鉴于此,本公开提出了一种大规模场景遮挡剔除方法,可以有效减少内存消耗,提高渲染效率。
[0005]根据本公开的一方面,提供了一种大规模场景遮挡剔除方法,包括:
[0006]对大规模场景数据进行组织,得到与所述大规模场景数据相应的场景图;
[0007]根据空间相机参数构建三维场景中的虚拟相机,并创建与所述虚拟相机相匹配的深度图;其中,所述深度图中包含所述场景图中各场景模型的深度;
[0008]确定所述深度图的有效屏幕坐标范围,并根据所述有效屏幕坐标范围构建四叉树;其中,所述四叉树的各块中像素个数大于或等于预设数值;
[0009]遍历所述场景图中的各所述场景模型,并获取各所述场景模型的屏幕空间位置以及各所述场景模型的最小深度值;
[0 ...
【技术保护点】
【技术特征摘要】
1.一种大规模场景遮挡剔除方法,其特征在于,包括:对大规模场景数据进行组织,得到与所述大规模场景数据相应的场景图;根据空间相机参数构建三维场景中的虚拟相机,并创建与所述虚拟相机相匹配的深度图;其中,所述深度图中包含所述场景图中各场景模型的深度;确定所述深度图的有效屏幕坐标范围,并根据所述有效屏幕坐标范围构建四叉树;其中,所述四叉树的各块中像素个数大于或等于预设数值;遍历所述场景图中的各所述场景模型,并获取各所述场景模型的屏幕空间位置以及各所述场景模型的最小深度值;基于各所述场景模型的屏幕空间位置以及各所述场景模型的最小深度值,遍历所述四叉树,确定各所述场景模型的遮挡结果;将确定出所述遮挡结果为被遮挡的场景模型进行剔除处理。2.根据权利要求1所述的方法,其特征在于,根据空间相机参数构建三维场景中的虚拟相机时,包括获取所述空间相机参数,并根据所述空间相机参数得到所述虚拟相机的投影矩阵的步骤;其中,所述空间相机参数包括:视点位置、视角中心、视口宽度、视口高度、相机角度、近平面和远平面中的至少一种;所述投影矩阵为:其中,near为所述虚拟相机椎体内的近裁剪平面,far为所述虚拟相机椎体内的远裁剪平面,top为近裁剪平面的视觉顶点,bottom为近裁剪平面的视觉低点,left为近裁剪平面的左边界,right为近裁剪平面的右边界。3.根据权利要求1所述的方法,其特征在于,各所述场景模型的深度包括各所述场景模型相对于所述虚拟相机的距离;其中,创建与所述虚拟相机相匹配的深度图包括:获取所述场景图中各所述场景模型相对于所述虚拟相机的距离,并创建与所述虚拟相机的视口宽度和视口高度相匹配的初始深度图;将各所述场景模型相对于所述虚拟相机的距离实时渲染至所述初始深度图后,得到相应的所述深度图;其中,各所述场景模型相对于所述虚拟相机的距离通过公式:计算得到;其中,z为视点距离,Z
c
为深度。4.根据权利要求1所述的方法,其特征在于,所述有效屏幕坐标范围为包含所述深度图中所有场景模型的深度信息的最小矩形区域;所述预设数值的取值为16。
5.根据权利要求1至4任一项所述的方法,其特征在于,获取各所述场景模型的屏幕空间位置以及各所述场景模型的最小深度值,包括:基于所述场景图获取各所述场景模型的包围盒信息,并将各所述场景模型的包围盒的八个角点的模型空间坐标转换到屏幕空间,得到相应的各场景模型的屏幕空间位置;根据各所述场景模型的包围盒的八个角点的屏幕空间坐标,计算得到各所述场景模型的包围盒的八个角点的深度值;由八个角点的深度值中提取出数值最小的深度值作为各所述场景模型的最小深度值;其中,将各所述场景模型的包围盒的八个角点的模型空间坐标转换到屏幕空间时,通过公式:Coord
s
=Coord
m
×
M
×
V
×
P
×
W转换得到;其中,Coord
m
为角点模型空间坐标;Coord
...
【专利技术属性】
技术研发人员:王亮,肖鹏,
申请(专利权)人:北京博超时代软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。