遮挡剔除实现方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:31485943 阅读:16 留言:0更新日期:2021-12-18 12:21
本申请实施例公开了一种遮挡剔除实现方法、装置、计算机设备及存储介质;根据预先设置的标记,将待处理模型划分为遮挡体和被遮挡体;按照深度值所反映出的距离从近到远的顺序,向像素集合区域填充三角形,直到像素集合区域被填充满或所述像素集合区域无后续的三角形用于填充;根据三角形的深度值,确定像素集合区域的深度值;确定每个被遮挡体的包围盒,并确定包围盒的最近深度值;根据每个像素集合区域的深度值与目标深度值之间的数值差距,确定被遮挡体的模型状态;若被遮挡体未被遮挡,渲染被遮挡体。像素集合区域仅使用一个深度值进行表示,与现有技术依据每个像素点与视点的远近程度确定遮挡关系相比,减少了计算资源的消耗。资源的消耗。资源的消耗。

【技术实现步骤摘要】
遮挡剔除实现方法、装置、计算机设备及存储介质


[0001]本申请涉及计算机
,具体涉及遮挡剔除实现方法、装置、计算机设备及存储介质。

技术介绍

[0002]在进行游戏场景渲染时,会设置一个模拟人眼的视点的虚拟相机,该虚拟相机的视角范围内的物体按照透视关系,具有近大远小的性质。虚拟相机的视角范围内的画面为二维平面,该二维平面是由局部空间内的多个物体转换到屏幕空间所形成的。
[0003]现有技术中,该二维平面中的每个像素点都有自身对应的深度信息,该深度信息指的是像素点在局部空间中对应的物体到虚拟相机视点的远近程度。可以根据每个像素点与视点的远近程度,确定二维平面中各个模型之间的遮挡关系。然而由于现有技术中每个像素点均需要参与计算,造成计算资源消耗较大。

技术实现思路

