一种大范围物体动态阴影渲染方法及系统技术方案

技术编号:38581294 阅读:21 留言:0更新日期:2023-08-26 23:26
本发明专利技术公开了一种大范围物体动态阴影渲染方法及系统,涉及三维建模技术领域。包括:根据待渲染物体的体积确定阴影范围包围盒的属性值,根据属性值构建阴影范围包围盒的多边形面;设置主相机的视锥体的阴影可视距离,根据阴影可视距离对视锥体与阴影范围包围盒的多边形面进行相交检测,得到相交部分;求相交部分的最小包围球,根据最小包围球设置灯光阴影相机;根据灯光阴影相机对灯光阴影相机内的场景进行渲染,生成一张深度图,根据深度图进行阴影渲染。本方案只生成一张深度贴图,与CSM技术相比有效的减轻了渲染压力,在解决自阴影问题时,也不需要在划分的不同区域分别调节ShadowBias,降低了操作复杂度,避免了CSM技术带来的性能浪费。带来的性能浪费。带来的性能浪费。

【技术实现步骤摘要】
一种大范围物体动态阴影渲染方法及系统


[0001]本专利技术涉及三维建模
,尤其涉及一种大范围物体动态阴影渲染方法及系统。

技术介绍

[0002]目前,使用Shadow Mapping技术实现阴影效果的大范围场景中,常因深度贴图精度不够导致阴影模糊、锯齿严重,现有的解决办法是使用CSM技术,对划分出的不同区域分别生成精度不同的深度贴图,提升大范围场景阴影效果。
[0003]然而,CSM技术需要生成多个深度贴图,渲染压力大,当场景物体主要集中在切分出的某一区域时,其他区域渲染的深度贴图就形成了渲染浪费,且在解决自阴影问题时,CSM技术需要对不同区域分别调节ShadowBias,操作复杂。

技术实现思路

