【技术实现步骤摘要】
三维场景中相机可视区域渲染方法、装置、介质和设备
[0001]本专利技术涉及计算机
,尤其涉及一种三维场景中相机可视区域渲染方法、装置、介质和设备。
技术介绍
[0002]现有数字孪生场景中对监控可视区域进行分析,主要是使用平面截锥体模型代替来分析监控可视区域,具体只能描述可视区域的大致轮廓,无法对场景物体做可见性分析,也无法清晰准确地描述哪些物体处在监控范围内。现有的孪生场景中对于监控可视区域分析来说不能满足用户需求。
[0003]为此本领域迫切需要一种能够解决上述技术问题的方法。
技术实现思路
[0004]本专利技术所要解决的技术问题是针对现有技术的不足,提供一种三维场景中相机可视区域渲染方法、装置、介质和设备。
[0005]本专利技术解决上述技术问题的技术方案如下:
[0006]一种三维场景中相机可视区域渲染方法,所述方法包括:
[0007]获取相机成像参数,所述成像参数包括水平方向视野角度FOV、相机分辨率R、最近有效成像距离Np、最远有效成像距离Fp、相机位置Pc与相机方向Pd,并基于所述相机成像参数计算相机成像矩阵Mc;
[0008]基于所述相机位置Pc、相机方向Pd与相机分辨率R在三维渲染引擎中执行渲染命令,并记录相机画面深度到深度缓冲D;
[0009]获取场景世界坐标缓冲P,将所述世界坐标缓冲P、成像矩阵Mc与深度缓冲D传入着色器中,计算当前像素的世界坐标缓冲P是否在相机的成像矩阵Mc内,并记录世界坐标缓冲P在成像矩阵Mc内的区域遮 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种三维场景中相机可视区域渲染方法,其特征在于,所述方法包括:获取相机成像参数,所述成像参数包括水平方向视野角度FOV、相机分辨率R、最近有效成像距离Np、最远有效成像距离Fp、相机位置Pc与相机方向Pd,并基于所述相机成像参数计算相机成像矩阵Mc;基于所述相机位置Pc、相机方向Pd与相机分辨率R在三维渲染引擎中执行渲染命令,并记录相机画面深度到深度缓冲D;获取场景世界坐标缓冲P,将所述世界坐标缓冲P、成像矩阵Mc与深度缓冲D传入着色器中,计算当前像素的世界坐标缓冲P是否在相机的成像矩阵Mc内,并记录世界坐标缓冲P在成像矩阵Mc内的区域遮罩值M;将世界坐标缓冲P在相机的成像矩阵Mc内的模型背面进行剔除,对剔除处理后的模型正面进行深度测试,检测区域在成像画面中是否可见,并记录可见区域与不可见区域遮罩值M;将多个相机的可见区域与不可见区域遮罩值M进行混合,再基于混合后的新遮罩值M与原场景颜色Cs进行差值混合输出显示器上显示的颜色C。2.根据权利要求1所述的三维场景中相机可视区域渲染方法,其特征在于,所述基于所述相机成像参数计算相机成像矩阵Mc包括:基于所述相机成像参数中所述水平方向视野角度FOV与相机分辨率R计算构造所述成像矩阵Mc所需参数水平方向视野角度R
fov
与成像比例A;R
fov
=FOV/180
°
*π其中R.w为分辨率宽度,R.h为分辨率高度;基于所述相机位置Pc与相机方向Pd构造模型视图矩阵M
mv
;基于水平方向视野角度R
fov
、最近有效成像距离Np、最远有效成像距离Fp与成像比例A利用透视矩阵公式构造透视矩阵Mp;基于所述模型视图矩阵M
mv
与透视矩阵Mp构造相机的成像矩阵Mc;M
c
=M
mv
*M
p
。3.根据权利要求1所述的三维场景中相机可视区域渲染方法,其特征在于,所述基于所述相机位置Pc、相机方向Pd与相机分辨率R在三维渲染引擎中执行渲染命令,并记录相机画面深度到深度缓冲D包括:创建深度缓冲D纹理对象,并将纹理对象尺寸设置为相机分辨率R降采样一倍的尺寸;
基于所述相机位置Pc与相机方向Pd,执行三维引擎渲染命令将相机所渲染的场景深度存储至深度缓冲D。4.根据权利要求1所述的三维场景中相机可视区域渲染方法,其特征在于,所述计算当前像素的世界坐标缓冲P是否在相机的成像矩阵Mc内,并记录世界坐标缓冲P在成像矩阵Mc内的区域遮罩值M包括:将所述世界坐标缓冲P(x,y,z,1)基于所述成像矩阵Mc转换到裁剪坐标系下位置Pcs(x,y,z,w);P
cs
=mul(M
c
,P)将所述裁剪坐标系位置Pcs转换到标准设备坐标系下位置P
NDC
;标准设备坐标系中x,y,z范围均为[
‑
1,1],若P
NDC
的x、y、z分量均在[
‑
1,1]内,则认为当前像素的世界坐标缓冲P在相机的成像矩阵Mc内,将世界坐标缓冲P在相机的成像矩阵Mc内的区域遮罩值M标记为1,同时将世界坐标缓冲P不在相机的成像矩阵Mc内的区域遮罩值M标记为0。5.根据权利要求4所述的三维场景中相机可视区域渲染方法,其特征在于,所述将世界坐标缓冲P在相机的成像矩阵Mc内的模型背面进行剔除包括:通过三维渲染引擎获取世界法线缓冲N;基于所述世界法线缓冲N与相机方向Pd对模型背面进行剔除,具体通过相机和模型表面之间的角度C
θ
技术研发人员:董伟,黄正雨,张佳亮,李鉴,井刚,
申请(专利权)人:北京优锘科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。