软阴影生成方法、装置、设备及存储介质制造方法及图纸

技术编号:36190808 阅读:25 留言:0更新日期:2022-12-31 21:05
本发明专利技术实施例提供了软阴影生成方法、装置、设备及存储介质,所述方法包括:响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;在游戏运行的过程中,根据光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点;根据遮挡信息和光源信息,确定目标渲染像素点的有向距离;基于目标渲染像素点的有向距离,确定光源对目标渲染像素点的光照强度占比信息;光照强度占比信息用于指示光源对渲染像素点的阴影生成的影响程度。通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。果的产生。果的产生。

【技术实现步骤摘要】
软阴影生成方法、装置、设备及存储介质


[0001]本专利技术涉及渲染
,特别是涉及一种软阴影生成方法、一种软阴影生成装置、相应的一种电子设备以及相应的一种计算机存储介质。

技术介绍

[0002]虚拟场景内的光源在无遮挡的情况下照亮周围物体,光源在被遮挡的情况下则需要生成阴影,为了增加阴影的真实性,所生成的阴影通常采用具有渐变过渡的软阴影。
[0003]在阴影生成的相关技术中,大多在CPU(Central Processing Unit,中央处理器)中进行光照区域的计算,并将会把计算出的光照区域单独放在一个纹理Render Texture内,以便光照区域基于此纹理参与后续的光照计算,生成虚拟场景中所需的阴影。但这种CPU生成阴影的方式,在每帧光源与遮挡位置发生相对变化时,纹理中所存储的光照区域需要重新计算,不容易支持软阴影。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分的解决上述问题的一种软阴影生成方法、一种软阴影生成装置、相应的一种电子设备以及相应的一种计算机存储介质。
[0005]本专利技术实施例公开了一种软阴影生成方法,所述方法包括:
[0006]响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;
[0007]在游戏运行的过程中,根据所述光源信息确定所述虚拟场景中需要进行光照渲染的目标渲染像素点;
[0008]根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离
[0009]基于所述目标渲染像素点的有向距离,确定所述光源对所述目标渲染像素点的光照强度占比信息;所述光照强度占比信息用于指示所述光源对所述渲染像素点的阴影生成的影响程度。
[0010]本专利技术实施例还公开了一种软阴影生成装置,所述装置包括:
[0011]信息获取模块,用于响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;
[0012]渲染像素点获取模块,用于在游戏运行的过程中,根据所述光源信息确定所述虚拟场景中需要进行光照渲染的目标渲染像素点;
[0013]有向距离生成模块,用于根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离;
[0014]光照强度占比确定模块,用于基于所述目标渲染像素点的有向距离,确定所述光源对所述目标渲染像素点的光照强度占比信息;所述光照强度占比信息用于指示所述光源对所述渲染像素点的阴影生成的影响程度。
[0015]本专利技术实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述软阴影生成方法。
[0016]本专利技术实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一项所述软阴影生成方法。
[0017]本专利技术实施例包括以下优点:
[0018]在本专利技术实施例中,在游戏加载时可以获取虚拟场景的光源信息和遮挡信息,在游戏运行的过程中,能够基于光源信息确定虚拟场景中需要进行光照渲染的目标渲染像素点,以便根据遮挡信息和光源信息确定目标渲染像素点的有向距离,使得能够基于目标渲染像素点的有向距离确定光源对目标渲染像素点的光照强度占比信息,通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。
附图说明
[0019]图1是本专利技术的一种软阴影生成方法实施例的步骤流程图;
[0020]图2是本专利技术实施例提供的光源信息的定义示意图;
[0021]图3是本专利技术的另一种软阴影生成方法实施例的步骤流程图;
[0022]图4是本专利技术实施例提供的光照强度占比信息的生成示意图;
[0023]图5是本专利技术实施例提供的软阴影生成的应用场景示意图;
[0024]图6是本专利技术实施例提供的软阴影生成的过程示意图;
[0025]图7是本专利技术的一种软阴影生成装置实施例的结构框图。
具体实施方式
[0026]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0027]为便于本领域技术人员理解本申请,下面对本申请下述各实施例中涉及的术语或名词做出解释:
[0028]sdf:signed distance field(function)有向距离场,用于定义每个像素(体素)记录自己与距离自己最近物体之间的距离,如果在物体内,则距离为负,正好在物体边界上则为0。
[0029]AABB:Axis