[0004]本申请实施例提供一种遮挡剔除实现方法、装置、计算机设备及存储介质,可以减少计算资源的消耗。
[0005]本申请实施例提供一种遮挡剔除实现方法,包括:根据预先设置的标记,将待处理模型划分为遮挡体和被遮挡体,所述遮挡体包括多个三角形,每个所述三角形有自身对应的深度值,所述深度值反映对应的三角形与视点之间的远近程度;对于画面中预设的像素集合区域,按照深度值所反映出的距离从近到远的顺序,向所述像素集合区域内投影填充所述三角形,直到所述像素集合区域被填充满或所述像素集合区域内无后续的三角形用于填充;根据所述像素集合区域被填充满时所述三角形的深度值,确定所述像素集合区域的深度值;确定每个被遮挡体的包围盒,并确定所述包围盒的最近深度值,所述包围盒为包裹对应的被遮挡体的规则立方体;根据每个所述像素集合区域的深度值与目标深度值之间的数值差距,确定所述被遮挡体的模型状态,所述目标深度值是在所述像素集合区域内的包围盒的最近深度值;若所述被遮挡体的模型状态为未被遮挡的状态,则渲染所述被遮挡体。
[0006]根据本申请的一个方面,本申请实施例还提供一种遮挡剔除实现装置,该装置包括:
[0007]模型划分模块,用于根据预先设置的标记,将待处理模型划分为遮挡体和被遮挡体,所述遮挡体包括多个三角形,每个所述三角形有自身对应的深度值,所述深度值反映对应的三角形与视点之间的距离远近程度;
[0008]三角形填充模块,用于对于画面中预设的像素集合区域,按照深度值所反映出的距离从近到远的顺序,向所述像素集合区域内投影填充所述三角形,直到所述像素集合区域被填充满或所述像素集合区域内无后续的三角形用于填充;
[0009]深度值确定模块,用于根据所述像素集合区域被填充满时,或所述像素集合区域内无后续的三角形用于填充时,所述三角形的深度值,确定所述像素集合区域的深度值;
[0010]包围盒确定模块,用于确定每个被遮挡体的包围盒,并确定所述包围盒的深度值,所述包围盒为包裹对应的被遮挡体的规则立方体;
[0011]遮挡状态确定模块,用于根据每个所述像素集合区域的深度值与目标深度值之间的数值差距,确定所述被遮挡体的模型状态,所述目标深度值是在所述像素集合区域对应范围内的包围盒的深度值;
[0012]模型渲染模块,用于当所述被遮挡体的模型状态为未被遮挡的状态时,渲染所述被遮挡体。
[0013]可选地,所述装置还包括:
[0014]像素点深度值确定模块,用于对于每个所述三角形包括的多个像素点,确定每个像素点对应的深度值,其中,所述深度值反映对应的像素点与视点之间的距离远近程度;
[0015]深度值设定模块,用于将深度值反映距离最远的像素点的深度值作为该三角形的深度值。
[0016]可选地,三角形填充模块,包括:
[0017]子画面划分子模块,用于将画面划分为多个子画面;
[0018]深度值排序子模块,用于对于多个子画面中的每个子画面,将每个所述子画面中的三角形按照深度值所反映出的距离从近到远的顺序进行排序;
[0019]像素集合填充子模块,用于对于每个所述子画面中的每个像素集合区域,按照深度值所反映出的距离从近到远的顺序,向所述像素集合区域内投影填充所述三角形,直到所述像素集合区域被填充满或所述像素集合区域内无后续的三角形用于填充。
[0020]可选地,所述三角形填充模块,还可以包括:
[0021]顶点排序子模块,用于对于每个所述三角形,按照三角形的顶点纵坐标从小到大的顺序,对所述三角形的三个顶点进行排序;
[0022]三角形分割子模块,用于以纵坐标为中间值的顶点所在的与横坐标平行的直线,对所述三角形进行分割,得到两个子三角形,其中,所述纵坐标为中间值的顶点所在的与横坐标平行的直线为两个子三角形的公共边;
[0023]像素点计算子模块,用于对于每个所述子三角形,计算除所述公共边以外的两条边覆盖的像素点;
[0024]像素点填充子模块,用于将除所述公共边以外的两条边覆盖的像素点、以及每个所述子三角形三条边围起来的像素点填充为数值1。
[0025]可选地,深度值确定模块,具体用于获取所述像素集合区域被填充满时或所述像素集合区域内无后续的三角形用于填充时,所述像素集合区域内表示距离最远的三角形的深度值,并将其作为所述像素集合区域的深度值。
[0026]可选地,包围盒确定模块,还包括:
[0027]顶点计算子模块,用于计算每个所述被遮挡体的包围盒的多个顶点;
[0028]深度值确定子模块,用于确定多个顶点中的每个顶点的深度值,将距离视点最近的顶点的深度值作为所述包围盒的深度值。
[0029]可选地,顶点计算子模块,具体用于将所述包围盒的多个顶点中的任一顶点从局部空间转换至屏幕空间;
[0030]根据转换至屏幕空间的顶点的坐标值、包围盒的边长值,计算所述包围盒的其他
顶点在所述屏幕空间的坐标值。
[0031]可选地,遮挡状态确定模块,具体用于当所述像素集合区域的深度值所反映的距离比在所述像素集合区域内的被遮挡体的包围盒的深度值所反映的距离更近时,确定所述被遮挡体被遮挡;当所述像素集合区域的深度值所反映的距离比在所述像素集合区域内的被遮挡体的包围盒的深度值所反映的距离更远时,确定所述被遮挡体未被遮挡。
[0032]本申请实施例还提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
[0033]本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行实现如上所述方法的步骤。
[0034]本申请实施例提供的遮挡剔除实现方法可以先根据预先设置的标记,将待处理模型划分为遮挡体和被遮挡体。遮挡体包括多个三角形,每个三角形均有自身对应的深度值。对于预设的像素集合区域,可以按照深度值所反映出的距离从近到远的顺序,向像素集合区域内填充三角形,直到像素集合区域被填充满或所述像素集合区域内无后续的三角形用于填充,并根据像素集合区域被填充满时或所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种遮挡剔除实现方法,其特征在于,所述方法包括:根据预先设置的标记,将待处理模型划分为遮挡体和被遮挡体,所述遮挡体包括多个三角形,每个所述三角形有自身对应的深度值,所述深度值反映对应的三角形与视点之间的距离远近程度;对于画面中预设的像素集合区域,按照深度值所反映出的距离从近到远的顺序,向所述像素集合区域内投影填充所述三角形,直到所述像素集合区域被填充满或所述像素集合区域内无后续的三角形用于填充;根据所述像素集合区域被填充满时,或所述像素集合区域内无后续的三角形用于填充时,所述三角形的深度值,确定所述像素集合区域的深度值;确定每个被遮挡体的包围盒,并确定所述包围盒的深度值,所述包围盒为包裹对应的被遮挡体的规则立方体;根据每个所述像素集合区域的深度值与目标深度值之间的数值差距,确定所述被遮挡体的模型状态,所述目标深度值是在所述像素集合区域对应范围内的包围盒的深度值;若所述被遮挡体的模型状态为未被遮挡的状态,则渲染所述被遮挡体。2.如权利要求1所述的方法,其特征在于,在所述按照深度值所反映出的距离从近到远的顺序,向所述像素集合区域内投影填充所述三角形之前,所述方法还包括:对于每个所述三角形包括的多个像素点,确定每个像素点对应的深度值,其中,所述深度值反映对应的像素点与视点之间的距离远近程度;将深度值反映距离最远的像素点的深度值作为该三角形的深度值。3.如权利要求1所述的方法,其特征在于,在所述按照深度值所反映出的距离从近到远的顺序,向所述像素集合区域内投影填充所述三角形之前,所述方法还包括:对于每个所述三角形包括的三个顶点,确定每个顶点对应的深度值,其中,所述深度值反映对应的顶点与视点之间的距离远近程度;将深度值反映距离最远的顶点的深度值作为该三角形的深度值。4.如权利要求1所述的方法,其特征在于,所述对于画面中预设的像素集合区域,按照深度值所反映出的距离从近到远的顺序,向所述像素集合区域内投影填充所述三角形,直到所述像素集合区域被填充满或所述像素集合区域内无后续的三角形用于填充,包括:将画面划分为多个子画面;对于多个子画面中的每个子画面,将每个所述子画面中的三角形按照深度值所反映出的距离从近到远的顺序进行排序;对于每个所述子画面中的每个像素集合区域,按照深度值所反映出的距离从近到远的顺序,向所述像素集合区域内投影填充所述三角形,直到所述像素集合区域被填充满或所述像素集合区域内无后续的三角形用于填充。5.如权利要求1或4所述的方法,其特征在于,所述向所述像素集合区域内投影填充所述三角形,包括:对于每个所述三角形,按照三角形的顶点纵坐标从小到大的顺序,对所述三角形的三个顶点进行排序;以纵坐标为中间值的顶点所在的与横坐标平行的直线,对所述三角形进行分割,得到两个子三角形,其中,所述纵坐标为中间值的顶点所在的与横坐标平行的直线为两个子三
角形的公共边;对于每个所述子三角形,计算除所述公共边以外的两条边覆盖的像素点;将除所述公共边以外的两条边覆盖的像素点、以及每个所述子三角形三条边围起来的像素点填充为数值...

【专利技术属性】
技术研发人员:陈乾明
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1