[0004]本专利技术所要解决的是CSM技术渲染压力大且调节ShadowBias比较复杂的问题,为了解决上述技术问题,本专利技术提供了一种大范围物体动态阴影渲染方法及系统。
[0005]第一个方面,提供了一种大范围物体动态阴影渲染方法,包括:
[0006]根据待渲染物体的体积确定阴影范围包围盒的属性值,根据所述属性值构建所述阴影范围包围盒的多边形面;
[0007]设置主相机的视锥体的阴影可视距离,根据所述阴影可视距离对所述视锥体与所述阴影范围包围盒的多边形面进行相交检测,得到相交部分;
[0008]求所述相交部分的最小包围球,根据所述最小包围球设置灯光阴影相机;
[0009]根据所述灯光阴影相机对所述灯光阴影相机内的场景进行渲染,生成一张深度图,根据所述深度图进行阴影渲染。
[0010]在第一个方面的一种可能实现中,根据待渲染物体的体积确定阴影范围包围盒的属性值,根据所述属性值构建所述阴影范围包围盒的多边形面,具体包括:
[0011]根据待渲染物体的体积确定阴影范围包围盒的最大值和最小值;
[0012]根据所述最大值和所述最小值确定所述阴影范围包围盒的所有顶点;
[0013]根据所述阴影范围包围盒的所有顶点构建所述阴影范围包围盒的所有多边形面。
[0014]在第一个方面的一种可能实现中,根据所述阴影可视距离对所述视锥体与所述阴影范围包围盒的多边形面进行相交检测,得到相交部分,具体包括:
[0015]使用所述视锥体的侧面对所述阴影范围包围盒的多边形面进行相交检测,得到多边形面在所述视锥体的侧面内的第一相交部分;
[0016]确定在视图坐标系下,所述视锥体内的多边形面与所述视锥体的近平面的最短距离;
[0017]将所述视锥体的远平面平移到与所述近平面相距预设距离处,所述预设距离由所述最短距离加上所述阴影可视距离得到;
[0018]将平移后的所述远平面转换到世界坐标系下;
[0019]将所述第一相交部分与所述远平面在世界坐标系下进行相交检测,得到所述视锥体与所述阴影范围包围盒的相交部分。
[0020]在第一个方面的一种可能实现中,根据所述最小包围球设置灯光阴影相机,具体包括:
[0021]根据所述最小包围球确定灯光的位置和朝向,根据所述最小包围球的半径、灯光的位置和朝向设置灯光阴影相机。
[0022]在第一个方面的一种可能实现中,根据所述最小包围球确定灯光的位置和朝向,根据所述最小包围球的半径、灯光的位置和朝向设置灯光阴影相机,具体包括:
[0023]根据所述最小包围球的位置、半径和预设的水平角和俯仰角确定灯光的位置;
[0024]根据所述最小包围球的球心坐标和预设的上方向向量确定灯光的朝向;
[0025]根据所述最小包围球的半径,设置所述灯光阴影相机的参数,根据所述灯光阴影相机的参数确定所述灯光阴影相机的投影矩阵,并根据所述灯光的位置和朝向确定所述灯光阴影相机的位置。
[0026]第二个方面,提供了一种大范围物体动态阴影渲染系统,包括:
[0027]阴影范围包围盒生成单元,用于根据待渲染物体的体积确定阴影范围包围盒的属性值,根据所述属性值构建所述阴影范围包围盒的多边形面;
[0028]相交检测单元,用于设置主相机的视锥体的阴影可视距离,根据所述阴影可视距离对所述视锥体与所述阴影范围包围盒的多边形面进行相交检测,得到相交部分;
[0029]灯光阴影相机设置单元,用于求所述相交部分的最小包围球,根据所述最小包围球设置灯光阴影相机;
[0030]阴影渲染单元,用于根据所述灯光阴影相机对所述灯光阴影相机内的场景进行渲染,生成一张深度图,根据所述深度图进行阴影渲染。
[0031]在第二方面的一种可能实现中,所述阴影范围包围盒生成单元具体用于根据待渲染物体的体积确定阴影范围包围盒的最大值和最小值;根据所述最大值和所述最小值确定所述阴影范围包围盒的所有顶点;根据所述阴影范围包围盒的所有顶点构建所述阴影范围包围盒的所有多边形面。
[0032]在第二方面的一种可能实现中,所述相交检测单元具体用于使用所述视锥体的侧面对所述阴影范围包围盒的多边形面进行相交检测,得到多边形面在所述视锥体的侧面内的第一相交部分;确定在视图坐标系下,所述视锥体内的多边形面与所述视锥体的近平面的最短距离;将所述视锥体的远平面平移到与所述近平面相距预设距离处,所述预设距离由所述最短距离加上所述阴影可视距离得到;将平移后的所述远平面转换到世界坐标系下;将所述第一相交部分与所述远平面在世界坐标系下进行相交检测,得到所述视锥体与所述阴影范围包围盒的相交部分。
[0033]在第二方面的一种可能实现中,所述灯光阴影相机设置单元具体用于根据所述最小包围球确定灯光的位置和朝向,根据所述最小包围球的半径、灯光的位置和朝向设置灯光阴影相机。
[0034]在第二方面的一种可能实现中,所述灯光阴影相机设置单元具体用于根据所述最小包围球的位置、半径和预设的水平角和俯仰角确定灯光的位置;根据所述最小包围球的
球心坐标和预设的上方向向量确定灯光的朝向;根据所述最小包围球的半径,设置所述灯光阴影相机的参数,根据所述灯光阴影相机的参数确定所述灯光阴影相机的投影矩阵,并根据所述灯光的位置和朝向确定所述灯光阴影相机的位置。
[0035]本方案结合了设置固定阴影范围包围盒技术和以摄像机近截面为基点设置阴影可视距离技术,确定了需要阴影效果的有效范围,只生成一张深度贴图,与CSM技术相比有效的减轻了渲染压力,在解决自阴影问题时,也不需要在划分的不同区域分别调节ShadowBias,降低了操作复杂度,避免了CSM技术带来的性能浪费。
[0036]与设置固定阴影范围包围盒技术相比,本专利技术解决了当设置范围过大时,阴影效果不佳,不能随观察视角变化的问题;与以摄像机近截面为基点设置阴影可视距离技术相比,本专利技术解决了当场景内需要产生阴影效果的物体在阴影可视范围之外,出现阴影在场景中消失的问题。
[0037]本专利技术附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术实践了解到。
附图说明
[0038]图1为本专利技术的动态阴影渲染本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大范围物体动态阴影渲染方法,其特征在于,包括:根据待渲染物体的体积确定阴影范围包围盒的属性值,根据所述属性值构建所述阴影范围包围盒的多边形面;设置主相机的视锥体的阴影可视距离,根据所述阴影可视距离对所述视锥体与所述阴影范围包围盒的多边形面进行相交检测,得到相交部分;求所述相交部分的最小包围球,根据所述最小包围球设置灯光阴影相机;根据所述灯光阴影相机对所述灯光阴影相机内的场景进行渲染,生成一张深度图,根据所述深度图进行阴影渲染。2.根据权利要求1所述的大范围物体动态阴影渲染方法,其特征在于,根据待渲染物体的体积确定阴影范围包围盒的属性值,根据所述属性值构建所述阴影范围包围盒的多边形面,具体包括:根据待渲染物体的体积确定阴影范围包围盒的最大值和最小值;根据所述最大值和所述最小值确定所述阴影范围包围盒的所有顶点;根据所述阴影范围包围盒的所有顶点构建所述阴影范围包围盒的所有多边形面。3.根据权利要求1所述的大范围物体动态阴影渲染方法,其特征在于,根据所述阴影可视距离对所述视锥体与所述阴影范围包围盒的多边形面进行相交检测,得到相交部分,具体包括:使用所述视锥体的侧面对所述阴影范围包围盒的多边形面进行相交检测,得到多边形面在所述视锥体的侧面内的第一相交部分;确定在视图坐标系下,所述视锥体内的多边形面与所述视锥体的近平面的最短距离;将所述视锥体的远平面平移到与所述近平面相距预设距离处,所述预设距离由所述最短距离加上所述阴影可视距离得到;将平移后的所述远平面转换到世界坐标系下;将所述第一相交部分与所述远平面在世界坐标系下进行相交检测,得到所述视锥体与所述阴影范围包围盒的相交部分。4.根据权利要求1所述的大范围物体动态阴影渲染方法,其特征在于,根据所述最小包围球设置灯光阴影相机,具体包括:根据所述最小包围球确定灯光的位置和朝向,根据所述最小包围球的半径、灯光的位置和朝向设置灯光阴影相机。5.根据权利要求4所述的大范围物体动态阴影渲染方法,其特征在于,根据所述最小包围球确定灯光的位置和朝向,根据所述最小包围球的半径、灯光的位置和朝向设置灯光阴影相机,具体包括:根据所述最小包围球的位置、半径和预设的水平角和俯仰角确定灯光的位置;根据所述最小包围球的球心坐标和预设的上方向向量确定灯光的朝向;根据所述最小包围球的半径,设置所述灯光阴影相机的参数,根据所述灯光阴影相机的参数确定所述灯光阴影相机的投影...

【专利技术属性】
技术研发人员:王鑫谢帅吴俊华井刚李鉴陈傲寒
申请(专利权)人:北京优锘科技有限公司
类型:发明
国别省市:

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

1