分布式实时渲染装置及方法与流程

文档序号:16978268发布日期:2019-02-26 19:14阅读:608来源:国知局
分布式实时渲染装置及方法与流程

本发明涉及三维动画渲染领域,特别涉及一种分布式实时渲染装置及方法。



背景技术:

随着科技的发展,在虚拟现实、三维游戏等领域中,越来越多地应用了实时渲染技术。由于单渲染系统计算不了渲染过程中的巨大数据量,如果想实现对3d场景的实时渲染,最好采用分布式渲染系统。由于在一般的分布式渲染系统中,不需要考虑对场景的优化,因此同一场景在不同的系统当中会渲染出一样的效果。而分布式实时渲染系统则与之不同,要想达到好的实时渲染效果,就要采取一定技术,进行场景优化,以降低计算量,提升渲染效率与质量。



技术实现要素:

本发明的目的在于提供一种分布式实时渲染装置及方法,解决了现有技术存在的上述问题。

本发明的上述目的通过以下技术方案实现:

分布式实时渲染装置,包括操作终端、控制中心、渲染执行单元,所述操作终端、控制中心、渲染执行单元之间通过网络通讯连接,所述操作终端包括用于接收渲染任务及用户操作信息的计算机设备,所述计算机设备通过网络通讯将接收到的渲染任务以及用户指令发送到控制中心;

所述控制中心接收操作终端发送的渲染任务以及用户指令,控制中心包括渲染任务分配装置,用于对渲染任务的调度与管理,并将渲染任务的信息反馈给操作终端;

所述渲染执行单元由至少两个渲染子单元,即场景优化子单元和实时光线追踪子单元构成,用于对分配下来的渲染子任务进行渲染,并存储信息;所述渲染执行单元执行渲染任务时,通过场景优化子单元对场景进行优化,降低场景的复杂程度,并通过实时光线追踪算法,降低渲染时长,加快图像显示速率,从而达到更好的实时渲染效果。

所述的渲染任务分配装置根据用户的渲染需求,将渲染任务分割为2个至多个渲染子任务。

所述的渲染任务分配装置将渲染子任务分配给渲染执行单元。

所述的渲染任务分配装置选取可用的渲染子单元,所述渲染子单元接收分配下来的渲染子任务,发送到渲染子单元的图形处理器gpu进行渲染操作,并存储渲染信息及渲染结果。

所述的渲染执行单元将各渲染子单元存储的渲染信息反馈给控制中心,控制中心将得到的渲染信息反馈给操作终端。

本发明的另一目的在于提供一种分布式实时渲染方法,包括如下步骤:

操作终端接收渲染任务及用户指令,并通过网络通讯发送给控制中心;

控制中心接受渲染任务及用户指令,根据用户需求将渲染任务分割为2个至多个渲染子任务,并分配到可用的渲染子单元;

渲染执行单元中的可用渲染子单元接受渲染子任务,发送到相应渲染子单元的图形处理器gpu进行渲染操作,选取lod细节层次模型对场景进行优化,降低场景的复杂程度,利用并行的光线追踪方案,降低渲染时长,并存储渲染信息及渲染结果。

渲染执行单元通过网络通讯将渲染信息反馈给控制中心,控制中心将接收到的渲染信息反馈给操作终端。

本发明的有益效果在于:通过对场景进行优化,降低场景的复杂程度,并利用实时光线追踪算法,有效降低渲染时长,加快图像显示速率,从而达到更好的实时渲染效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明的分布式实时渲染装置的整体结构框图;

图2为本发明的分布式实时渲染方法的流程图;

图3为本发明的lod细节层次模型算法结构;

图4为本发明的并行的gpu光线跟踪算法结构。

具体实施方式

下面结合附图进一步说明本发明的详细内容及其具体实施方式。

参见图1至图4所示,本发明的分布式实时渲染装置,包括操作终端、控制中心、渲染执行单元,所述操作终端、控制中心、渲染执行单元之间通过网络通讯连接,所述操作终端包括用于查看和接收渲染任务及用户操作信息的计算机设备,所述计算机设备通过网络通讯将接收到的渲染任务以及用户指令发送到控制中心;

所述控制中心接收操作终端发送的渲染任务以及用户指令,控制中心包括渲染任务分配装置,用于对渲染任务的调度与管理,并将渲染任务的信息反馈给操作终端;

所述渲染执行单元由至少两个渲染子单元,即场景优化子单元和实时光线追踪子单元构成,用于对分配下来的渲染子任务进行渲染,并存储相关信息,以便反馈给用户。所述渲染执行单元执行渲染任务时,通过场景优化子单元对场景进行优化,降低场景的复杂程度,并通过实时光线追踪算法,有效降低渲染时长,加快图像显示速率,从而达到更好的实时渲染效果。

