面向广域网的动漫渲染任务分解支持方法及实现系统的制作方法

文档序号:6335850阅读:532来源:国知局
专利名称:面向广域网的动漫渲染任务分解支持方法及实现系统的制作方法
技术领域
本发明涉及面向广域网的动漫渲染任务分解支持方法及实现系统,广泛适用于三 维影视动漫制作、建筑设计等与媒体制作相关的数字创作领域,能显著地提高分布式动漫 渲染的效率,具有很强的可扩展性。通过基于可视域的场景文件和贴图集拆分方法,解决在 渲染过程中因广域网环境下用于传输3DS Max场景文件和贴图所占用的较大传输数据量问 题,实现了渲染场景数据量和计算量的等粒度、精细拆分;通过实时采集渲染客户端节点的 性能,形成了任务与节点性能匹配的优化作业分解与分配方案;通过本发明设计的实现系 统,用户能便捷地通过B/S方式提交渲染任务,渲染客户端能自动对场景文件和贴图集进 行压缩和解压缩功能、执行渲染任务,提供了高效、快捷的渲染服务平台。
背景技术
基于计算机平台的数字多媒体内容制作近年来在广播电视专业领域得到了广 泛应用。随着音视频采集设备的普及,数字多媒体内容制作开始走向个性化、公众化, 并通过专业及公众应用正在形成巨大的市场需求,将成为当前新兴的、基于*吐2.0的 UGC(UserGenerated Content-用户生产内容)业务中最具发展前景的新业务之一。同时, 计算机和网络技术的迅速普及,也为数字多媒体内容制作个性化、公众化奠定了强有力的 技术基础。上述需求正在推动多媒体内容制作业务向分布式在线协同方向的演进。随着计算机CPU性能的提高,大量过去只能依靠专业多媒体工作站和专用硬件加 速设备实现的功能已经能在普通计算机上实现,其能力已可涵盖大部分影视动漫制作环 节。但是,对于部分高密度计算环节,如动漫渲染(一个繁重低效的过程,被称为“渲染瓶 颈”),仍难以在个人PC上实现。单机渲染视图和动画所需时间往往让人难以忍受,30帧动 画就可能耗费数小时。为提高计算效率,基于局域网的集群渲染技术开始被广泛采用。集 群渲染平台(又称渲染农场,Render Farm)开始提供专业服务模式。但因其专业化、专用 性、费用问题以及地域限制而难以向广大网络公众提供可接受的服务。同时其计算效率仍 与用户的希望有较大差距。目前出现的分布式渲染环境充分整合网络中的高性能集群节点 和闲散的普通PC,以在线方式实现高效、高质、低费用(甚至免费)的作品渲染,为广大的网 络公众提供了渲染平台。如图1所示的“典型的分布式动漫渲染流程”中,用户从提交渲染任务、上传场景 文件和贴图到从存储系统中下载渲染输出的图片序列的过程可以划分为如下4个阶段(1)软件调度阶段渲染管理软件通过用户提交的作业描述和网络中可用的渲染 节点资源分析进行调度,产生作业分解与分配方案;(2)上传阶段上传场景文件和贴图;(3)渲染执行阶段渲染器操作场景文件和贴图完成渲染;(4)下载阶段用户下载渲染完成后的图片序列。由此可见,在目前的渲染农场和分布式渲染环境中,无论渲染Client承担的渲染 作业粒度,它都需要得到用户制作场景文件(一般大小在10M-500M之间)的完整拷贝。由于渲染集群节点的性能要比普通PC的性能强,这样渲染管理服务在任务分配上将采用“集 群优先、兼顾散户”的任务分配策略。然而分分散在广域网环境下的各个渲染Client (包括 集群和普通PC)的网络带宽存在着很大的差异,主干网带宽在G bps级别,而瓶颈带宽只有 100K bps左右。这样即使给渲染Client分配1帧的任务,渲染Client也必须从存储系统下 载大小约为10M-500M的场景文件和贴图,这样文件的传输时延将渲染总时延的很大比例, 于是一旦同时执行渲染作业的渲染Client数增多时,就容易造成网络拥塞、性能瓶颈甚至 当机。目前在分布式动漫渲染环境下,采用Muster、Royal Render等集群管理工具进行 作业管理时,只能实现对渲染任务的拆分,尚未实现对场景文件数据的拆分,这样各个渲染 客户端为执行渲染任务需要获得整个场景文件和贴图的全部。中国专利公告号CN 101458824A,公告日是2009年6月17日,名称为“一种基于 web的全景图的光照渲染方法”中公开了一种基于web全景图的光照渲染方法,可以得到 逼真的HDR效果虚拟展示效果;但该发明只限于对来自网络服务器的LDRI (low dynamic range image)全景图和HDRI (high dynamic range image)全景图的渲染,而不适用于采用 Maya或3DS Max制作的场景文件。中国专利公告号CN 101587583A,公告日是2009年11月25日,名称为“基于GPU 集群的渲染农场”中公开了一种利用高效率低能耗GPU构建分布式并行集群渲染系统,能显 著地提高渲染效率;但该发明是通过改善硬件性能来提升渲染速速,尚未实现对场景文件 进行按指定帧范围的、物理的切分以适用于分布式动漫渲染环境。

