技术新讯 > 计算推算,计数设备的制造及其应用技术 > 阴影渲染方法、装置、计算机设备和存储介质与流程  >  正文

阴影渲染方法、装置、计算机设备和存储介质与流程

  • 国知局
  • 2024-09-14 14:49:28

本技术涉及渲染,特别是涉及一种阴影渲染方法、装置、计算机设备和存储介质。

背景技术:

1、随着计算机技术的发展,出现了阴影渲染技术,阴影渲染技术用于渲染出阴影,以提升渲染结果具有真实感。

2、传统技术中,通常利用阴影贴图来渲染阴影。基于阴影贴图的渲染方法的计算复杂度,与需要渲染的场景的复杂度具有较大的关系,场景的复杂度越高,则对性能要求越高。

3、从而,在场景复杂度较高例如场景中存在较多光源的情况下,基于阴影贴图的渲染方法存在计算复杂度较高的问题,导致阴影渲染效率较低。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高阴影渲染效率的阴影渲染方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、一方面,本技术提供了一种阴影渲染方法。所述方法包括:针对屏幕空间中的每个像素点,从虚拟场景中的多个光源中确定所述像素点对应的目标光源;所述像素点在所述虚拟场景所在的世界空间中的世界空间位置,位于所述像素点对应的目标光源的光照区域内;基于所述目标光源的世界空间位置和所述像素点的世界空间位置进行光线追踪,得到所述目标光源针对所述像素点的光源触达信息;所述光源触达信息,表征所述目标光源对所述像素点的世界空间位置是否产生光照;基于所述光源触达信息对所述虚拟场景进行阴影渲染,得到阴影渲染结果。

3、另一方面,本技术还提供了一种阴影渲染装置。所述装置包括:光源确定模块,用于针对屏幕空间中的每个像素点,从虚拟场景中的多个光源中确定所述像素点对应的目标光源;所述像素点在所述虚拟场景所在的世界空间中的世界空间位置,位于所述像素点对应的目标光源的光照区域内;信息得到模块,用于基于所述目标光源的世界空间位置和所述像素点的世界空间位置进行光线追踪,得到所述目标光源针对所述像素点的光源触达信息;所述光源触达信息,表征所述目标光源对所述像素点的世界空间位置是否产生光照;阴影渲染模块,用于基于所述光源触达信息对所述虚拟场景进行阴影渲染,得到阴影渲染结果。

4、在一些实施例中,所述信息得到模块,还用于基于所述目标光源的世界空间位置和所述像素点的世界空间位置,确定所述光线追踪的起始位置和所述光线追踪的终止位置;根据所述光线追踪的起始位置和所述光线追踪的终止位置确定光线追踪步数;根据所述光线追踪步数进行光线追踪,得到所述目标光源针对所述像素点的光源触达信息。

5、在一些实施例中,所述信息得到模块,还用于确定从所述像素点的世界空间位置指向所述目标光源的世界空间位置的方向,得到光线追踪方向;将所述像素点的世界空间位置确定为所述光线追踪的起始位置;基于所述光线追踪方向以及预设追踪距离确定光线追踪的终止位置。

6、在一些实施例中,所述信息得到模块,还用于将所述光线追踪的起始位置转换到目标二维空间,得到转换后的起始位置,并将所述光线追踪的终止位置转换到所述目标二维空间,得到转换后的终止位置;基于所述转换后的起始位置与所述转换后的终止位置的距离确定追踪步数因子;根据所述追踪步数因子和追踪步数阈值确定光线追踪步数。

7、在一些实施例中,所述信息得到模块,还用于基于所述预设追踪距离和所述光线追踪步数确定光线追踪步长;从所述像素点的世界空间位置起,沿着所述光线追踪方向确定多个采样位置;相邻两个所述采样位置在所述光线追踪方向上间隔的长度为所述光线追踪步长,所述采样位置的数量为所述光线追踪步数;针对每个所述采样位置,确定所述采样位置的深度值与所述采样位置对应的屏幕空间位置的深度值之间的差值,得到所述采样位置的深度差值;根据各所述采样位置的深度差值,得到所述目标光源针对所述像素点的光源触达信息。

