本技术涉及数据处理领域,特别涉及一种图像渲染方法、装置及设备。
背景技术:
1、三维(3dimension,3d)游戏、虚拟现实(virtual reality,vr)技术等需要实时渲染3d图像。这对计算机设备的性能提出了极高的要求。通常,用户侧的轻量级终端设备,例如手机、平板电脑等,难以满足该要求。
2、目前,远端设备渲染3d图像,并将渲染的3d图像交由终端设备现实,使得用户可以使用轻量级终端设备体验3d游戏、虚拟现实内容等。但该方案对远端设备的性能以及网络性能的依赖较高,使得渲染、传输3d图像的代价较高。
技术实现思路
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、接收终端装置发送的操作指令,操作指令影响应用的目标场景中的至少一个三维模型;
38、对目标场景的第二区域对应的待渲染内容进行渲染,获得远端渲染结果,其中,第二区域对应的待渲染内容至少是由远端装置在应用中运行操作指令确定的;
39、发送远端渲染结果至终端装置。
40、第九方面,本技术实施例提供了一种图像渲染方法,该方法应用于渲染系统,渲染系统包括终端装置和远端装置,终端装置和远端装置均运行同一应用,该方法包括:终端装置接收用户发出的操作指令,操作指令影响应用的目标场景中的至少一个三维模型;终端装置根据操作指令对目标场景的第一区域对应的待渲染内容进行渲染,获取本地渲染结果;终端装置将操作指令发送远端装置;远端装置对目标场景的第二区域对应的待渲染内容进行渲染,获得远端渲染结果,其中,第二区域对应的待渲染内容至少是由远端装置在应用中运行操作指令确定的;远端装置向终端装置发送远端渲染结果;终端装置确定未接收到远端渲染结果;终端装置根据本地渲染结果,获得渲染图像。
41、也就是说,在该方案中,当终端装置没有接收到远端渲染结果时,在需要显示场景画面的时刻,可以显示本地渲染结果,从而避免了终端装置屏幕空白的情况,特别是,可以避免网络间歇性连接的情况下,屏幕上闪烁的现象。
42、在一种可能的实现方式中,终端装置根据操作指令对目标场景的第一区域对应的待渲染内容进行渲染,获取本地渲染结果包括:终端装置根据操作指令,对第一区域的待渲染内容进行渲染,获取第一区域的本地渲染结果,以及对第二区域的待渲染内容进行渲染,获取第二区域的本地渲染结果;其中,第二区域的渲染结果的像素密度低于第一区域的渲染结果。
43、也就是说,在该实现方式中,终端装置在渲染第一区域的带渲染内容的同时,也可以按照较低的像素密度渲染第二区域的待渲染内容;从而可以没有接收到远端渲染结果以及在降低对终端装置性能依赖的情况,显示较为完整的场景画面,提高了用户体验。
44、第十方面,本技术实施例提供了一种渲染系统,该渲染系统包括终端装置和远端装置,终端装置和远端装置均运行同一应用,终端装置,用于接收用户发出的操作指令,操作指令影响应用的目标场景中的至少一个三维模型;根据操作指令对目标场景的第一区域对应的待渲染内容进行渲染,获取本地渲染结果;将操作指令发送至远端装置;远端装置,用于对目标场景的第二区域对应的待渲染内容进行渲染,获得远端渲染结果,其中,第二区域对应的待渲染内容至少是由远端装置在应用中运行操作指令确定的;向终端装置发送远端渲染结果;终端装置还用于确定未接收到远端渲染结果;根据本地渲染结果,获得渲染图像。
45、在一种可能的实现方式中,终端装置还用于根据操作指令,对第一区域的待渲染内容进行渲染,获取第一区域的本地渲染结果,以及对第二区域的待渲染内容进行渲染,获取第二区域的本地渲染结果;其中,第二区域的渲染结果的像素密度低于第一区域的渲染结果。
46、第十一方面,本技术实施例提供了一种图像渲染方法,该方法应用于渲染系统的终端装置,渲染系还包括远端装置,终端装置和远端装置均运行同一应用,该方法包括:终端装置接收用户发出的操作指令,操作指令影响应用的目标场景中的至少一个三维模型;终端装置根据操作指令对目标场景的第一区域对应的待渲染内容进行渲染,获取本地渲染结果;终端装置将操作指令发送至远端装置;终端装置确定未接收到远端装置发送的远端渲染结果,远端渲染结果是远端装置对目标场景的第二区域对应的待渲染内容进行渲染获得的,其中,第二区域对应的待渲染内容至少是由远端装置在应用中运行操作指令确定的;终端装置根据本地渲染结果,获得渲染图像。
47、在一种可能的实现方式中,终端装置根据操作指令对目标场景的第一区域对应的待渲染内容进行渲染,获取本地渲染结果包括:终端装置根据操作指令,对第一区域的待渲染内容进行渲染,获取第一区域的本地渲染结果,以及对第二区域的待渲染内容进行渲染,获取第二区域的本地渲染结果;其中,第二区域的渲染结果的像素密度低于第一区域的渲染结果。
48、第十二方面,本技术实施例提供了一种终端装置,终端装置所在的渲染系统还包括远端装置,终端装置和远端装置均运行同一应用,终端装置包括:通信模块,用于接收用户发出的操作指令,操作指令影响应用的目标场景中的至少一个三维模型;渲染模块,用于根据操作指令对目标场景的第一区域对应的待渲染内容进行渲染,获取本地渲染结果;通信模块,还用于将操作指令发送至远端装置;确定未接收到远端装置发送的远端渲染结果,远端渲染结果是由远端装置对目标场景的第二区域对应的待渲染内容进行渲染获得,其中,第二区域对应的待渲染内容至少是由远端装置在应用中运行操作指令确定的;渲染模块,还用于根据本地渲染结果,获得渲染图像。
49、在一种可能的实现方式中,渲染模块还用于根据操作指令,对第一区域的待渲染内容进行渲染,获取第一区域的本地渲染结果,以及对第二区域的待渲染内容进行渲染,获取第二区域的本地渲染结果;其中,第二区域的渲染结果的像素密度低于第一区域的渲染结果。
50、第十三方面,本技术实施例提供了一种终端设备,包括处理器和存储器,处理器用于执行存储器中存储的指令,以执行下述方法:
51、接收用户发出的操作指令,操作指令影响应用的目标场景中的至少一个三维模型;
52、根据操作指令对目标场景的第一区域对应的待渲染内容进行渲染,获取本地渲染结果;
53、将操作指令发送至远端装置;
54、确定未接收远端装置发送的远端渲染结果,远端渲染结果是远端装置对目标场景的第二区域对应的待渲染内容进行渲染获得的,其中,第二区域对应的待渲染内容至少是由远端装置在应用中运行操作指令确定的;
55、根据本地渲染结果,获得渲染图像。
56、第十四方面,本技术实施例提供了一种计算机可读存储介质,包括计算机程序指令,当该计算机程序指令由计算设备集群执行时,该计算设备集群执行如第一方面或第三方面或第四方面或第九方面所提供的方法。
57、第十五方面,本技术实施例提供了一种包含指令的计算机程序产品,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如第一方面或第三方面或第四方面或第九方面所提供的方法。
58、在本技术实施例提供的方案中,终端装置和远端装置均运行同一应用,具有独立渲染应用的场景画面的能力,使得终端装置和远端装置可以分别根据操作指令,渲染应用场景画面中的不同区域,从而充分利用了终端装置的计算资源,降低了对远端装置性能的依赖,以及节省了终端装置和远端装置之间的网络开销。