超级计算在3D动画渲染中的运用研究

时间:2022-08-25 12:50:50

超级计算在3D动画渲染中的运用研究

摘要:国家出台各项政策扶持国产动画,动画产业发展势头良好。但三维动画制作周期长,消耗经费多(硬件设备购置及损耗、项目内人员工资发放等),严重阻碍了国产动画产业的发展。三维动画流程包含前期设定、模型、配景、UV贴图、动画、特效、材质灯光、分层渲染及后期合成等各环节,其中渲染约占项目总耗时的30%左右,但人员安排却仅占整个项目的1/20左右,因此,节省渲染时间无疑能大大缩短动画项目周期,降低人力物力财力成本。超级计算在动画渲染中的应用研究成功后,能产生巨大的直接及间接效益,并造成深远的社会影响,大大缩短动画制作周期,节约成本,从而拉动国内动画产业的迅速发展。

关键词:超级计算;动画;渲染

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)34-7873-04

1 行业现状浅析

国内三维动画行业起步较晚,但发展迅速,当前国家出台一系列扶持政策,拉动了国产动画行业的发展。目前,三维动画常用渲染软件为mentray,国内现通用渲染方式为单机渲染、渲染农场两种方式。

单机渲染适用于个人短片作品及小型工作室,对硬件配置要求高、渲染效率低。若以动画电影项目1600镜头为例,每个镜头长度约80帧,渲染文件中场景分21层,单个角色平均分18层,按照平均每个镜头中含两个角色计算,以中等渲染难度镜头为例,一个镜头分46层,每帧单层渲染平均耗时1min,则整个动画电影项目耗时总计:

1(min)*46(层)*80(帧)*1600(镜头)=5888000min,合计约136个月(单台电脑渲染时间)。

渲染农场为当前较为流行的渲染方式,该方式整合了单机渲染的优点,计算节点多且配置较高,渲染速度快,但造价高昂,对小型动画企业造成了严重的资金负担,且经常出现丢帧、漏帧等现象。

2 关于超级计算

超级计算机指能够执行一般个人电脑无法处理的大资料量与高速运算的电脑,其基本组成组件与个人电脑的概念无太大差异,但规格与性能则强大许多,是一种超大型电子计算机。具有很强的计算和处理数据的能力,主要特点表现为高速度和大容量,配有多种外部和设备及丰富的、高功能的软件系统。现有的超级计算机运算速度大都可以达到每秒一兆(万亿,非百万)次以上。

超级计算机是计算机中功能最强、运算速度最快、存储容量最大的一类计算机,多用于国家高科技领域和尖端技术研究,是一个国家科研实力的体现,它对国家安全,经济和社会发展具有举足轻重的意义。是国家科技发展水平和综合国力的重要标志。

在美国好莱坞,一部《阿凡达》电影的特技制作需渲染一年多时间才能完成,而如今通过超算中心的高速计算刀片计算,同样对电影《阿凡达》进行渲染处理,仅需两三个月甚至更短的时间。

3 超级计算在动画渲染中的应用

高度真实感渲染通过计算光线的传播过程,将设计人员在计算机中制作的三维模型转化为高度真实感的图片,是动漫产品制作的核心环节之一,时间占制作周期的30%左右。

自上世纪90年代以来,高度真实场景渲染的相关研究紧密围绕超算平台大规模并行这个主题,从串行算法并行化、并行任务调度、并行数据管理等角度展开。相关工作可以分为支持大规模并行的渲染引擎和支持大规模并行的渲染平台两个层次。

渲染引擎的大规模并行研究主要关注于将传统的串行渲染流程及渲染算法并行化,面向单帧或分块并行渲染。目前,支持并行化渲染的硬件架构主要包括:Intel/AMD的x86多核架构,STI(Sony Toshiba IBM)的Cell BE架构,Larrabee多核架构以及GPU架构,大量的研究集中于改造传统的渲染流程或渲染算法,以高效的利用平台特性,达到最大并行程度。以光线跟踪为例,其渲染流程包括了加速结构建立、光线生成、光线求交、交点着色、光子生成等环节,其中,光线生成、光线求交、交点着色等环节循环执行。因而需要研究每个环节的并行化方法,以及流程的自适应调度方法,数据的存储传输技术等。新兴的GPU并行渲染技术成为目前关注的热点,其在加速结构建立、光线跟踪等环节表现出优于同时期主流众核CPU的性能,但由于GPU显存容量的限制以及指令集处理能力的限制,在处理高度真实场景方面依然存在大量的技术障碍。基于16核以上的众核(heavy core)结构的渲染也是目前关注的热点问题,在众核环境下,流程的并行化,渲染任务划分粒度,负载平衡,内存共享等问题都可能成为影响最终加速比的瓶颈问题。而《阿凡达》等相关并行渲染研发给出了基于CPU和GPU混合的并行渲染解决方案。