所述的渲染任务分配装置根据用户的渲染需求,将渲染任务分割为2个至多个渲染子任务。

所述的渲染任务分配装置将渲染子任务分配给渲染执行单元。

所述的渲染任务分配装置选取可用的渲染子单元,所述渲染子单元接收分配下来的渲染子任务,发送到渲染子单元的图形处理器gpu进行渲染操作,并存储渲染相关信息及渲染结果。

所述的渲染执行单元将各渲染子单元存储的渲染信息反馈给控制中心,控制中心将得到的渲染信息反馈给操作终端,以供用户查看。

本发明的分布式实时渲染装置的渲染方法,包括如下步骤:

操作终端接收渲染任务及用户指令,并通过网络通讯发送给控制中心;

控制中心接受渲染任务及用户指令,根据用户需求将渲染任务分割为2个至多个渲染子任务,并分配到可用的渲染子单元;

渲染执行单元中的可用渲染子单元接受渲染子任务,发送到相应渲染子单元的图形处理器gpu进行渲染操作,选取lod细节层次模型对场景进行优化,降低场景的复杂程度,利用并行的光线追踪方案,降低渲染时长,并存储渲染相关信息及渲染结果。

渲染执行单元通过网络通讯将渲染信息反馈给控制中心,控制中心将接收到的渲染信息反馈给操作终端。

实施例:

参见图1所示,本发明的分布式实时渲染装置,由操作终端、控制中心、渲染执行单元组成,各个装置之间通过网络通讯连接。操作终端包括用于接收渲染任务以及用户操作信息的计算机设备;控制中心包括渲染任务分配装置,用于对渲染任务的调度与管理,并将渲染任务的信息反馈给操作终端;渲染执行单元由至少两个渲染子单元构成,用于对分配下来的渲染子任务进行渲染,在渲染过程中选取lod细节层次模型对场景进行优化,降低场景的复杂程度,利用并行的光线追踪方案,降低渲染时长,并存储相关信息。

参见图2所示,本发明的分布式实时渲染装置及方法的工作流程如下:

用户通过操作终端提交渲染任务,设置子任务大小等相关参数。

控制中心通过网络通讯获取相关任务信息。根据子任务大小将提交的渲染任务进行分割。例如提交的渲染任务总共包含24帧动画,用户设置的子任务大小为2帧,那么渲染任务将被分为12个渲染子任务,每个子任务都包含2帧动画。

控制中心选取渲染执行单元中可用的渲染子单元,并将这些渲染子任务分配出去。

渲染子单元对分配下来的子任务进行渲染操作。

在渲染过程中选取lod细节层次模型对场景进行优化,降低场景的复杂程度。利用并行的光线追踪方案,降低渲染时长,并保存渲染进程中的各种数据信息。这些信息被反馈回控制中心。控制中心将所有渲染任务信息反馈给操作终端。用户可以在操作终端对相关信息进行管理和查询。

参见图3所示,对lod细节层次模型的算法结构进行描述。

lod算法主要是根据三维场景中的物体的清晰度不同,生成多个具有不同层次细节的版本,从而实现对清晰度分层管理的目的。

在实时渲染的进程中,依据试点不同,选取合适的lod模型,可以在不损伤细节的前提下,降低场景复杂程度,提高渲染速度,并加快场景的显示速率。

首先利用八叉树算法对三维场景进行分析与管理。

接着针对不同物体,以及不同需求,选择合适的lod模型。例如对于场景中观察者无论如何都看不到的图元,采用剔除法,以加快渲染速度。另一种方法是根据观察者与场景中物体的距离进行选择,距离远的可以采用比较粗糙的细节层次。还可以依据物体的运动速度选出适应的模型,运动较快的物体,在屏幕上显示的细节比较模糊,可以使用较粗糙的细节层次表现出来。

参见图4所示,对并行的gpu光线跟踪算法结构进行描述。

光线跟踪的过程就是从屏幕中的像素点出发,计算该点处光线的方向,然后在此方向上对场景进行遍历,最后进行着色计算。

并行的gpu光线跟踪算法选用简单光照模型,即phong光照模型。该光照模型可以依据物体的材质,在场景及物体交汇的交点处计算出镜面反射(specular)值和漫反射(diffuse)值,从而确定着色值。

针对光线的产生问题,对每个光线都生成相对独立的基本参数,包含观察方向、视角等初始参数,以及光源、视点,利用这些参数生成初始光线。

针对光线与场景碰撞检测问题,因为在光线着色的过程中,像素之间没有依赖关系,所以对每一条光线可以进行并行地着色化。

在创建kd-tree的时候,可以先使用均匀分割的方式,直到三角形数目达到规定数目后再利用最优面的分割方式,通过这种方案可以有效地提高创建kd-tree的效率。

最后将着色像素进行集合,得到渲染结果。

以上所述仅为本发明的优选实例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1