本技术涉及虚拟场景,更具体地,涉及一种光照烘焙方法、装置、电子设备及计算机可读存储介质。
背景技术:
1、游戏为了提升场景渲染效果,一般会采用离线烘焙光照贴图的方式进行光照烘焙。相关技术中,一般是通过单台计算设备对游戏的虚拟场景进行光照烘焙,这样,如果虚拟场景较大,光照烘焙用时较长。因此,如果缩短虚拟场景的光照烘焙用时是相关技术中亟待解决的技术问题。
技术实现思路
1、鉴于上述问题,本技术实施例提出了一种光照烘焙方法、装置、电子设备及存储介质,以解决相关技术中虚拟场景的光照烘焙用时较长的问题。
2、根据本技术实施例的一个方面,提供了一种光照烘焙方法,应用于烘焙系统中的代理主机,所述烘焙系统包括控制主机、k个代理主机和m台计算设备,其中,k和m为正整数,1≤k≤m,所述k个代理主机受控于所述控制主机,一个代理主机代理至少一台计算设备;各所述代理主机执行如下的步骤:接收控制主机下发的任务指示信息,所述任务指示信息指示了所述代理主机负责的s个地块,所述s个地块是将待烘焙的虚拟场景进行划分所得到n个地块中的部分地块或者全部地块,s为正整数,2≤s≤n;将所述s个地块的光照烘焙任务分配到所述代理主机代理的计算设备;控制所述代理主机代理的计算设备并行执行所分配地块的光照烘焙任务,其中,各所述计算设备根据自身当前待烘焙的目标地块的地块数据和目标地块在所述虚拟场景中邻接的地块的地块数据执行所述目标地块的烘焙任务,所述目标地块的地块数据是从第一文件夹中读取到的,所述目标地块邻接的地块的地块数据是从第二文件夹中读取到的。
3、根据本技术实施例的一个方面,提供了一种光照烘焙方法,应用于烘焙系统中的控制主机,所述烘焙系统包括控制主机、k个代理主机和m台计算设备,其中,k和m为正整数,1≤k≤m,所述k个代理主机受控于所述控制主机,一个代理主机代理至少一台计算设备;所述方法包括:将待烘焙的虚拟场景划分为n个地块;将所述n个地块的光照烘焙任务分配到所述k个代理主机,以确定各所述代理主机负责的地块;根据各所述代理主机负责的地块的地块标识,生成各代理主机的任务指示信息;向各所述代理主机下方对应的任务指示信息,以使各代理主机将负责的地块的光照烘焙任务下发到所代理的计算设备,由各代理主机代理的计算设备并行执行对应地块的光照烘焙任务,其中,各所述计算设备根据自身当前待烘焙的目标地块的地块数据和目标地块在所述虚拟场景中邻接的地块的地块数据执行所述目标地块的烘焙任务,所述目标地块的地块数据是从第一文件夹中读取到的,所述目标地块邻接的地块的地块数据是从第二文件夹中读取到的。
4、根据本技术实施例的一个方面,提供了一种烘焙系统,所述烘焙系统包括控制主机、k个代理主机和m台计算设备,其中,k和m为正整数,1≤k≤m,所述k个代理主机受控于所述控制主机,一个代理主机代理至少一台计算设备;所述代理主机用于:接收控制主机下发的任务指示信息,所述任务指示信息指示了所述代理主机负责的s个地块,所述s个地块是将待烘焙的虚拟场景进行划分所得到n个地块中的部分地块或者全部地块,s为正整数,2≤s≤n;将所述s个地块的光照烘焙任务分配到所述代理主机代理的计算设备;控制所述代理主机代理的计算设备并行执行所分配地块的光照烘焙任务,其中,各所述计算设备根据自身当前待烘焙的目标地块的地块数据和目标地块在所述虚拟场景中邻接的地块的地块数据执行所述目标地块的烘焙任务,所述目标地块的地块数据是从第一文件夹中读取到的,所述目标地块邻接的地块的地块数据是从第二文件夹中读取到的。
5、根据本技术实施例的一个方面,提供了一种光照烘焙装置,应用于烘焙系统中的代理主机,所述烘焙系统包括控制主机、k个代理主机和m台计算设备,其中,k和m为正整数,1≤k≤m,所述k个代理主机受控于所述控制主机,一个代理主机代理至少一台计算设备;所述光照烘焙装置包括:任务指示信息接收模块,用于接收控制主机下发的任务指示信息,所述任务指示信息指示了所述代理主机负责的s个地块,所述s个地块是将待烘焙的虚拟场景进行划分所得到n个地块中的部分地块或者全部地块,s为正整数,2≤s≤n;第一分配模块,用于将所述s个地块的光照烘焙任务分配到所述代理主机代理的计算设备;第一控制模块,用于控制所述代理主机代理的计算设备并行执行所分配地块的光照烘焙任务,其中,各所述计算设备根据自身当前待烘焙的目标地块的地块数据和目标地块在所述虚拟场景中邻接的地块的地块数据执行所述目标地块的烘焙任务,所述目标地块的地块数据是从第一文件夹中读取到的,所述目标地块邻接的地块的地块数据是从第二文件夹中读取到的。
6、根据本技术实施例的一个方面,提供了一种光照烘焙装置,应用于烘焙系统中的控制主机,所述烘焙系统包括控制主机、k个代理主机和m台计算设备,其中,k和m为正整数,1≤k≤m,所述k个代理主机受控于所述控制主机,一个代理主机代理至少一台计算设备;所述装置包括:划分模块,用于将待烘焙的虚拟场景划分为n个地块;第二分配模块,用于将所述n个地块的光照烘焙任务分配到所述k个代理主机,以确定各所述代理主机负责的地块;任务指示信息生成模块,用于根据各所述代理主机负责的地块的地块标识,生成各代理主机的任务指示信息;任务指示信息下发模块,用于向各所述代理主机下方对应的任务指示信息,以使各代理主机将负责的地块的光照烘焙任务下发到所代理的计算设备,由各代理主机代理的计算设备并行执行对应地块的光照烘焙任务,其中,各所述计算设备根据自身当前待烘焙的目标地块的地块数据和目标地块在所述虚拟场景中邻接的地块的地块数据执行所述目标地块的烘焙任务,所述目标地块的地块数据是从第一文件夹中读取到的,所述目标地块邻接的地块的地块数据是从第二文件夹中读取到的。
7、根据本技术实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述光照烘焙方法。
8、根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述光照烘焙方法。
9、根据本技术实施例的一个方面,提供了一种计算机程序产品,其包括计算机指令,所述计算机指令被处理器执行时实现如上的光照烘焙方法。
10、在本技术中,一方面,将虚拟场景中多个地块的光照烘焙任务下发到多个计算设备,以使多个计算设备并行执行所对应地块的光照烘焙任务,相较于由一台计算设备对虚拟场景进行光照烘焙,本技术可以大幅缩短虚拟场景的光照烘焙的用时;另一方面,由于针对一地块进行光照烘焙的光子追踪阶段需要参考该地块邻接的地块的数据,为了避免多台计算设备并行对多个地块进行烘焙过程中出现地块互斥的情况下,在本技术中,部署了第一文件夹和第二文件夹,对于各计算设备利用从第一文件夹中加载当前待烘焙的目标地块的地块数据,从第二文件夹加载目标地块邻接的地块的地块数据来执行所对应目标地块的光照烘焙任务,从而,可以有效解决在多个计算设备并行对多个地块进行烘焙处理过程中因地块互斥问题导致的不同计算设备之间进行等待的问题,从而可以提升并行光照烘焙的效率,有效利用计算设备的处理资源,缩短虚拟场景的光照烘焙用时。