发明内容
本发明针对广域网环境下瓶颈带宽较窄、动漫爱好者制作的场景文件和贴图集数 据较大的特点,提出了面向广域网的动漫渲染任务分解支持方法及实现系统,有效地整合 了网络中的可用渲染资源,能有效地对动漫渲染任务进行分解与分配,部署在分布式节点 的各渲染客户端软件负责接收任务、下载场景和上传渲染计算输出的图片序列或视频。用 户通过渲染门户的Browser端提交作业后,Web服务器将提供对用户作业的全程管理,用户 在作业完成后可以下载指定的渲染输出结果。本发明提供了一种面向广域网的动漫渲染任务分解实现系统,其特征在于,由以 下组成该实现系统的中心部分为集中式;边缘部分为分布式,用于用户提交待渲染的作 业;中心的集中式包括Web服务器,数据库服务器,调度服务器,存储服务器,部署了 渲染客户端软件的局域网节点;Web服务器用于接收用户通过B/S方式提交的作业,负责响应用户提交的作业请 求;数据库服务器至少记录了渲染用户的基本信息和作业信息;调度服务器保持与渲染客户端软件的通信,实现对渲染任务的分解与分配,指挥 和控制渲染客户端的任务执行;存储服务器至少存储了用户上传的场景文件和贴图文件、各渲染客户端执行渲染输出的图片序列或视频文件;局域网节点至少部署了 3DS Max制作软件、渲染客户端软件,由集群节点或普通 PC节点组成;边缘的分布式包括广域网节点;广域网节点至少部署了支持大文件传输的插件、渲染客户端软件,由集群节点或 普通PC节点组成。应用所述的面向广域网的动漫渲染任务分解实现系统进行动漫渲染任务分解支 持方法,其特征在于,包括以下步骤(1)用户通过渲染门户提交作业当广域网节点上部署了三维制作软件,时根据调用部署在该节点上的渲染客户端 软件中的数据拆分脚本,将提交渲染任务单中指定起始帧和结束帧范围内的场景文件和贴 图集从原始场景文件中进行剥离,避免了整个原始场景文件和贴图集的完整传输;如果没 有广域网节点上安装3DS Max制作软件,也允许通过B/S方式提交渲染作业,此时直接将包 含场景文件和贴图集的压缩包上传至存储服务器;然后,由调度服务器来完成后续的作业 分解与分配任务;(2)渲染调度服务器生成作业分解与分配方案局域网节点和广域网节点向调度服务器汇报该节点的性能信息,该信息至少包括 CPU主频、CPU利用率、可用RAM大小、剩余硬盘空间、是否安装有三维制作软件及版本,调度 服务器根据作业的任务量和节点的性能评价形成作业的分解与分配方案——渲染子任务 和执行渲染计算的客户端节点的对应表;(3)渲染客户端执行渲染计算并将结果上传至存储服务器部署在调度服务器的服务器端程序向执行渲染任务的各客户端发送渲染子任务 信息,渲染客户端收到该信息后,从存储服务器上下载子任务所对应的场景文件和贴图集 的压缩包,进行本机解压缩,同时调用安装在本机上的三维制作软件渲染器,通过命令行方 式执行渲染计算,按用户规定的渲染参数要求完成作业的渲染,生成图片序列或视频文件; 同时客户端软件负责将渲染输出结果上传至存储服务器;(4)Web服务器以B/S方式呈现用户的作业状态并提供下载当渲染客户端完成了用户提交的某个渲染作业后,会对数据库服务器的作业信息 表进行状态更新,这样当用户通过B/S方式查询作业状态时会显示“已完成”,这样用户可 以通过门户上显示的链接实现文件的下载。所述的面向广域网的动漫渲染任务分解支持方法,其特征在于,包括如下用于支 持渲染任务分解的方法(1)基于可视域的场景文件和贴图集拆分方法;( 节点性能评估 方法和作业分配策略;C3)将计算机图形学中的物体消隐方法应用到场景文件中物体的保 留或剔除选择过程中,将场景中不可见并不对场景产生阴影的物体剔除后将剩下的物体保 留成一个新的场景文件,同时将这些保留物体所用到的贴图拷贝到目标文件夹。其中,节点性能评估方法和作业分配策略基于资源选择公式和作业分配公式,具 体如下(1)资源选择公式在考虑CPU和RAM的情况下,计算公式如下
E = (I-C) (I-R) X100X (CPURatio X RAMSize)/(CPURatiosX RAMSizes) ①其中E为评估值,C为CPU占用率,R为内存占用率,CPURatio为CPU的主频(以 G Hz为单位),RAMSize为RAM的大小(以GB为单位),CPURatios为基准的CPU主频大小, RAMSizes为基准的RAM大小;其中,当节点为多核时,CPURatio = mX CPURatiosingle,其中m为节点的CPU个数, CPURatiosingle为单核的主频;如式①所示,当CPU占用率或RAM占用率为1即100%时,认为该节点不可用,评估 值为0,而当CPU和RAM的可用率越高时,表明该节点具备了渲染计算的硬件条件,相应地评 估值也就越高;(2)作业分配公式作业选择与资源选择的目的都是为了实现作业的优化分配,以实现该调度算法在
分布式动漫渲染系统中的优越性,在此,以渲染场景文件的帧数为度量,提出了一种直接根
据资源评估值确定分配作业任务量的算法,公式如下 E
T =~'-T‘ ^e “
Μ其中η为节点数,Tn为作业总量,Ti为分配在该客户端节点的帧数,&为第j个节 点的评估值。其中,所述的基于可视域的场景文件和贴图集拆分方法包括下述步骤(1)读取外部配置文件,获取开始帧frameStart、结束帧frameEnd、拆分步 长frameSt印、原始场景文件所在的目录和文件名SourcePath、拆分后存放的路径 ResultPath 参数;(2)获取场景文件对应的全部贴图路径,将环境贴图添加到贴图集中;(3)从开始帧为循环初始值,结束帧为终止值,拆分步长为循环增量,对场景进行 如下操作(i)保留直接在视域内的物体以及因遮挡关系对直接可见物体产生阴影的物 体;(ii)删除场景中物体的不可见面;将需要保留的物体分为三类蒙皮物体、在光线追踪 情况下对目标物体产生阴影遮挡关系的源物体和网格;上述步骤( 具体步骤如下a)将所有当前帧的可见静态物体合并成一个网格;b)调用判断蒙皮骨骼算法,找到当前蒙皮修改器骨骼的父物体及所有子物体;c)根据a)步生成的可见网格,将静止物体复制后合并,移除静止物体的不可见d)调用判断阴影遮挡算法,获取对目标物体产生阴影遮挡关系的源物体列表;e)将所有需要存储的物体存储下来,至少包括C)步生成的网格、b)步生成的骨骼 对象、d)步生成的有遮挡关系的物体、灯光源、摄像机和空间扭曲对象,收集贴图、添加环境 贴图,将所有用到的贴图复制到输出路径。蒙皮骨骼算法步骤如下(1)判断当前物体是否为静态模型,如果是则不做处理,转向结束;(2)判断当前物体是否为蒙皮物体,如果不是则不做处理,转向结束;
(3)从蒙皮修改器的关联物体中找到一个骨骼;(4)找到这个骨骼的根父骨骼;(5)从这个根骨骼往下递归找到所有子骨骼。本发明以节省网络传输带宽资源为目标,在深入分析3D场景内部几何模型的基 础上,设计合理的数据拆分方法,最大限度地减小渲染计算所需要的场景数据,形成了渲染 任务和节点性能匹配的作业分解和分配方案,同时提出了用于支持动漫渲染任务分解的实 现系统;通过渲染场景文件和贴图集的拆分,对典型的动漫渲染流程进行了改进和优化,避 免了集中式处理架构中存储系统或渲染管理服务器成为瓶颈而导致的可扩展性差的问题, 实现了渲染任务的按需拆分和细粒度渲染。


