【技术实现步骤摘要】
分布式渲染方法及装置
[0001]本申请涉及图像处理
,尤其涉及一种分布式渲染方法及装置。
技术介绍
[0002]随着通信技术的发展,云技术的实现也越来越得到支撑,例如云游戏,可以基于云计算技术,游戏在远程服务器上运行,终端客户不需要下载、安装、也不需要考虑终端配置,只要有网络就能玩大型游戏。同样的还有云手机等。云游戏和云手机等场景,都是重渲染场景,涉及到相应的渲染技术。
[0003]渲染是指由模型生成图像的过程。其中,模型是用语言或者数据结构进行严格定义的三维物体或虚拟场景的描述,它包括几何、视点、纹理、照明和阴影等信息。传统的渲染技术包括虚拟网络计算(virtual network computing,VNC)技术,即在云端完成所有渲染任务,并压缩,在端侧进行解压显示(视频压缩)。这种所有的渲染任务都在云端进行的模式,只会用到端侧设备的视频解码能力,而渲染能力并不会涉及。但是,现今的一些云场景的客户端,依然运行在通用的平台(如手机,个人电脑,平板电脑等),端侧设备依然有可观的渲染能力,对于这部分端侧算力的使用,可以降低云侧渲染算力的需求。为了达到这个目的,可以将渲染任务划分到两端执行,并最终合并,实现分布式渲染技术。
[0004]这种分布式渲染技术,通常按照时间序列,将渲染任务划分成多个时间段内的渲染任务,然后将每个时间段内的渲染任务分别分配给各个节点,实现分布式处理。但是这种分布式处理方式,对于每个时间段内的渲染任务,实际上仍然由单个云侧或端侧进行串行处理,实时性低,无法达成更高的分布式渲 ...
【技术保护点】
【技术特征摘要】
1.一种分布式渲染方法,其特征在于,所述方法包括:获取用于渲染第一图像的渲染指令集合,所述渲染指令集合中包括多个渲染指令,所述渲染指令为执行渲染的指令,或所述渲染指令包括执行渲染的指令和用于为渲染做准备的渲染准备指令;对所述渲染指令集合中部分或全部渲染指令执行空渲染,以获得所述部分或全部渲染指令对应的执行状态;其中,所述空渲染指的是只获取渲染指令的执行状态的变化,而不进行实际的渲染;将第二渲染指令子集的执行状态和第一渲染指令子集发送到第一设备;其中,所述渲染指令集合中包括所述第一渲染指令子集和所述第二渲染指令子集,所述第一渲染指令子集和所述第二渲染指令子集分别包括一个或多个渲染指令,所述第一渲染指令子集的执行依赖于所述第二渲染指令子集的执行状态;所述第一设备用于根据所述第二渲染指令子集的执行状态执行所述第一渲染指令子集中的所述一个或多个渲染指令;将所述第二渲染指令子集发送到第二设备,所述第二设备用于执行所述第二渲染指令子集。2.根据权利要求1所述的方法,其特征在于,所述对所述渲染指令集合中部分或全部渲染指令执行空渲染,以获得所述部分或全部渲染指令对应的执行状态,包括:通过将所述渲染指令集合中部分或全部渲染指令输入状态机,由所述状态机执行所述部分或全部渲染指令;确定一个渲染指令被所述状态机执行完成时,所述渲染指令的上下文中,全局参数值的集合作为所述渲染指令的执行状态。3.根据权利要求1或2所述的方法,其特征在于,当所述第二渲染指令子集包括一个渲染指令时,所述第二渲染指令子集的执行状态为所述渲染指令的执行状态;当所述第二渲染指令子集包括多个顺序执行的渲染指令时,所述第二渲染指令子集的执行状态为所述多个渲染指令中最后一个被执行的渲染指令的执行状态。4.根据权利要求1
‑
3任一项所述的方法,其特征在于,所述渲染指令子集根据设备的渲染能力划分,所述设备包括所述第一设备和所述第二设备,所述渲染指令子集包括所述第一渲染指令子集和所述第二渲染指令子集,所述渲染能力与所述设备执行渲染指令中的渲染任务的效率成正比。5.根据权利要求1
‑
4任一项所述的方法,其特征在于,在所述第一设备根据所述第二渲染指令子集的执行状态执行所述第一渲染指令子集中的所述一个或多个渲染指令,所述第二设备执行所述第二渲染指令子集之前,所述方法还包括:获取所述第一图像的资源创建指令和/或资源销毁指令,所述资源创建指令用于创建所述参数,所述资源销毁指令用于销毁所述资源创建指令创建的参数;将所述资源创建指令和/或资源销毁指令发送到所述第一设备和所述第二设备。6.根据权利要求5所述的方法,其特征在于,所述将所述资源创建指令和/或资源销毁指令分发到所述第一设备和所述第二设备之前,所述方法还包括:确定所述第一渲染指令和所述第二渲染指令的执行与所述资源创建指令创建的参数存在依赖关系。
7.根据权利要求1
‑
6任一项所述的方法,其特征在于,所述方法还包括:从所述第一设备获取第一渲染结果,所述第一渲染结果为所述第一设备执行所述第一渲染指令子集后的结果;和/或从所述第二设备获取第二渲染结果,所述第二渲染结果为所述第二设备执行所述第二渲染指令子集后的结果;将所述第一渲染结果与第二渲染结果合成后获得所述第一图像的渲染结果。8.根据权利要求1
‑
6任一项所述的方法,其特征在于,所述方法还包括:指示所述第一设备获取所述第二设备的第二渲染结果,以及指示所述第一设备合成所述第一渲染结果和所述第二渲染结果;或指示所述第二设备获取所述第一设备的第一渲染结果,以及指示所述第二设备合成所述第一渲染结果和所述第二渲染结果,其中所述第一渲染结果为所述第一设备执行所述第一渲染指令子集后的结果;所述第二渲染结果为所述第二设备执行所述第二渲染指令子集后的结果。9.根据权利要求7或8所述的方法,其特征在于,所述合成所述第一渲染结果和所述第二渲染结果,包括:按照所述渲染指令集合以串行方式执行时第一渲染指令子集和第二渲染指令子集对应的执行顺序合成所述第一渲染结果和所述第二渲染结果。10.一种分布式渲染装置,其特征在于,所述装置包括:获取模块,用于获取用于渲染第一图像的渲染指令集合,所述渲染指令集合中包括多个渲染指令,所述渲染指令为执行渲染的指令,或所述渲染指令包括执行渲染的指令和用于为渲染做准备的渲染准备指令...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。