aligned bounding boxes,AABB包围盒,被称为轴对其包围盒,指的是在游戏中,为了简化物体之间的碰撞检测运算,通常会对物体创建一个规则的几何外形将其包围。
[0030]在阴影生成的相关技术中,大多在CPU中进行光照区域的计算,并将会把计算出的光照区域单独放在一个纹理RenderTexture内,以便光照区域基于此纹理参与后续的光照计算,生成游戏场景中所需的阴影。
[0031]但这种生成阴影的方式在CPU中进行,由于CPU在处理其他逻辑的同时,还要负责处理光照区域的计算,其CPU处理的速度慢;且光照区域计算和数据关联性较大,当遮挡复杂时,将会进一步增加CPU的计算量,由于算法的复杂性出错的概率将会变高;以及,在每帧
光源与遮挡位置发生相对变化时,纹理中所存储的光照区域需要重新计算,不容易支持软阴影。
[0032]本专利技术实施例的核心思想之一在于提出基于GPU(Graphic Processing Unit,图形处理器)所实现的快速的、稳定的、支持软阴影的方案,其主要可以在进行渲染时基于所获取的遮挡信息和光源信息对光源的光照区域进行计算,由于GPU在进行光照区域的计算的同时需要进行处理的逻辑较少,基于GPU所进行光照区域的计算操作能够提高对计算速度;且通过基于遮挡信息和光源信息确定目标渲染像素点的有向距离,进而确定光源对目标渲染像素点的光照强度占比信息的方式,由于有向距离的算法性质简单,无需考虑各种复杂情况,且基于sdf的性质,使得动静融合方便;以及通过基于有向距离确定的光照强度占比信息知晓光源对渲染像素点的阴影生成的影响程度,进而知晓光源对在虚拟场景中需要光照渲染的渲染像素点的光照百分比的影响,支持软阴影效果的产生。进一步地,在离线时对于静态遮挡物离线生成其对应的sdf静态贴图,而对于动态遮挡物,将动态遮挡物与相应的物理实体进行绑定,使得动静分离,进一步提高GPU对光照区域的计算速度。
[0033]参照图1,示出了本专利技术的一种软阴影生成方法实施例的步骤流程图,具体可以包括如下步骤:
[0034]步骤101,响应对游戏的加载指令,获取基于虚拟场景中光源的光源信息和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软阴影生成方法,其特征在于,所述方法包括:获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息;在游戏运行的过程中,根据所述光源信息确定所述虚拟场景中需要进行光照渲染的目标渲染像素点;根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离;基于所述目标渲染像素点的有向距离,确定所述光源对所述目标渲染像素点的光照强度占比信息;所述光照强度占比信息用于指示所述光源对所述渲染像素点的阴影生成的影响程度。2.根据权利要求1所述的方法,其特征在于,所述遮挡信息包括离线生成的静态遮挡信息和动态遮挡信息,还包括:在游戏离线时,获取所述虚拟场景的单元性区域以及在各个单元性区域内的静态遮挡物,生成针对各个单元性区域内的静态遮挡物的采样网格,并将所述采样网格存储至相应的静态贴图;以及在游戏离线时,将预先配置的光源信息和虚拟场景中的光源刚体进行绑定。3.根据权利要求2所述的方法,其特征在于,所述获取基于虚拟场景中光源的光源信息和虚拟场景的遮挡信息,包括:通过静态贴图读取所述虚拟场景的遮挡信息,并通过所述虚拟场景中的光源刚体检索对应的光源信息,以及通过所述虚拟场景中的动态遮挡刚体检索对应的动态遮挡信息。4.根据权利要求1或2所述的方法,其特征在于,所述光源信息包括所述光源附着在光源刚体的相对偏移信息和光源半径;所述根据所述光源确定所述虚拟场景中需要进行光照渲染的目标渲染像素点,包括:采用所述光源附着在光源刚体的相对偏移信息确定所述光源的位置;基于所述光源的位置生成针对所述光源的包围盒,根据所述光源的包围盒确定目标画面帧;在所述目标画面帧中,确定处于所述光源半径的范围内的渲染像素点为需要进行光照渲染的目标渲染像素点。5.根据权利要求1所述的方法,其特征在于,所述虚拟场景包括至少一个光源,所述光源信息包括光源照射方向;所述根据所述遮挡信息和所述光源信息,确定所述目标渲染像素点的有向距离,包括:基于各个光源的光源照射方向和遮挡物信息依次对遮挡物进行剔除操作,得到进行剔除操作后的遮挡物信息;根据进行剔除操作后的遮挡物信息和所述光源信息,确定所述目标渲染像素点针对各个光源的有向距离。6.根据权利要求5所述的方法,其特征在于,所述基于各个光源的光源照射方向和遮挡物信息依次对遮挡物进行剔除操作,得到进行剔除操作后的遮挡物信息,包括:生成针对各个光源的包围盒,分别获取与各个光源的包围盒相交的动态遮挡物;从与各个光源的包围盒相交的动态遮挡物中,剔除不处于各个光源的光源照射方向的动态遮挡物,并得到进行剔除操作后的遮挡物信息;所述进行剔除操作后的遮挡物信息包含进行剔除操作后的动态遮挡物信息和进行剔除操作前的静态遮挡物信息。
...

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

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

1