图1典型的分布式动漫渲染流程图2实现系统的总体架构3场景文件和贴图集拆分方法的处理流程图4查找当前蒙皮修改器骨骼的父物体的流程5查找当前蒙皮修改器骨骼的所有子物体的流程6判断点在灯光源内部的流程7启用双向光线追踪算法判断投影关系的流程图
具体实施例方式本发明提供了面向广域网的动漫渲染任务分解实现系统,如图2所示,其特征在 于,由以下组成该实现系统的中心部分为集中式;边缘部分为分布式,用于用户提交待渲染的作 业;1、中心的集中式包括Web服务器,数据库服务器,调度服务器,存储服务器,部署 了渲染客户端软件的局域网节点;WS(ffeb Server) :Web服务器,用于接收用户通过渲染门户以B/S方式提交的作 业,负责响应用户提交的作业请求,其中部署了 IIS系统组件;DS (Database Server)数据库服务器,至少记录了渲染用户的基本信息和作业信 息,作为Web服务器、调度服务器所共同访问的数据区域,其中部署了 SQL Server 2005数 据库管理系统,为用户的大量并发数据访问和记录存储提供了可靠保障;SSKScheduling Server)调度服务器,保持与渲染客户端软件的通信,实现对渲 染任务的分解与分配,指挥和控制渲染客户端的任务执行。SS2 (Storage Server):存储服务器,至少存储了用户上传的场景文件和贴图文 件、各渲染客户端执行渲染输出的图片序列或视频文件;LN(LAN Node)局域网节点,至少部署了 3DS Max制作软件、渲染客户端软件,由集 群节点或普通PC节点组成;2、边缘的分布式包括广域网节点;WN(WAN Node)广域网节点至少部署了支持大文件传输的插件、渲染客户端软件,由集群节点或普通PC节点组成。其中实现系统的各节点之间均采用Socket通信方式。本发明提供了面向广域网的动漫渲染任务分解的实现系统,其特征在于,包括以 下步骤1)用户通过渲染门户提交作业当广域网节点上部署了 3DS Max制作软件,时根据调用部署在该节点上的渲染客 户端软件中的数据拆分脚本,将提交渲染任务单中指定起始帧和结束帧范围内的场景文件 和贴图集从原始场景文件中进行剥离,避免了整个原始场景文件和贴图集的完整传输;如 果没有广域网节点上安装3DS Max制作软件,也允许通过B/S方式提交渲染作业,此时直接 将包含场景文件和贴图集的压缩包上传至存储服务器。然后,由调度服务器来完成后续的 作业分解与分配任务。2)渲染调度服务器生成作业分解与分配方案局域网节点和广域网节点向调度服务器汇报该节点的性能信息,该信息至少包括 CPU主频、CPU利用率、可用RAM大小、剩余硬盘空间、是否安装有3DS Max软件及版本,调度 服务器根据作业的任务量和节点的性能评价形成作业的分解与分配方案——渲染子任务 和执行渲染计算的客户端节点的对应表。3)渲染客户端执行渲染计算并将结果上传至存储服务器部署在调度服务器的服务器端程序向执行渲染任务的各客户端发送渲染子任务 信息,渲染客户端收到该信息后,从存储服务器上下载子任务所对应的场景文件和贴图集 的压缩包,进行本机解压缩,同时调用安装在本机上的3DS Max渲染器,通过命令行方式执 行渲染计算,按用户规定的渲染参数要求完成作业的渲染,生成图片序列或视频文件。同时 客户端软件负责将渲染输出结果上传至存储服务器。4)Web服务器以B/S方式呈现用户的作业状态并提供下载当渲染客户端完成了用户提交的某个渲染作业后,会对数据库服务器的作业信息 表进行状态更新,这样当用户通过B/S方式查询作业状态时会显示“已完成”,这样用户可 以通过门户上显示的链接实现文件的下载。本发明提出了面向广域网的动漫渲染任务分解支持方法,其特征在于,包括如下 用于支持渲染任务分解的方法(1)基于可视域的场景文件和贴图集拆分方法;( 节点性 能评估方法和作业分配策略;C3)将计算机图形学中的物体消隐方法应用到场景文件中物 体的保留或剔除选择过程中,将场景中不可见并不对场景产生阴影的物体剔除后将剩下的 物体保留成一个新的场景文件,同时将这些保留物体所用到的贴图拷贝到目标文件夹,避 免贴图资源的不必要的浪费。在处理方式上,我们借鉴了游戏引擎中常用的消隐方法,但在处理阴影上采取了 不同于游戏引擎开发的方式在游戏设计中由于渲染的实时性要求,常采用烘焙生成贴 图的策略,即预先生成贴图集而在生成阴影时根据不同情形进行匹配;而针对用户基于 Maya、3DS Max软件制作的场景而言,通过分析场景中不同物体间的遮挡关系,将在指定帧 范围、可视域内的直接物体及有遮挡关系的间接物体均保留而剔除无关的物体,并进一步 通过有关的渲染算法来计算出阴影效果。本方法基于可视域判断原则,即在视椎体范围内的物体和模型认为是可见的或部分可见的,将场景中模型的空间包围盒和相机的视椎体进行相交判断和裁剪处理。因此本 方法通过保留模型中物体的可见面、剔除不可见部分,达到场景数据拆分、减小场景文件大 小的目的。(1)本发明提供了一种节点性能评估方法和作业分配策略。在节点性能方面,主要考虑硬件资源和软件资源;其中硬件资源主要包括CPU主 频、RAM大小、CPU占用率,RAM使用率。以Pentium 4 3. 2G Hz、2GB RAM的PC为例,当RAM 占用率达到了 60%时,那么可用的RAM大小为2GBX (1-60% ) = 0. 8GB。对于计算密集型 的渲染计算而言,在执行渲染过程中需要消耗大量的CPU资源和内存资源。以3DS Max 9.0 为例,打开一个150MB左右的较复杂场景可能消耗内存高达2GB,有时在PC上打开时会因内 存不足而异常退出。因此在判断节点的性能时,我们关注的是可用的系统资源,至少包括可 用CPU资源、可用的RAM大小。在软件资源方面,主要考虑部署在各个渲染客户端的渲染器情况,如是否部署了 场景在渲染输出时所需要的各种渲染器。以主流的3D制作软件3DS Max和Maya为例,可以 有菜单方式和命令行两种渲染方式。而在分布式动漫渲染环境中,用户在一段时间内提交 了大量的作业,如果采用菜单方式进行处理,将占用大量的CPU资源,极大地降低了渲染的 效率。因此在执行渲染计算时,我们将采用命令行方式来实现渲染计算。由于用户制作的 场景文件可能是3DS Max格式或Maya格式,以3DS Max格式的“.max”文件为例,要实现对 场景文件的渲染,需要调用3DS Max的命令行渲染执行程序“3dsmaXCmd. exe”;而对于Maya 格式的“.ma”或“.mb”文件而言,渲染场景时则使用Maya的命令行程序“render, exe”。在设计调度策略时,我们对渲染客户端节点的性能评价时不仅仅要考虑其硬件性 能,还要分析其软件部署情况。由于3DS Max无法兼容Maya制作的场景文件,因此,我们在 分配任务时不能将3DS Max格式的“.max”场景任务指定给只部署了 Maya的客户端节点上, 反之亦然。节点性能评估方法和作业分配策略主要基于资源选择公式和作业分配公式,同时 通过实验对所提出的节点性能评估方法和作业分配策略进行了验证。具体如下1)资源选择公式资源选择的过程是为一个给定的作业从资源列表中选择资源.因为在资源列表 中的所有资源都能在最小程度上满足所分配的作业,所以需要给出一个算法,为执行作业 选择最好的资源。虽然随机选择也是一种选择方式,但它不是最佳资源选择策略。资源选 择算法应该考虑资源目前的状态,并根据定量评估选择一个最佳的算法。在考虑CPU和RAM的情况下,计算公式如下E = (I-C) (I-R) X100X (CPURatio X RAMSize)/(CPURatiosX RAMSizes) ①其中E为评估值,C为CPU占用率,R为内存占用率,CPURatio为CPU的主频(以 G Hz为单位),RAMSize为RAM的大小(以GB为单位),CPURatios为基准的CPU主频大小, RAMSizes为基准的RAM大小。其中,当节点为多核时,CPURatio = mX CPURatiosingle,其中m为节点的CPU个数, CPURatiosingle为单核的主频。如式①所示,当CPU占用率或RAM占用率为1即100%时,认为该节点不可用,评估 值为0,而当CPU和RAM的可用率越高时,表明该节点具备了渲染计算的硬件条件,相应地评估值也就越高。2)作业分配公式作业选择与资源选择的目的都是为了实现作业的优化分配,以实现该调度算法在 分布式动漫渲染系统中的优越性,在此,以渲染场景文件的帧数为度量,我们提出了一种直
接根据资源评估值确定分配作业任务量的算法,公式如下 f
T1=-^T^e “
7=1 ‘'其中η为节点数,Tn为作业总量,Ti为分配在该客户端节点的帧数,&为第j个节 点的评估值。由上可知,对于评估值较高的节点,分配的资源应当越多,比如评估值分别为60 和20的两个节点,其各自一次性分配的任务数量之比则为60 20。由此,实现了评估值越 高,反应的节点性能就越高,分配的资源数则越多,反之亦然。3)基于渲染时间测试的验证分别选取了双核两台PC作为渲染节点参与计算,由于节点两台PC的CPU主频、 RAM大小相差不大,所以将公式(1)简化为E = (I-C) (I-R) X100②节点1硬件配置情况CPU 型号 dntel Pentium(R) Dual Corei2. 4GCPU 主频4. 80G HzCPU 利用率0%RAM 大小2047MBRAM 利用率 %节点2硬件配置情况CPU 型号 dntel Pentium(R) Dual Coreil. 86GCPU 主频3. 73G HzCPU 利用率RAM 大小1535MBRAM 利用率57%渲染作业数为10巾贞,由此通过公式②计算得到的节点1的评估值E1 = 72. 352, E2 =41. 3961。于是有节点1 承担的渲染任务 T1 = TnXE1Zi(E^E2) = 10X72. 352/(41. 3961+72. 352)= 6. 4,由于渲染任务的粒度为帧,四舍五入取整为6。节点2 承担的渲染任务 T2 = TnXE2/(E^E2) = 10X41. 3961/(41. 3961+72. 352) =3. 6,由于渲染任务的粒度为帧,四舍五入取整为4。由此可见,根据节点性能的评估值和作业分配公式,由节点1承担6帧的渲染任 务,由节点2承担4帧的渲染任务。为了分析基于节点性能评估的作业分配方案的优越性,我们进行了 3组实验,即作业分配比例分别按照7 3(相对接近E1/E2)、5 5(平均分配)、6 4(最接近于E1/ E2) ο由于两个渲染节点可以并行地完成渲染计算,为此总的渲染时间取两个节点中渲 染时间较长的值。总渲染时间统计如表1所示。表1不同作业分配方案的渲染时间(单位格式mm:SS)
权利要求
1.面向广域网的动漫渲染任务分解实现系统,其特征在于,由以下组成该实现系统的中心部分为集中式;边缘部分为分布式,用于用户提交待渲染的作业; 中心的集中式包括Web服务器,数据库服务器,调度服务器,存储服务器,部署了渲染 客户端软件的局域网节点;Web服务器用于接收用户通过B/S方式提交的作业,负责响应用户提交的作业请求; 数据库服务器至少记录了渲染用户的基本信息和作业信息; 调度服务器保持与渲染客户端软件的通信,实现对渲染任务的分解与分配,指挥和控 制渲染客户端的任务执行;存储服务器至少存储了用户上传的场景文件和贴图文件、各渲染客户端执行渲染输 出的图片序列或视频文件;局域网节点至少部署了 3DS Max制作软件、渲染客户端软件,由集群节点或普通PC节 点组成;边缘的分布式包括广域网节点;广域网节点至少部署了支持大文件传输的插件、渲染客户端软件,由集群节点或普通 PC节点组成。
2.应用根据权利要求1所述的面向广域网的动漫渲染任务分解实现系统进行动漫渲 染任务分解支持方法,其特征在于,包括以下步骤(1)用户通过渲染门户提交作业当广域网节点上部署了三维制作软件时,根据调用部署在该节点上的渲染客户端软件 中的数据拆分脚本,将提交渲染任务单中指定起始帧和结束帧范围内的场景文件和贴图集 从原始场景文件中进行剥离,避免了整个原始场景文件和贴图集的完整传输;如果没有广 域网节点上安装3DS Max制作软件,也允许通过B/S方式提交渲染作业,此时直接将包含场 景文件和贴图集的压缩包上传至存储服务器;然后,由调度服务器来完成后续的作业分解 与分配任务;(2)渲染调度服务器生成作业分解与分配方案局域网节点和广域网节点向调度服务器汇报该节点的性能信息,该信息至少包括CPU 主频、CPU利用率、可用RAM大小、剩余硬盘空间、是否安装有三维制作软件及版本,调度服 务器根据作业的任务量和节点的性能评价形成作业的分解与分配方案——渲染子任务和 执行渲染计算的客户端节点的对应表;(3)渲染客户端执行渲染计算并将结果上传至存储服务器部署在调度服务器的服务器端程序向执行渲染任务的各客户端发送渲染子任务信息, 渲染客户端收到该信息后,从存储服务器上下载子任务所对应的场景文件和贴图集的压缩 包,进行本机解压缩,同时调用安装在本机上的三维制作软件渲染器,通过命令行方式执行 渲染计算,按用户规定的渲染参数要求完成作业的渲染,生成图片序列或视频文件;同时客 户端软件负责将渲染输出结果上传至存储服务器;(4)Web服务器以B/S方式呈现用户的作业状态并提供下载当渲染客户端完成了用户提交的某个渲染作业后,会对数据库服务器的作业信息表进 行状态更新,这样当用户通过B/S方式查询作业状态时会显示“已完成”,这样用户可以通 过门户上显示的链接实现文件的下载。
3.根据权利要求2所述的面向广域网的动漫渲染任务分解支持方法,其特征在于,包 括如下用于支持渲染任务分解的方法(1)基于可视域的场景文件和贴图集拆分方法;(2) 节点性能评估方法和作业分配策略;C3)将计算机图形学中的物体消隐方法应用到场景文 件中物体的保留或剔除选择过程中,将场景中不可见并不对场景产生阴影的物体剔除后将 剩下的物体保留成一个新的场景文件,同时将这些保留物体所用到的贴图拷贝到目标文件 夹。
4.根据权利要求2所述的面向广域网的动漫渲染任务分解支持方法,其特征在于,节 点性能评估方法和作业分配策略基于资源选择公式和作业分配公式,具体如下(1)资源选择公式在考虑CPU和RAM的情况下,计算公式如下其中E为评估值,C为CPU占用率,R为内存占用率,CPURatio为CPU的主频(以G Hz为单位),RAMSize为RAM的大小(以GB为单位),CPURatios为基准的CPU主频大小, RAMSizes为基准的RAM大小;其中,当节点为多核时,CPURatio = mX CPURatiOsingle,其中m为节点的CPU个数, CPURatiosingle为单核的主频;如式①所示,当CPU占用率或RAM占用率为1即100%时,认为该节点不可用,评估值为 0,而当CPU和RAM的可用率越高时,表明该节点具备了渲染计算的硬件条件,相应地评估值 也就越高;(2)作业分配公式作业选择与资源选择的目的都是为了实现作业的优化分配,以实现该调度算法在分布 式动漫渲染系统中的优越性,在此,以渲染场景文件的帧数为度量,提出了一种直接根据资 源评估值确定分配作业任务量的算法,公式如下
5.根据权利要求2所述的面向广域网的动漫渲染任务分解支持方法,其特征在于,所 述的基于可视域的场景文件和贴图集拆分方法包括下述步骤⑴读取外部配置文件,获取开始帧frameStart、结束帧frameEnd、拆分步 长frameSt印、原始场景文件所在的目录和文件名SourcePath、拆分后存放的路径 ResultPath 参数;(2)获取场景文件对应的全部贴图路径,将环境贴图添加到贴图集中;(3)从开始帧为循环初始值,结束帧为终止值,拆分步长为循环增量,对场景进行如 下操作(i)保留直接在视域内的物体以及因遮挡关系对直接可见物体产生阴影的物体; ( )删除场景中物体的不可见面;将需要保留的物体分为三类蒙皮物体、在光线追踪情 况下对目标物体产生阴影遮挡关系的源物体和网格;上述步骤(3)的具体步骤如下a)将所有当前帧的可见静态物体合并成一个网格;b)调用判断蒙皮骨骼算法,找到当前蒙皮修改器骨骼的父物体及所有子物体;c)根据a)步生成的可见网格,将静止物体复制后合并,移除静止物体的不可见面;d)调用判断阴影遮挡算法,获取对目标物体产生阴影遮挡关系的源物体列表;e)将所有需要存储的物体存储下来,至少包括c)步生成的网格、b)步生成的骨骼对 象、d)步生成的有遮挡关系的物体、灯光源、摄像机和空间扭曲对象,收集贴图、添加环境贴 图,并将所有用到的贴图复制到输出路径。
6.根据权利要求5所述的面向广域网的动漫渲染任务分解支持方法,其特征在于,蒙 皮骨骼算法步骤如下(1)判断当前物体是否为静态模型,如果是则不做处理,转向结束;(2)判断当前物体是否为蒙皮物体,如果不是则不做处理,转向结束;(3)从蒙皮修改器的关联物体中找到一个骨骼;(4)找到这个骨骼的根父骨骼;(5)从这个根骨骼往下递归找到所有子骨骼。
全文摘要
面向广域网的动漫渲染任务分解支持方法及实现系统属于计算机网络领域。本发明根据动漫渲染任务的计算密集型特点和广域网环境下传输速率受限于网络瓶颈带宽的特点,包括基于可视域的场景文件和贴图集拆分方法、节点性能评估方法和作业分配策略,以及上述方法的集成和过程控制。在分解用户的渲染任务时,使用本发明所涉及的场景数据和贴图集的拆分方法,根据当前场景摄像机可见和不可见物体及贴图的分析来优化场景,以达到减小最终渲染文件的目的。精简后的模型场景可以有效减少网络中的传输数据量,实现了场景文件和计算量的对等拆分,有利于渲染作业的细粒度分发和执行。本发明充分发挥各渲染客户端的计算效率,具有很强的可扩展性。
文档编号G06T13/20GK102088472SQ20101054375
公开日2011年6月8日 申请日期2010年11月12日 优先权日2010年11月12日
发明者曹轶臻, 李樱, 洪志国, 王永滨, 王 琦 申请人:中国传媒大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1