支持大规模并行的渲染平台是指由许多运行渲染软件的计算机组成的,由渲染作业管理软件划分和调度渲染任务,提交给不同的计算机并行渲染的渲染环境。渲染作业调度管理技术的主要研究热点包括渲染作业调度、渲染数据存储与传输等。渲染作业调度可对渲染任务的排队、分帧、分发和渲染进行自动调度和管理,其中渲染调度为其核心模块。渲染作业由若干帧组成,各个帧之间渲染计算的关联不紧密。因此,传统的调度算法同样适用于渲染管理系统,如先来先服务(FCFS)、短时间作业优先、预约调度(Reservation)和BackFilling算法等。然而,目前的渲染调度大多没有考虑FCFS的缺点,即当作业的资源需求量较大而系统不能满足时,它不会调度后面的作业。为提高系统吞吐量与资源利用率,渲染调度应该能提前预测渲染子任务的期望完成时间、支持预约回填(backfilling)算法。在由几千个节点构成的超算平台上,为了充分发挥每个渲染节点的作用、大幅度提高渲染速度,负载均衡将是任务分配和调度的主要目标,成为提高资源利用率的主要手段。面向渲染的分层调度策略目前研究较少,但它将是保证粗粒度负载均衡的有效手段。

4 运用超算超算渲染的配置分析

超级计算机使用linux系统或windows server系统;mentray渲染是动画渲染中最常用、较先进的渲染方法,其常用的操作平台为windows,而国内尚没有专门针对超级计算机与maya软件匹配的最优化配置技术方案方面的研发。

影响渲染速度的主要因素有:

1)硬件配置(内存、CPU、计算节点数量等);

2)软件设置(Mentray渲染中相关参数Resolution、Quality、Raytracing、Reflections、Refractions、Max trace Depth、Shadows、Final Gathering等);

3)文件自身元素对渲染速度的影响,如场景大小、模型点面数、镜头景别、物体材质(3S、反射、折射等)

为充分测试不同文件在不同软硬件条件下渲染速度的不同,本项目选取了几组代表性的渲染文件针对不同的渲染配置进行测试,该文中以以下三个代表镜头为例,分别命名为Ceshi_A、Ceshi_B、Ceshi_C。

以下为三个镜头渲染难点分析:

Ceshi_A:1、室外大场景,有大量树木以及灌木丛;2、建筑数量多达1000余个;3、镜头帧数较长200帧;4、大面积海水(海水为特效单独渲染,不包含在测试数据内);

Ceshi_B:1、两个主要角色;2、角色距离镜头较近(3S材质及离镜头越近渲染速度越慢);

Ceshi_C:1、角色距离镜头较近;2、车窗玻璃反射导致渲染速度较慢;3、镜头内物体数量较多(有大量的鱼群以及珊瑚礁);4、镜头帧数较长350帧。

以上三个镜头基本涵盖了所有动画文件中影响渲染速度的因素,且各有侧重点,因此较具有代表性。

针对三组文件进行软硬件不同方案的测试:

4.1硬件配置相同,不同软件配置(渲染设置)下渲染速度分析:

测试文件基本设置:

帧速率:24帧/s;

画面大小:Width:2560; Height:1080;

图像格式:TIFF(tif);

渲染时间单位:min;

渲染机器:HP Z820 Workstation;

从渲染时长数据来看,软件参数设置越高,渲染质量越高,但渲染速率越慢;当渲染设置高到一定程度后,渲染图像的质量区别很难用肉眼分辨出来,但渲染耗时却会产生翻倍甚至数倍的变化,因此,通过反复测试,我们取得平衡渲染质量与渲染时长的软件最优化配置:

Resolution(分辨率):72

Quality(质量预设):production(产品级别)

