一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

渲染方法、设备以及系统与流程

2022-11-30 08:37:39 来源:中国专利 TAG:


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.图1是本技术涉及的一种渲染系统的结构示意图;
39.图2是本技术涉及的另一种渲染系统的结构示意图;
40.图3是本技术涉及的从多个视角观看目标场景的示意图;
41.图4是本技术涉及的一种渲染过程的示意图;
42.图5是本技术提供的一种渲染方法的流程示意图;
43.图6是本技术提供的第一用户观察目标场景的视角的示意图;
44.图7是本技术提供的一种光栅化渲染方法的流程示意图;
45.图8是本技术提供的顶点着色器的变换的过程的示意图;
46.图9是本技术提供的曲面细分技术的示意图;
47.图10是本技术涉及的另一种渲染系统的结构示意图;
48.图11是本技术涉及的另一种渲染过程的示意图;
49.图12是本技术提供的另一种渲染方法的流程示意图;
50.图13是本技术提供的又一种渲染方法的流程示意图;
51.图14是本技术提供的一种渲染装置的结构示意图;
52.图15是本技术提供的另一种渲染装置的结构示意图;
53.图16是本技术提供的一种渲染引擎系统的结构示意图;
54.图17是本技术提供的一种计算设备集群的结构示意图;
55.图18是本技术提供的一种计算设备的结构示意图。
具体实施方式
56.下面结合本技术实施例中的附图对本技术实施例进行描述。
57.本技术实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
58.本技术实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下中的至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a、b、c、a-b、a-c、b-c或a-b-c,其中a、b、c可以是单个,也可以是多个。
59.下面对本技术实施例涉及的应用场景进行简要说明。
60.请参阅图1,图1为本技术涉及的一种渲染系统的结构示意图,该渲染系统可以包括多个终端设备110(在图1中以多个终端设备110为第一终端设备和第二终端设备为例),多个终端设备110中的每个终端设备110可以通过自身包括的物理引擎进行物理模拟,得到物理模拟结果,然后调用渲染引擎根据物理模拟结果对虚拟场景进行渲染,得到渲染图像。其中,
61.终端设备110可以是需要显示渲染图像的设备,例如,可以是用于飞行训练的虚拟现实设备(virtual reality,vr)、可以是用于虚拟游戏的电脑以及用于虚拟商城的智能手机等等,此处不作具体限定。终端设备110的操作系统可以是ios、android、windows、linux等。由于物理引擎和渲染引擎是包在渲染应用(指需要显示渲染图像的应用)安装包内由用户下载安装到终端设备110,因此,渲染应用在终端设备110上运行时,物理引擎和渲染引擎也会同步运行。其中,渲染应用可以是游戏应用、军事仿真应用、智慧城市仿真应用等。
62.物理引擎用于在渲染应用运行时,使用对象属性(如速度、加速度、动量、冲量、力、力矩、阻尼、扭矩或者弹性等)对虚拟场景中至少一个三维模型的运动、旋转和碰撞等行为进行物理模拟,以及用于对发生碰撞后的三维模型的骨骼运动进行物理模拟,得到物理模拟结果,如三维模型(如角色、动物、植物等)上的点的坐标、点移动的速度、点移动的加速度、点移动的角度和点移动的方向等。物理引擎甚至可以模拟复杂的机械装置,如球形关
节、轮子、气缸或者铰链等。
63.渲染引擎可以包括下述管线中的至少一种:光线跟踪渲染器、光栅化渲染管线等。渲染引擎可以根据物理引擎发送的物理模拟结果进行渲染,得到渲染图像,并将渲染图像实时显示在终端设备110上。渲染引擎除了可以根据物理模拟结果进行渲染外,自身也可以做一些简单的渲染,例如对虚拟画面的光影进行渲染、对角色的服饰进行渲染等。
64.可以理解,图1所示的渲染系统仅仅是作为一种示例,在具体实现中,图1所示的渲染系统还可以包括声音引擎等,其中,声音引擎用于为用户提供声音效果。
65.然而,随着用户审美水平的不断提高,在终端设备110上安装的渲染应用运行时,需要物理引擎计算的物理模拟结果的数据量越来越大,但终端设备110通常是体积小、计算能力以及存储能力均有限的电子设备,因此,部署于终端设备110上的物理引擎的计算必然会受到终端设备110能力的限制,导致物理引擎无法计算得到大量的物理模拟结果,从而导致渲染应用的运行出现卡顿或者停止等现象。
66.为了解决上述问题,可以将物理引擎从终端设备110上分离,部署到计算能力和存储能力均较高的远程计算平台(如个人计算机、云服务器)上,使得物理引擎的计算不再受限于终端设备110。
67.请参见图2,图2为本技术涉及的一种将物理引擎部署到远程计算平台130的渲染系统的结构示意图,如图2所示,该渲染系统包括:终端设备110、网络设备120、以及远程计算平台130。其中,
68.远程计算平台130可以是个人计算机,也可以是云服务器。图2以远程计算平台130是云服务器为例,远程计算平台130包括多个远程计算节点,每个远程计算节点自下而上包括硬件、虚拟化服务、物理引擎以及渲染服务端应用。
69.硬件包括计算资源、存储资源以及网络资源。计算资源可以采用异构计算架构,例如,可以采用中央处理器(central processing unit,cpu) 图形处理器(graphics processing unit,gpu)架构,cpu ai芯片,cpu gpu ai芯片架构等等,此处不作具体限定。存储资源可以包括内存等等。这里,计算资源可以被分成多个计算单位资源,存储资源可以被分成多个存储单位资源,网络资源可以被分成多个网络单位资源,因此,远程计算平台130可以按照用户的资源需求以单位资源为基础进行自由组合,从而用户的需要提供资源。例如,计算资源可以被分成5u的计算单位资源,存储资源可以被分成10g的存储单位资源,则计算资源和存储资源的组合可以是,5u 10g,5u 20g,5u 30u,