8、在一些实施例中,所述信息得到模块,还用于基于所述光线追踪的起始位置的深度值和所述光线追踪的终止位置的深度值,确定深度差阈值;在任一所述采样位置的深度差值小于或等于所述深度差阈值的情况下,确定所述目标光源针对所述像素点的光源触达信息为第一预设值;所述第一预设值表征所述目标光源对所述像素点的世界空间位置不产生光照;在各所述采样位置的深度差值均大于所述深度差阈值的情况下,确定所述目标光源针对所述像素点的光源触达信息为第二预设值;所述第二预设值表征所述目标光源对所述像素点的世界空间产生光照。

9、在一些实施例中,所述信息得到模块,还用于确定所述光线追踪的起始位置的深度值得到起始深度值,并确定所述光线追踪的终止位置的深度值得到终止深度值;确定所述起始深度值与所述终止深度值之间的差值得到总深度差值;基于所述总深度差值以及所述光线追踪步数确定深度差阈值。

10、在一些实施例中,所述光源确定模块,还用于在所述虚拟场景所在的世界空间中的预设平面上分布二维网格;按照所述二维网格中的各单元格对所述虚拟场景中的多个光源进行分簇,得到各所述单元格分别对应的目标光源簇;所述目标光源簇中的光源的光照区域在所述预设平面上的投影区域与对应的单元格之间存在相交关系;从各所述单元格分别对应的目标光源簇中确定对所述像素点具有光照影响的匹配光源簇;从对所述像素点具有光照影响的匹配光源簇中,确定所述像素点对应的目标光源。

11、在一些实施例中,所述光源确定模块,还用于针对所述二维网格中的每个单元格,基于所述多个光源中与所述单元格存在相交关系的光源,得到所述单元格的目标光源簇;其中,与所述单元格存在相交关系,是指光照区域在所述预设平面上的投影区域与所述单元格相交,所述目标光源簇中的光源的数量小于或等于预设数量。

12、在一些实施例中,所述光源确定模块,还用于依次从所述多个光源中确定所述单元格的相交光源;所述单元格的相交光源,是指光照区域在所述预设平面上的投影区域与所述单元格存在相交关系的光源;在所述单元格的当前光源簇包括的光源的数量小于所述预设数量的情况下,将所述相交光源加入所述单元格的当前光源簇中;返回依次从所述多个光源中确定所述单元格的相交光源的步骤,直到遍历所述多个光源为止;在遍历所述多个光源的情况下,将所述单元格的当前光源簇确定为所述单元格的目标光源簇。

13、在一些实施例中,所述光源确定模块,还用于确定所述像素点的世界空间位置在所述预设平面上的投影位置所属的单元格,得到目标单元格;将所述目标单元格对应的目标光源簇,确定为对所述像素点具有光照影响的匹配光源簇。

14、在一些实施例中,所述装置还用于:将所述像素点的匹配光源簇中各光源分别针对所述像素点的光源触达信息组成所述像素点的簇触达信息;所述阴影渲染模块,还用于针对屏幕空间中的每个像素点,在所述像素点的匹配光源簇中包括参与阴影渲染的光源的情况下,从所述像素点的簇触达信息中获取所述参与阴影渲染的光源针对所述像素点的光源触达信息;基于所述参与阴影渲染的光源针对所述像素点的光源触达信息进行阴影渲染,得到阴影渲染结果。

15、另一方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述阴影渲染方法中的步骤。

16、另一方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述阴影渲染方法中的步骤。

17、另一方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述阴影渲染方法中的步骤。

18、上述阴影渲染方法、装置、计算机设备、存储介质和计算机程序产品,针对屏幕空间中的每个像素点,从虚拟场景中的多个光源中确定像素点对应的目标光源,像素点在虚拟场景所在的世界空间中的世界空间位置位于像素点对应的目标光源的光照区域内,基于目标光源与像素点在世界空间中的距离进行光线追踪,得到目标光源针对像素点的光源触达信息,光源触达信息表征目标光源对该像素点的世界空间位置是否产生光照,基于各光源触达信息对虚拟场景进行阴影渲染。由于是基于光线追踪确定出的光源触达信息进行阴影渲染,针对虚拟场景中存在较多光源的情况,可以快速实现阴影渲染,从而提高了阴影渲染效率。

本文地址:https://www.jishuxx.com/zhuanli/20240914/296061.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。