Filter(多图像过滤):Gauss

Filter Size(过滤器大小):3

Raytracing(光线跟踪):

Raytracing(光线跟踪):√

Reflections(反射):5

Refractions(折射):5

Max trace Depth(最大跟踪深度):10

Shadows(阴影):2

Reflections Blur Limit(反射模糊限制):1

Refractions Blur Limit(折射模糊限制):1

Final Gathering(最终聚集):

Final Gathering:√

Accuracy(精确度):100

Point Density(点密度):1

Point Interpolation(点差值):10

4.2软件配置(渲染设置)相同,在不同硬件配置中运行的渲染速度分析:

通过硬件测试渲染,超算中心渲染速度比自主渲染机房渲染速度快约45倍。

4.3 渲染人员与硬件设备的优化分配方案

硬件设施共有计算节点700台,接入节点10台;本项目中,渲染使用接入节点4台,计算节点280台;配备人员要保证动画渲染的正常运行并确保渲染质量,同时避免人员浪费。

经过测试,本项目中配备5名工作人员可确保渲染顺利完成,其中渲染操作人员4人,硬件维护人员1人。并计算出同类项目中,工作人员与接入端口及计算刀片的比例安排约为1:50-1:60。

项目人员安排如下:

渲染操作人员:4人;

每人负责一台接入节点的操作,通过接入节点带动计算节点70台;

工作内容:

1)负责操作接入节点,通过渲染排查插件对渲染文件进行检查,确认各项设置正确无误;

2)设置起始结束帧,规定渲染层进行渲染;

3)定期对输出素材进行检查,通过Pdpalyer及Premiere等软件对素材进行初步检查。

硬件维护人员:1人;

负责4台接入节点及280台计算节点的硬件设备维护,检查设备运算状况是否良好,保障设备设施正常运转,确保渲染正常运行。

5 总结

目前,国内出台多项政策,大力扶持国产动画产业发展,大量动画制作公司营运而生,但三维动画生产制作周期长,回报时间长,造成大量动画公司运营困难,很多优秀的原创动画公司因为难以支付高昂的运营成本而举步维艰,国产动画产业发展缓慢。

三维动画制作包含多个环节,各环节中以分层渲染耗时最长,对硬件设备要求也最高,但相应的人力投入却最小。因此,解决动画渲染无疑是攻克动画项目周期长的良好切入点,可以在保证项目质量的同时大量压缩项目周期,从而节省项目成本,尽快回笼前期投入资金。由此,对超级计算动画渲染项目的研究与优化有着良好的市场前景。

目前,动画渲染多运用单机渲染或渲染农场实现。单机渲染速度慢、效率低,大大延迟了项目进度,而渲染农场是一组通过网络连接在一起的计算机集群,通过多台机器协作运行,达到快速渲染3D动漫作品的目的。渲染农场的一个发展趋势就是Renderbus自助式渲染,目前国内大部分动漫制作公司已经接受这种自助式渲染模式,渲染农场速度快,但价格高昂,尤其对镜头数量较多,镜头文件较大的项目来说,项目资金负担严重。

超级计算机基于国家超算中心存在,承担各种大规模科学计算和工程计算任务,同时以其强大的数据处理和存储能力为社会提供云计算服务,将建成功能齐全、平台丰富、高效节能、国际一流的高性能计算研究开发中心和云计算服务中心。其计算节点远远高于渲染农场,换言之,其渲染效率远大于市场上现存的渲染方式,在动画渲染中应用成功后,能产生巨大的直接及间接效益,并造成深远的社会影响,大大缩短动画制作周期,节约成本,从而拉动国内动画产业的迅速发展。

参考文献:

[1] 朱莉.中国动画产业发展现状与对策分析[J].企业家天地,2011(2).

[2] 薛伟莲,姜帆.基于云计算的动漫产业协作模型[J].辽宁师范大学学报:自然科学版,2012(2).

[3] 樊雷,孙建波,马文杰.基于移动云计算的高校实验教学平台设计[J].福建电脑,2012(8).

[4] 廖健宏,杨玉宝,唐连章,等.基于云计算的动漫渲染实验平台研究与实现[J].实验室研究与探索,2012(7).

上一篇:基于TCP/IP体系结构的计算机网络教学方法的研... 下一篇:浅谈虚拟化软件在教学中的作用