,10u 10g,10u 20g,10u 30u,


70.虚拟化服务是通过虚拟化技术将多个物理主机的资源构建为统一的资源池,并按照用户的需要灵活地隔离出相互独立的资源以运行用户的应用程序的服务。
71.虚拟化服务可以包括虚拟机(virtual machine,vm)服务、裸金属服务器(bare metal server,bms)服务以及容器(container)服务。其中,vm服务可以是通过虚拟化技术在多个物理主机上虚拟出虚拟机(virtual machine,vm)资源池以为用户按需提供vm进行使用的服务。bms服务是在多个物理主机上虚拟出bms资源池以为用户按需提供bms进行使用的服务。容器服务是在多个物理主机上虚拟出容器资源池以为用户按需提供容器进行使用的服务。vm是模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。bms是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。容器
是一种内核虚拟化技术,可以提供轻量级的虚拟化,以达到隔离用户空间、进程和资源的目的。应理解,上述虚拟化服务中的vm服务、bms服务以及容器服务仅仅是作为具体的事例,在实际应用中,虚拟化服务还可以其他轻量级或者重量级的虚拟化服务,此处不作具体限定。
72.物理引擎可以用于实现物理模拟算法,如牛顿运动定律、万有引力公式、动量守恒定律等等;渲染服务端应用可以用于调用物理引擎以完成物理模拟得到物理模拟结果。
73.渲染应用服务端在得到物理模拟结果后,可以通过网络设备120将物理模拟结果发送给终端设备110上的渲染应用客户端,由渲染应用客户端调用渲染引擎根据物理模拟结果进行渲染,得到渲染图像。可以看出,渲染应用客户端相当于用户和渲染应用服务端之间的中介,渲染应用客户端和渲染应用服务端统称为渲染应用。
74.在一种具体的实现方式中,渲染应用服务端和渲染应用客户端可以是渲染应用提供商提供的,物理引擎和渲染引擎可以是云服务提供商提供的。举个例子说明,渲染应用开发商将渲染应用服务端安装在云服务提供商提供的远程计算平台130上,渲染应用开发商将渲染应用客户端通过互联网提供给用户下载,并安装在用户的终端设备110上。此外,云服务提供商还提供了物理引擎和渲染引擎,物理引擎可以为渲染应用提供计算能力,渲染引擎可以为渲染应用提供渲染能力。
75.在另一种具体的实现方式中,渲染应用客户端、渲染应用服务端、物理引擎和渲染引擎可以均是云服务提供商提供的。
76.在具体实现中,远程计算平台130可以部署在云上,远程计算平台130和终端设备110一般部署在不同的数据中心乃至地理区域内,通过网络设备120进行通信。
77.网络设备120用于在终端设备110通过任何通信机制/通信标准的通信网络与远程计算平台130之间传输数据。其中,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
78.在图2所示的渲染系统中,若多用户参与同一目标场景,为了能够让每个用户都产生置身其中的真实感,往往不同的用户需要的是从不同的视角生成同一个目标场景的渲染图像。其中,目标场景指渲染应用运行时的虚拟场景,若渲染应用运行时,其包括一个虚拟场景,那么目标场景为该虚拟场景。若渲染应用运行时,其包括一个大的虚拟场景,该大的虚拟场景中包括多个小的子场景,那么目标场景可以为上述大的虚拟场景,还可以为上述大的虚拟场景中包括的多个小的子场景中的一个或多个。
79.举例来讲,假设渲染应用为可以创建虚拟房间的游戏应用,每个虚拟房间为一个子场景。若用户a对应的虚拟角色和用户b对应的虚拟角色在游戏应用中均处于虚拟房间1,用户c对应的虚拟角色在游戏应用中处于虚拟房间2。那么用户a和用户b参与的目标场景可以为虚拟房间1对应的子场景,也可以为包括了虚拟房间1对应的子场景和虚拟房间2对应的子场景的虚拟场景。
80.又例如,假设渲染应用为包括不同图层的应用,每个图层为一个子场景,若用户a对应的虚拟角色和用户b对应的虚拟角色在渲染应用中均处于图层1,用户c对应的虚拟角色在渲染应用中处于图层2,那么用户a和用户b参与的目标场景可以为图层1对应的子场景,也可以为包括了图层1对应的子场景和图层2对应的子场景的虚拟场景。
81.多用户参与同一目标场景,也可以称为多用户观察同一目标场景,其中,用户观察目标场景,表示用户的视点朝向目标场景。
82.更具体地,目标场景包括光源以及三维模型,光源产生的光线投射在三维模型中。同一个目标场景中不同的用户需要从不同的视角生成渲染图像。如图3所示,假设目标场景如图3中的上面所示,当第一终端设备对应的第一用户从第一视角观察目标场景时,需要生成的渲染图像如图3中的左边所示,当第二终端设备对应的第二用户从第二视角观察目标场景时,需要生成的渲染图像如图3中的右边所示。
83.第一终端设备和第二终端设备可以分别独立地利用远程计算平台130的资源对目标场景进行渲染,从而得到不同角度的渲染图像,该过程具体为:
84.如图4所示,第一终端设备通过网络向远程计算平台130发送操作指令,远程计算平台130在接收到操作指令后,根据操作指令生成第一计算任务和第二计算任务,然后调用与第一终端设备对应的第一物理引擎执行第一计算任务获取第一物理模拟结果,在获取到第一物理模拟结果后,将第一物理模拟结果通过网络发送给第一终端设备,由第一终端设备上的第一渲染引擎根据第一物理模拟结果从第一用户的视角出发对目标场景进行渲染,从而得到与第一用户的视角对应的第一渲染图像;远程计算平台130调用与第二终端设备对应的第二物理引擎执行第二计算任务获取第二物理模拟结果,将第二物理模拟结果通过网络发送给第二终端设备,由第二终端设备上的第二渲染引擎根据第二物理模拟结果从第二用户的视角出发对目标场景进行渲染,从而得到与第二用户的视角对应的第二渲染图像。
85.其中,操作指令可以影响目标场景中的至少一个三维模型,第一物理引擎根据第一计算任务获取的第一物理模拟结果包括目标场景中被操作指令影响后的三维模型的物理信息,第二物理引擎根据第二计算任务获取的第二物理模拟结果也包括目标场景中被操作指令影响后的三维模型的物理信息,因此,第一物理模拟结果和第二物理模拟结果相同,其中,目标场景中被操作指令影响后的三维模型的物理信息可以包括如下任意一种或多种:被操作指令影响后的三维模型上的点的坐标、点移动的速度、点移动的加速度、点移动的角度和点移动的方向等等。
86.可以看出,在多用户参与同一目标场景且多用户需要从不同的视角生成同一个目标场景的渲染图像的情况下,上述渲染过程由于远程计算平台130上的第一物理引擎和第二物理引擎没有共享获取的物理模拟结果,导致第一物理引擎和第二物理引擎获取了两份相同的物理模拟结果,造成了远程计算平台130的计算资源的浪费。可以理解,若有大量用户需要从不同的视角生成同一个目标场景的渲染图像,则会耗费大量的计算资源。
87.为了解决上述问题,本技术提供了一种渲染方法,远程计算平台130无需针对第一终端设备和第二终端设备各部署一个物理引擎,其可以部署一个可供第一终端设备和第二终端设备共享的物理引擎(以下简称为共享物理引擎),在第一终端设备和第二终端设备需要从不同的视角生成同一个目标场景的渲染图像时,远程计算平台120可以调用该共享物理引擎计算得到一份可共享的物理模拟结果,然后共享物理引擎将物理模拟结果分别发送给第一终端设备和第二终端设备,使得第一终端设备上的第一渲染引擎可以根据物理模拟结果进行渲染得到第一渲染图像,以及使得第二终端设备上的第二渲染引擎可以根据物理模拟结果进行渲染,得到第二渲染图像,无需远程计算平台130调用两个物理引擎计算得到两份相同的物理模拟结果,可以有效地节约远程计算平台130的计算资源。
88.为了便于更清楚地理解本技术实施例,下面结合图5所示的交互示意图对本技术
提供的渲染方法进行详细描述,如图5所示,该方法包括:
89.s101:远程计算平台130上的共享物理引擎获取操作指令。
90.共享物理引擎获取的操作指令可以是第一终端设备发送的第一操作指令,也可以是第二终端设备发送的第二操作指令,还可以是合并指令,即远程计算平台130在接收到第一终端设备和第二终端设备并发发送的第一操作指令和第二操作指令后,将两个操作指令合并得到的指令。
91.s102:共享物理引擎根据操作指令获取物理模拟结果。
92.物理模拟的结果的定义与上文第一物理模拟结果的定义相同,具体可以参考上文中的相关描述。
93.s103:共享物理引擎将物理模拟结果发送给第一终端设备上的第一渲染引擎,相应地,第一终端设备上的第一渲染引擎接收共享物理引擎发送的物理模拟结果。
94.s104:共享物理引擎将物理模拟结果发送给第二终端设备上的第二渲染引擎,相应地,第二终端设备上的第二渲染引擎接收共享物理引擎发送的物理模拟结果。
95.s105:第一终端设备上的第一渲染引擎根据物理模拟结果进行渲染,得到第一渲染图像。
96.s106:第二终端设备上的第二渲染引擎根据物理模拟结果进行渲染,得到第二渲染图像。
97.在本技术具体的实施例中,第一终端设备上的第一渲染引擎可以根据第一用户观察目标场景的视角和物理模拟结果进行渲染,得到第一渲染图像,第二终端设备上的第二渲染引擎可以根据第二用户观察目标场景的视角和物理模拟结果进行渲染,得到第二渲染图像。如图6所示,第一用户观察目标场景的视角可以表示为(p1,θ1),其中,p1为第一用户的视点e1到第一渲染图像的垂直距离,θ1为该视点e1到第一渲染图像的中心点o的连线与水平线的夹角。
98.可以理解,如果图2所示的渲染系统还存在第三终端设备和第四终端设备,第三终端设备和第四终端设备也需要对目标场景进行不同视角的渲染,从而得到第三渲染图像和第四渲染图像,此时,远程计算平台130也只需要进行计算一次物理模拟结果即可,不需要分别进行四次计算得到四份相同的物理模拟结果,能够有效地减少计算资源的浪费。
99.上述s103至s104的执行可以并行或者以任意顺序先后执行,上述s105至s106的执行可以并行或者以任意顺序先后执行。
100.在本技术具体的实施例中,第一终端设备上的第一渲染引擎和第二终端设备上的第二渲染引擎可以采用光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法进行渲染,得到第一渲染图像和第二渲染图像。
101.下面以第一终端设备上的第一渲染引擎采用光栅化渲染方法进行渲染为例,对实现渲染的过程进行详细描述。
102.参见图7,图7是本技术提供的一种光栅化渲染方法的原理示意图,如图7所示,本技术提供的光栅化渲染方法通常包括应用阶段、几何阶段以及光栅化阶段。其中,
103.应用阶段:主要分三个任务:(1)准备场景数据,如场景中的三维模型的信息,光照信息等;(2)为了提高渲染性能,通常需要做一个粗粒度剔除(culling)工作,把那些在场景中不可见的物体剔除出去,这样这些物体就不需要再移交给几何阶段处理;(3)设置每个三
维模型的渲染状态,如使用的材质、纹理等。应用阶段的输出是渲染所需的几何信息,即渲染图元,其中,每个渲染图元里包含了该图元所对应的所有顶点数据,渲染图元可以是点、线、三角形等,这些渲染图元将会传递到几何阶段。
104.几何阶段:通常包括顶点规格(vertex specification)、顶点着色器(vertex shader)、图元装配、曲面细分技术(tessellation)、几何着色器(geometry shader)、顶点后处理(vertex post-processing)、图元装配(primitive assembly)、光栅化(rasterization)、片段着色器(fragment shader)以及逐像素处理(per-sample operations)等等多个分阶段。
105.顶点规格通常用于获取顶点数据。其中,所述顶点数据是根据目标场景中的三维模型生成的,所述顶点数据包括顶点的三维坐标,顶点数据还可以包括顶点的法向量以及顶点的颜色等等。顶点可以是三维模型上的点,例如,三维模型中多边形两条边相交的地方、三维模型中两条边的公共端点等等。
106.顶点着色器通常用于将顶点的三维坐标从模型空间(object space)变换至屏幕空间(screen/image space)。如图8所示,变换的过程可以是:从模型空间变换为世界空间(world space),再从世界空间变换为视景空间(view space),再从视景空间变换为标称投影空间(normalized projection space),再从标称投影空间变换为屏幕空间。其中,视景空间中包括视椎体,视椎体内的空间是从用户的视角可以看到的空间,视椎体外的空间是从用户的视角无法看到的空间。
107.曲面细分技术用于将三维模型中的顶点的数量大幅增加。如图9所示,假设三维模型包括构成三角形的三个顶点,在进行曲面细分前,如图9左边所示,三维模型中有三个顶点。在进行曲面细分后,如图9右边所示,三维模型中的顶点数量从三个变成了六个。可以看出,在曲面细分前三维模型显得粗糙而且僵硬,在曲面细分后三维模型显得逼真而且生动。
108.几何着色器用于将三维模型中的一个或多个顶点转变为完全不同的基本图形(primitive),从而生成更多的顶点。
109.顶点后处理用于对图元进行裁剪(clipping),即,如果图元部分在视椎体之外,部分在视椎体之内,则需要将该图元在视椎体之外的部分进行裁剪,只保留视椎体之内的部分。
110.图元装配通常用于将把三维模型中的顶点装配成几何图元,这个阶段将产生一系列的三角形、线段和点。其中,装配好的线段可以包括独立的线段、首尾相连但是最终不闭合的线段、首尾相连最终封口闭合的线段等。装配好的三角形可以包括独立的三角形、线性连续三角形串、扇形连续三角形等。在此阶段,还可以进行剔除,即,从场景中移除看不到的物体。这里,剔除可以包括视椎体剔除(frustum culling)、视口剔除以及遮挡剔除(occlusion culling)。
111.光栅化阶段包括光栅化、片段着色器(fragment shader)以及逐像素处理(per-sample operation)。
112.光栅化是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图像的作用,特点是每个元素对应帧缓冲区中的一个像素。因此,光栅化的第一部分工作:决定窗口坐标中的哪些整型栅格区域被图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域。光栅化过程产生的是片元(fragment),其中,二维图像上每个点都包含了颜
色、深度和纹理数据,将该点和相关信息叫做一个片元。
113.片段着色器用于计算像素最后的颜色输出。
114.逐像素处理包括深度测试以及透明度处理。可以理解,如果我们先绘制一个距离较近的物体,再绘制距离较远的物体,则距离远的物体因为后绘制,会把距离近的物体覆盖掉,这样的效果并不是我们所希望的,而深度测试其实就是记录像素点在3d世界中距离摄像机的距离(绘制坐标),深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值(z值)越大,则离摄像机越远,因此,有了深度缓存以后,绘制物体的顺序就不那么重要了,都能按照远近(z值)正常显示。
115.上述方案中,是以光栅化渲染方法的处理顺序为:顶点着色器、曲面细分技术、几何着色器、顶点后处理(包括裁剪)、图元装配(包括剔除)、光栅化、片段着色器以及逐像素处理为例进行介绍的,在实际应用中,光栅化渲染方法的处理顺序可以发生变化,此处不作具体限定。
116.第二终端设备上的第二渲染引擎采用光栅化渲染方法进行渲染的原理与上述第一终端设备上的第一渲染引擎采用光栅化渲染方法进行渲染的原理相同,此处不再展开赘述。
117.在考虑如何解决图1所示的渲染系统存在的问题时,将渲染引擎也从终端设备110上分离,部署到远程计算平台130上,可以进一步节省终端设备110的资源。
118.请参见图10,图10为本技术提供的一种将物理引擎和渲染引擎都部署到远程计算平台130的渲染系统的结构示意图,如图10所示,该渲染系统包括:终端设备110、网络设备120、以及远程计算平台130,远程计算平台130上包括物理引擎以及渲染引擎。
119.在图10所示的渲染系统中,用户可以通过渲染应用客户端输入操作指令,渲染应用客户端通过网络将操作指令发送给远程计算平台130上的渲染应用服务端,由渲染应用服务端调用物理引擎根据操作指令计算得到物理模拟结果后,再由渲染应用服务端调用渲染引擎根据物理模拟结果进行渲染得到渲染图像,然后将渲染图像通过网络发送至终端设备110呈现给用户。
120.在图10所示的渲染系统中,若多用户参与同一目标场景,为了能够让每个用户都产生置身其中的真实感,往往不同的用户需要的也是从不同的角度生成同一个目标场景的渲染图像。
121.第一终端设备和第二终端设备可以分别独立地利用远程计算平台130的资源对目标场景进行渲染,从而得到不同角度的渲染图像,该过程具体为:
122.如图11所示,第一终端设备通过网络向远程计算平台130发送操作指令,远程计算平台130在接收到操作指令后,根据操作指令生成第一计算任务和第二计算任务,然后调用部署于远程计算平台130上的与第一终端设备对应的第一物理引擎,执行第一计算任务获取第一物理模拟结果,在获取到第一物理模拟结果后,调用部署于远程计算平台130上的与第一终端设备对应的第一渲染引擎,根据第一物理模拟结果从第一用户的视角出发对目标场景进行渲染,从而得到与第一用户的视角对应的第一渲染图像;远程计算平台130调用部署于远程计算平台130上的与第二终端设备对应的第二物理引擎,执行第二计算任务获取第二物理模拟结果,在获取到第二物理模拟结果后,调用部署于远程计算平台130上的与第二终端设备对应的第二渲染引擎,根据第二物理模拟结果从第二用户的视角出发对目标场
景进行渲染,从而得到与第二用户的视角对应的第二渲染图像。
123.可以看出,上述渲染过程中,由于远程计算平台130上的第一物理引擎和第二物理引擎之间没有共享获取的物理模拟结果,导致第一物理引擎和第二物理引擎计算得到了两份相同的物理模拟结果,也存在浪费了远程计算平台130的计算资源的问题。
124.为了解决上述问题,本技术提供另一种渲染方法,远程计算平台130无需针对第一终端设备和第二终端设备各部署一个物理引擎,其可以部署一个可供第一终端设备和第二终端设备共享的共享物理引擎,在第一终端设备和第二终端设备需要从不同的视角生成同一个目标场景的渲染图像时,远程计算平台120可以调用该共享物理引擎计算得到一份可共享的物理模拟结果,然后共享物理引擎将该物理模拟结果分别发送给与第一终端设备对应的部署于远程计算平台130的第一渲染引擎和与第二终端设备对应的部署于远程计算平台130的第二渲染引擎,使得部署于远程计算平台130上的第一渲染引擎可以根据第一用户观察目标场景的视角以及物理模拟结果进行渲染,得到第一渲染图像并发送给第一终端设备,以及使得部署于远程计算平台130上的第二渲染引擎可以根据第二用户观察目标场景的视角以及物理模拟结果进行渲染,得到第二渲染图像并发送给第二终端设备,无需远程计算平台130调用两个物理引擎计算得到两份相同的物理模拟结果,可以有效地节约远程计算设备平台130的计算资源。
125.为了便于更清楚地理解本技术实施例,下面结合图12所示的交互示意图对本技术提供的渲染方法进行详细描述,如图12所示,该方法包括:
126.s201:远程计算平台130上的共享物理引擎获取操作指令。
127.s202:共享物理引擎根据操作指令获取物理模拟结果。
128.s203:共享物理引擎将物理模拟结果发送给部署于远程计算平台130上的第一渲染引擎,相应地,远程计算平台130上的第一渲染引擎接收共享物理引擎发送的物理模拟结果。
129.s204:共享物理引擎将物理模拟结果发送给部署于远程计算平台130上的第二渲染引擎,相应地,远程计算平台130上的第二渲染引擎接收共享物理引擎发送的物理模拟结果。
130.s205:远程计算平台130上的第一渲染引擎根据物理模拟结果进行渲染,得到第一渲染图像。
131.s206:远程计算平台130上的第二渲染引擎根据物理模拟结果进行渲染,得到第二渲染图像。
132.s207:远程计算平台130上的第一渲染引擎将第一渲染图像发送给第一终端设备。
133.s208:远程计算平台130上的第二渲染引擎将第二渲染图像发送给第二终端设备。
134.在本技术具体的实施例中,远程计算平台130上的第一渲染引擎可以根据第一用户观察目标场景的视角和物理模拟结果进行渲染,得到第一渲染图像,远程计算平台130上的第二渲染引擎可以根据第二用户观察目标场景的视角和物理模拟结果进行渲染,得到第二渲染图像。因此,在远程计算平台130上的第一渲染引擎进行渲染之前,远程计算平台130上的第一渲染引擎可以先获取第一用户观察目标场景的视角,在远程计算平台130上的第二渲染引擎进行渲染之前,远程计算平台130上的第二渲染引擎可以先获取第二用户观察目标场景的视角。
135.在本技术具体的实施例中,远程计算平台130上的第一渲染引擎获取第一用户观察目标场景的视角的方式可以为:
136.可能的实现方式一、操作指令是由第一终端设备发送的第一操作指令,或者是由第一终端设备发送的第一操作指令和第二终端设备发送的第二操作指令合并生成的指令,该操作指令包括第一用户观察目标场景的视角,因此,远程计算平台130在获取到操作指令后,将操作指令中包括的第一用户观察目标场景的视角发送给远程计算平台130上的第一渲染引擎。
137.可能的实现方式二、操作指令是由第一终端设备发送的,或者是由第一终端设备发送的第一操作指令和第二终端设备发送的第二操作指令合并生成的指令,该操作指令包括第一用户标识,在远程计算平台130中保存有多个用户标识、多个用户观察目标场景的视角以及多个用户标识与多个用户观察目标场景的视角之间的对应关系的情况下,远程计算平台130在接收到操作指令后,可以根据操作指令中包括的第一用户标识从多个用户观察目标场景的视角中查找到与第一用户标识存在对应关系的视角,该视角即为第一用户观察目标场景的视角。其中,远程计算平台130保存的第一用户观察目标场景的视角可以为第一用户上一次向远程计算平台130发送的第一操作指令携带的。
138.可能的实现方式三、操作指令是由第二终端设备发送的第二操作指令,该操作指令包括目标场景的标识或者指示目标场景,远程计算平台130在获取到操作指令后,可以根据操作指令从多个虚拟场景中定位到目标场景,然后确定观察目标场景的用户有哪些,在确定观察目标场景的用户包括第一用户的情况下,从自身已经保存的多个用户观察目标场景的视角中查找到第一用户观察目标场景的视角,然后将查找到的第一用户观察目标场景的视角发送给远程计算平台130上的第一渲染引擎。
139.远程计算平台130上的第二渲染引擎获取第二用户观察目标场景的视角的方式与上述远程计算平台130上的第一渲染引擎获取第一用户观察目标场景的视角的方式相类似,此处不再展开赘述。
140.上述s203至s204的执行可以并行或者以任意顺序先后执行,上述s205至s206的执行可以并行或者以任意顺序先后执行,上述s207至s208的执行可以并行或者以任意顺序先后执行。
141.上述实施例中,物理模拟结果的定义与图5所示实施例中的物理模拟结果的定义对应相同,远程计算平台130上的第一渲染引擎根据物理模拟结果进行渲染得到第一渲染图像的过程、远程计算平台130上的第二渲染引擎根据物理模拟结果进行渲染得到第二渲染图像的过程均与图5所示实施例中的第一终端设备上的第一渲染引擎根据物理模拟结果进行渲染得到第一渲染图像的过程相类似,具体请参见图5所示实施例中的相关内容,此处不再展开描述。
142.本技术还提供一种渲染方法,在该渲染方法中,远程计算平台130不仅无需针对第一终端设备和第二终端设备各部署一个物理引擎,还无需针对第一终端设备和第二终端设备各部署一个渲染引擎,其可以部署一个可供第一终端设备和第二终端设备共享的共享物理引擎,以及部署一个可供第一终端设备和第二终端设备共享的渲染引擎(以下简称为共享渲染引擎),在第一终端设备和第二终端设备需要从不同的角度生成同一个目标场景的渲染图像时,远程计算平台120可以调用该共享物理引擎计算得到一份可共享的物理模拟
结果,然后共享物理引擎将该物理模拟结果发送给共享渲染引擎,共享渲染引擎可以根据第一用户观察目标场景的视角以及物理模拟结果进行渲染,得到第一渲染图像并发送给第一终端设备,以及根据第二用户观察目标场景的视角以及物理模拟结果进行渲染,得到第二渲染图像并发送给第二终端设备。可以看出,该方法不仅无需远程计算平台130调用两个物理引擎计算得到两份相同的物理模拟结果,达到节约远程计算设备平台130的计算资源的目标,还无需远程计算平台130调用两个渲染引擎进行渲染得到第一渲染图像和第二渲染图像,简化远程计算平台130的部署。
143.为了便于更清楚地理解本技术实施例,下面结合图13所示的交互示意图对本技术提供的渲染方法进行详细描述,如图13所示,该方法包括:
144.s301:远程计算平台130上的共享物理引擎获取操作指令。
145.s302:共享物理引擎根据操作指令获取物理模拟结果。
146.s303:共享物理引擎将物理模拟结果发送给部署于远程计算平台130上的共享渲染引擎,相应地,远程计算平台130上的共享渲染引擎接收共享物理引擎发送的物理模拟结果。
147.s304:共享渲染引擎根据物理模拟结果进行渲染,得到第一渲染图像和第二渲染图像。
148.s305:共享渲染引擎将第一渲染图像发送给第一终端设备,相应地,第一终端设备接收共享渲染引擎发送的第一渲染图像。
149.s306:共享渲染引擎将第二渲染图像发送给第二终端设备,相应地,第一终端设备接收共享渲染引擎发送的第二渲染图像。
150.在本技术具体的实施例中,共享渲染引擎可以根据第一用户观察目标场景的视角和物理模拟结果进行渲染,得到第一渲染图像,共享渲染引擎可以根据第二用户观察目标场景的视角和物理模拟结果进行渲染,得到第二渲染图像。因此,在共享渲染引擎进行渲染之前,共享渲染引擎可以先获取第一用户观察目标场景的视角以及第二用户观察目标场景的视角。
151.在一种可能的实现方式中,共享渲染引擎可以启动第一进程获取第一用户观察目标场景的视角,以及启动第二进程获取第二用户观察目标场景的视角。
152.共享渲染引擎启动第一进程获取第一用户观察目标场景的视角的方式和启动第二进程获取第二用户观察目标场景的视角的方式与图12所示实施例中的描述的远程计算平台130上的第一渲染引擎获取第一用户观察目标场景的视角的方式相类似,具体可以参考图12所示实施例中的相关描述,此处不再展开赘述。
153.上述s305至s306的执行可以并行或者以任意顺序先后执行。
154.上述实施例中,物理模拟结果的定义与图5所示实施例中的物理模拟结果的定义对应相同,共享渲染引擎根据物理模拟结果进行渲染得到第一渲染图像和第二渲染图像的过程均与图5所示实施例中的第一终端设备上的第一渲染引擎根据物理模拟结果进行渲染得到第一渲染图像的过程相类似,具体请参见图5所示实施例中的相关内容,此处不再展开描述。
155.上文详细阐述了本技术提供的渲染方法,基于相同的发明构思,下面继续阐述本技术提供的相关设备及系统。
156.参见图14,图14是本技术提供的一种渲染装置200的结构示意图,该渲染装置200可以应用于上文所述的远程计算平台130,具体应用于上文所述的部署于远程计算平台130上的共享物理引擎。如图14所示,渲染装置200包括:获取模块210和发送模块220,其中,
157.获取模块210,用于根据操作指令获取物理模拟结果,所述操作指令影响目标场景中的至少一个三维模型,所述物理模拟结果包括所述至少一个三维模型被所述操作指令影响后的物理信息;
158.发送模块220,用于将所述物理模拟结果发送给第一渲染引擎和第二渲染引擎,使得所述第一渲染引擎根据所述物理模拟结果进行渲染,得到第一渲染图像,以及使得所述第二渲染引擎根据所述物理模拟结果进行渲染,得到第二渲染图像。
159.在一种可能的实现方式中,所述第一渲染引擎对应的虚拟角色和所述第二渲染引擎对应的虚拟角色都处于所述目标场景。
160.在一种可能的实现方式中,所述物理信息包括如下任意一种或多种:所述至少一个三维模型上的点的坐标、所述点移动的速度、所述点移动的加速度、所述点移动的角度、所述点移动的方向。
161.在一种可能的实现方式中,所述第一渲染引擎和所述第二渲染引擎部署于所述远程计算平台130,或者,所述第一渲染引擎部署于第一终端设备,所述第二渲染引擎部署于第二终端设备。
162.参见图15,图15是本技术提供的另一种渲染装置300的结构示意图,该渲染装置300可以应用于上文所述的远程计算平台300,具体应用于上文所述的部署于远程计算平台130上的共享渲染引擎。如图15所示,渲染装置300包括:接收模块310和渲染模块320,其中,
163.接收模块310,用于接收共享物理引擎发送的物理模拟结果,其中,所述物理模拟结果为所述共享物理引擎根据操作指令获取,所述操作指令影响目标场景中的至少一个三维模型,所述物理模拟结果包括所述至少一个三维模型被所述操作指令影响后的物理信息;
164.渲染模块320,用于根据第一用户观察所述目标场景的视角和所述物理模拟结果进行渲染,得到第一渲染图像;
165.渲染模块320,还用于根据第二用户观察所述目标场景的视角和所述物理模拟结果进行渲染,得到第二渲染图像。
166.具体地,上述渲染装置200以及渲染装置300执行各种操作的具体实现,可参照上述渲染方法实施例中相关内容中的描述,为了说明书的简洁,这里不再赘述。
167.应当理解,渲染装置200以及渲染装置300仅为本技术提供的一个例子,并且,渲染装置200可具有比图14示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现,渲染装置300可具有比图15示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
168.参见图16,本技术还提供一种渲染引擎系统400,所述渲染引擎系统包括:第一渲染引擎410和第二渲染引擎420,其中,
169.所述第一渲染引擎410和所述第二渲染引擎420,用于分别接收共享物理引擎发送的物理模拟结果,其中,所述物理模拟结果为所述共享物理引擎根据操作指令获取,所述操作指令影响目标场景中的至少一个三维模型,所述物理模拟结果包括所述至少一个三维模
型被所述操作指令影响后的物理信息;
170.所述第一渲染引擎410和所述第二渲染引擎420,用于分别根据所述物理模拟结果进行渲染,得到第一渲染图像和第二渲染图像。
171.在一种可能的实现方式中,所述第一渲染引擎410和所述第二渲染引擎420部署于所述远程计算平台130,或者,所述第一渲染引擎410部署于第一终端设备,所述第二渲染引擎420部署于第二终端设备。
172.具体地,上述渲染引擎系统400执行各种操作的具体实现,可参照上述渲染方法实施例中相关内容中的描述,为了说明书的简洁,这里不再赘述。
173.本技术还提供一种计算设备集群50,所述计算设备集群50可以用于部署图14所示的渲染装置200,以执行图5所示渲染方法中由共享物理引擎所执行的步骤,所述计算设备集群50还可以用于部署图15所示的渲染装置500,以执行图13所示的渲染方法中由共享渲染引擎所执行的步骤。如图17所示,该计算设备集群50包括至少一个计算设备500。
174.具体地,在所述计算设备集群50仅包括一个计算设备500的情况下,可以在该一个计算设备500中部署图14所示渲染装置200中的全部模块:获取模块210和发送模块220,和/或,部署图15所示渲染装置300中的全部模块:接收模块310和渲染模块410。
175.在所述计算设备集群50包括多个计算设备500的情况下,多个计算设备500中的每个计算设备500可以用于部署图14所示渲染装置200和/或图15所示渲染装置300中的部分模块,或者,多个计算设备500中的两个或者两个以上的计算设备500共同用于部署图14所示渲染装置200中的一个或者多个模块和/或图15所示渲染装置300中的一个或者多个模块。
176.举例来讲,假设多个计算设备500包括计算设备500a和计算设备500b,则计算设备500a可以用于部署获取模块210和发送模块220,计算设备500b可以用于部署接收模块310和渲染模块320,或者,计算设备500a上部署获取模块210和渲染模块320,计算设备500b上部署获取模块210、发送模块220、接收模块310和渲染模块320;假设多个计算设备500包括计算设备500a、500b、500c和500d,则计算设备500a可以用于部署获取模块210,计算设备500b可以用于部署发送模块220,计算设备500c可以用于部署接收模块310,计算设备500d可以用于部署渲染模块320。
177.本技术提供的计算设备集群50还可以用于部署图16所示的渲染引擎系统400,以执行图12所示的渲染方法中由第一渲染引擎410和第二渲染引擎420所执行的步骤。具体地,在所述计算设备集群仅包括一个计算设备500的情况下,可以在该一个计算设备500中部署图16所示渲染引擎系统400中的全部模块:第一渲染引擎410和第二渲染引擎420。在所述计算设备集群50包括多个计算设备500的情况下,多个计算设备500中的每个计算设备500可以用于部署图16所示渲染引擎系统400中的一个或者多个模块,或者多个设备500中的两个或者两个以上的计算设备500共同用于部署图16所示渲染引擎系统400中的一个或者多个模块。
178.在具体实现中,所述计算设备集群50中包括的至少一个计算设备500可以全部是终端设备,也可以全部是云服务器,还可以部分是云服务器部分是终端设备,此处不作具体限定。
179.更具体地,所述计算设备集群50中的每个计算设备500可以包括处理器310、存储
器320以及通信接口530等,所述计算设备集群50中的一个或者多个计算设备500中的存储器320可以存有相同的用于执行本技术提供的渲染方法的代码(也可以称为指令或者程序指令等),处理器510可以从存储器320中读取代码,并执行代码以实现本技术提供的渲染方法,通信接口530可以用于实现每个计算设备500与其他设备之间的通信。
180.在一些可能的实现方式中,计算设备集群50中的每个计算设备500也可以通过网络与其他设备连接进行通信。其中,所述网络可以是广域网或局域网等等。
181.下面以渲染装置200的全部模块部署于一个计算设备500上为例,结合图18对本技术提供的计算设备500进行详细描述。
182.参见图18,计算设备500包括:处理器510、存储器520以及通信接口530,其中,处理器510、存储器520以及通信接口530之间可以通过总线540相互连接。其中,
183.处理器510可以读取存储器520中存储的代码,与通信接口530配合执行本技术上述实施例中由渲染装置200执行的渲染方法的部分或者全部步骤。
184.处理器510可以有多种具体实现形式,例如处理器510可以为中央处理器(central processing unit,cpu)或图形处理器(graphics processing unit,gpu),处理器510还可以是单核处理器或多核处理器。处理器510可以由cpu和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。处理器510也可以单独采用内置处理逻辑的逻辑器件来实现,例如fpga或数字信号处理器(digital signal processing,dsp)等。
185.存储器520可以存储有代码以及数据。其中,代码包括:获取模块210的代码和发送模块220的代码等,数据包括:操作指令、物理模拟结果、第一渲染图像和第二渲染图像等等。
186.在实际应用中,存储器520可以是非易失性存储器,例如,只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。存储器520也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。
187.通信接口530可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算节点或装置进行通信。当通信接口530为有线接口时,通信接口530可以采用传输控制协议/网际协议(transmission control protocol/internet protocol,tcp/ip)之上的协议族,例如,远程函数调用(remote function call,rfc)协议、简单对象访问协议(simple object access protocol,soap)协议、简单网络管理协议(simple network management protocol,snmp)协议、公共对象请求代理体系结构(common object request broker architecture,corba)协议以及分布式协议等等。
188.总线540可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述总线540可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条
粗线表示,但并不表示仅有一根总线或一种类型的总线。
189.上述计算设备500用于执行上述渲染方法实施例中的方法,与上述方法实施例属于同一构思,其具体实现过程详见上述方法实施例,这里不再赘述。
190.应当理解,计算设备500仅为本技术实施例提供的一个例子,并且,计算设备500可具有比图18示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
191.本技术还提供一种远程计算平台,所述远程计算平台可以包括图14所示的渲染装置200和图15所示的渲染装置300。
192.本技术还提供一种渲染系统,所述渲染系统可以包括图14所示的渲染装置200和图16所示的渲染引擎系统400。
193.本技术还提供一种非瞬态计算机可读存储介质,非瞬态计算机可读存储介质中存储有代码,当其在处理器上运行时,可以实现上述实施例中记载的渲染方法的部分或者全部步骤。
194.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
195.在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品可以包含代码。当计算机程序产品被计算机读取并执行时,可以实现上述方法实施例中记载的渲染方法的部分或者全部步骤。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。
196.本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本技术实施例装置中的单元可以根据实际需要进行划分、合并或删减。
197.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献