System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开实施例涉及图像显示领域,具体涉及一种光照渲染方法、系统、电子设备及存储介质。
技术介绍
1、光照探针(light probe)是一种放置在场景(如游戏场景)中的虚拟物体,可以用来收集从场景各个方向接收到的光照信息,然后将光照信息作用到被渲染场景内的物体上,从而影响被渲染场景内物体的光照效果。考虑到场景中的光照信息可能会动态变化,因此,需要针对场景中放置的探针进行动态更新。
2、在相关技术中,场景中的全部探针都采用完全相同的更新方式。但是,由于场景中探针的数量众多,若同时针对所有探针进行更新,势必会导致开销过大,进而影响光照渲染的效果。
技术实现思路
1、鉴于上述问题,提出了本公开以便提供一种克服上述问题或者至少部分地解决上述问题的一种光照渲染方法、系统、电子设备及存储介质。
2、根据本公开实施例的一个方面,提供了一种光照渲染方法,包括:
3、动态确定与虚拟场景中的目标渲染区域相对应的待更新探针;其中,所述待更新探针是在所述目标渲染区域的渲染过程中被调用的探针;
4、根据所述待更新探针的探针调用方式,对所述待更新探针进行更新处理,以根据所述待更新探针中更新后的光照数据进行光照渲染操作。
5、在一种可选的实现方式中,所述根据所述待更新探针的探针调用方式,对所述待更新探针进行更新处理包括:
6、在所述待更新探针的探针调用方式为直接调用方式的情况下,根据直接探针更新策略对所述待更新探针进行更新处理;和/或,
>7、在所述待更新探针的探针调用方式为间接调用方式的情况下,根据间接探针更新策略对所述待更新探针进行更新处理。
8、在一种可选的实现方式中,在接收到直接探针调用指令的情况下,确定所述待更新探针的探针调用方式为直接调用方式;在接收到间接探针调用指令的情况下,确定所述待更新探针的探针调用方式为间接调用方式;
9、其中,所述直接探针调用指令包括:与目标渲染区域的光照渲染操作相关联的探针调用指令;
10、所述间接探针调用指令包括:与光线求解操作相关联的探针调用指令;其中,所述光线求解操作用于在探针更新过程中计算与待更新探针相对应的待求解光线。
11、在一种可选的实现方式中,所述直接探针更新策略的更新频次大于所述间接探针更新策略的更新频次;所述更新频次用于表征探针的更新频率和/或更新次数;
12、所述直接探针更新策略的更新预算大于所述间接探针更新策略的更新预算,所述更新预算用于表征探针更新过程中所需的性能预算;
13、所述直接探针更新策略的探针生命值小于所述间接探针更新策略的探针生命值,所述探针生命值用于表征待更新探针处于激活状态的时长。
14、在一种可选的实现方式中,所述更新预算根据探针更新过程中所需的待求解光线数量、和/或待求解光线的交点追踪距离确定;
15、并且,所述直接探针更新策略对应的待求解光线数量大于间接探针更新策略对应的待求解光线数量,和/或,直接探针更新策略对应的待求解光线的交点追踪距离小于间接探针更新策略对应的待求解光线的交点追踪距离。
16、在一种可选的实现方式中,所述待更新探针的数量为多个,所述根据所述待更新探针的探针调用方式,对所述待更新探针进行更新处理之前,还包括:
17、在多个待更新探针的更新预算的总和超过预设的预算上限阈值的情况下,对所述多个待更新探针的更新预算进行调整,以使调整后的多个待更新探针的更新预算的总和不超过所述预算上限阈值;
18、其中,所述预设的预算上限阈值根据运算性能参数确定;且所述运算性能参数包括以下中的至少一个:根据设备参数确定的设备类运算性能参数、根据网络参数确定的网络类运算性能参数、根据系统资源占用情况确定的资源类运算性能参数。
19、在一种可选的实现方式中,所述根据直接探针更新策略对所述待更新探针进行更新处理包括:
20、针对探针更新过程中的待求解光线,若根据光线追踪算法以及符号距离场,确定在预设追踪距离内不存在与所述待求解光线相对应的光线交点,根据所述待求解光线上与所述预设追踪距离相对应的位置点的光照信息,计算待求解光线的光线计算结果。
21、在一种可选的实现方式中,若在预设追踪距离内存在与所述待求解光线相对应的光线交点,将所述与所述光线交点相邻的探针确定为与第一类间接探针更新策略相对应的待更新探针;
22、若在预设追踪距离内不存在与所述待求解光线相对应的光线交点,将所述与所述预设追踪距离相对应的位置点相邻的探针确定为与第二类间接探针更新策略相对应的待更新探针;
23、其中,所述第二类间接探针更新策略对应的更新预算大于所述第一类间接探针更新策略对应的更新预算。
24、在一种可选的实现方式中,所述方法应用于虚拟游戏场景,所述对所述待更新探针进行更新处理包括:
25、根据所述虚拟游戏场景中的直接光照信息对所述待更新探针进行更新处理;
26、其中,所述虚拟游戏场景中的直接光照信息根据虚拟游戏场景中与时钟数据相对应的主光源信息确定;其中,所述主光源信息随时钟数据的昼夜变化而动态变化。
27、在一种可选的实现方式中,所述与虚拟场景中的目标渲染区域相对应的待更新探针的数量为多个,且多个待更新探针中更新后的光照数据通过以下方式获取:
28、确定所述目标渲染区域中包含的多个元素;
29、将每个元素对应的探针网格标识转换为一级哈希标识,在预设的一级哈希表中未存储所述一级哈希标识的情况下,将转换后的一级哈希标识存储至所述一级哈希表;
30、获取所述一级哈希表中每个一级哈希标识对应的探针格点标识,将每个探针格点标识转换为二级哈希标识,在预设的二级哈希表中未存储所述二级哈希标识的情况下,将转换后的二级哈希标识存储至所述二级哈希表;其中,所述探针网格标识用于表征探针所在的探针网格,所述探针格点标识用于表征探针在探针网格中的格点位置,一个探针网格包括多个格点位置;
31、根据所述二级哈希表中存储的去重处理后的多个探针格点标识的二级哈希标识,获取与所述多个探针格点标识相对应的待更新探针中更新后的光照数据。
32、在一种可选的实现方式中,所述对所述待更新探针进行更新处理之前,还包括:
33、获取所述待更新探针在探针网格中的初始格点位置;
34、在所述初始格点位置的符号距离场值不满足预设条件的情况下,对所述初始格点位置进行调整,以使调整后的初始格点位置的符号距离场值满足所述预设条件;
35、其中,所述预设条件包括:初始格点位置的符号距离场值为大于预设阈值的正数。
36、根据本公开实施例的一个方面,提供了一种光照渲染系统,包括:
37、动态确定模块,适于动态确定与虚拟场景中的目标渲染区域相对应的待更新探针;其中,所述待更新探针是在所述目标渲染区域的渲染过程中被调本文档来自技高网...
【技术保护点】
1.一种光照渲染方法,包括:
2.根据权利要求1所述的方法,其中,所述根据所述待更新探针的探针调用方式,对所述待更新探针进行更新处理包括:
3.根据权利要求2所述的方法,其中,在接收到直接探针调用指令的情况下,确定所述待更新探针的探针调用方式为直接调用方式;在接收到间接探针调用指令的情况下,确定所述待更新探针的探针调用方式为间接调用方式;
4.根据权利要求2或3所述的方法,其中,所述直接探针更新策略的更新频次大于所述间接探针更新策略的更新频次;所述更新频次用于表征探针的更新频率和/或更新次数;
5.根据权利要求4所述的方法,其中,所述更新预算根据探针更新过程中所需的待求解光线数量、和/或待求解光线的交点追踪距离确定;
6.根据权利要求1-5任一所述的方法,其中,所述待更新探针的数量为多个,所述根据所述待更新探针的探针调用方式,对所述待更新探针进行更新处理之前,还包括:
7.根据权利要求2-6任一所述的方法,其中,所述根据直接探针更新策略对所述待更新探针进行更新处理包括:
8.根据权利要求7所述的方
9.根据权利要求1-8任一所述的方法,其中,所述方法应用于虚拟游戏场景,所述对所述待更新探针进行更新处理包括:
10.根据权利要求1-9任一所述的方法,其中,所述与虚拟场景中的目标渲染区域相对应的待更新探针的数量为多个,且多个待更新探针中更新后的光照数据通过以下方式获取:
11.根据权利要求1-10任一所述的方法,其中,所述对所述待更新探针进行更新处理之前,还包括:
12.一种光照渲染系统,包括:
13.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
14.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-11中任一项所述的方法。
...【技术特征摘要】
1.一种光照渲染方法,包括:
2.根据权利要求1所述的方法,其中,所述根据所述待更新探针的探针调用方式,对所述待更新探针进行更新处理包括:
3.根据权利要求2所述的方法,其中,在接收到直接探针调用指令的情况下,确定所述待更新探针的探针调用方式为直接调用方式;在接收到间接探针调用指令的情况下,确定所述待更新探针的探针调用方式为间接调用方式;
4.根据权利要求2或3所述的方法,其中,所述直接探针更新策略的更新频次大于所述间接探针更新策略的更新频次;所述更新频次用于表征探针的更新频率和/或更新次数;
5.根据权利要求4所述的方法,其中,所述更新预算根据探针更新过程中所需的待求解光线数量、和/或待求解光线的交点追踪距离确定;
6.根据权利要求1-5任一所述的方法,其中,所述待更新探针的数量为多个,所述根据所述待更新探针的探针调用方式,对所述待更新探针进行更新处理之前,还包括:
7.根据权利要求2-6任一所述的方法,其中,所述根据直接探针更新策略对所述待更新探针进行...
【专利技术属性】
技术研发人员:胡晋恺,
申请(专利权)人:上海米哈游天命科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。