前言概述
1.什么是分布式渲染(Distrbutded Rendering)
分布式渲染是一种能够把单帧图像的渲染分布到多台计算机(或多个CPU)上渲染的一种网络渲染技术。有许多方法可以实现这种技术,主要的思路是把单帧划分成不同的区域,由各个计算机或CPU各自单独计算。常用的方法是把静帧划分成许多小区域(Buckets),每台计算机都渲染一部分buckets,最后把这些buckets合并成一张大的图像。VRay就是用的这种做法。
2.VRay的实现
VRay通过TCP/IP协议实现分布式渲染的网络联接,不需要任何附加的程序或目录共享。分布式渲染的管理分成两个部分:服务端和客户端。
3.客户端
客户端是指用户现在正在使用的那台计算机。它把单帧划分成许多小的渲染区域(bucket)并把它传给服务端去计算。整个渲染过程由客户端来管理和组织。在客户端计算机上,有一个用户界面来管理网络上的服务端——指定哪些服务器参与计算哪些不参与——并控制服务器端的状态。每当一个渲染区域(bucket)计算完毕,客户端上显示出这块bucket,并发送另一块bucket给空下来的服务器计算(当然如果有的话)。
4.服务端
服务端就是渲染服务器啦,顾名思义,就是网络上提供计算服务的真正在干苦力的计算机们。它们渲染每个bucket,并计算结果送回客户端。它们的状态也由客户端监控。
工作环境
要向实现VRay分布式渲染,必须用户处于局域网之内,并有多台计算机通过路由器链接且都能相互访问。(图01)
图01
实际操作
1.在A机器新建一个文件夹,右击把文件夹设为共享文件夹,并勾选允许网络用户更改文件。(图02)
图02
小提示:这一步是为了向B、C、D、E机器提供互相访问,被共享的文件夹名字一定要为英文或数字。
2.打开你已经做完的3ds Max文件,然后点工具按钮使用资源收集器,把你场景里面所有的贴图和光域网连同Max文件一起导出到你刚才建立的共享文件夹内。(图03)
图03
警告:导出3ds Max文件名、所有贴图的文件名和光域网名一定要为英文,因为网络路径不能识别中文路径,否则分布式渲染出来就会丢失贴图和导致出错。
3.现在我们重新打开刚才的导出的3ds Max文件。(图04)
图04
小提示:请务必按照图中操作打开所在的Max文件,因为分布式渲染每一步骤都非常严谨。
4.我们把刚才导出的3ds Max文件用网络路径打开后,现在来设置所有材质的贴图路径,具体方法按下Shift+T把资源追踪器打开,刷新一下然后把原来贴图路径改成网络贴图路径。(图05)
图05
小提示:我这里只是为了做教程,所以只展示三个贴图路径设置,实际一个场景有很多贴图的。
5.接下来我们按F10打开渲染面板,把VRay渲染面板的渲染参数都设置好,最重要的是要在VRay系统子面板里面勾选分布式渲染,然后添加A、B、C、D、E机器的计算机名,或者是直接添加成每台机器的IP地址,然后按下解析服务器按钮检查是否都已连接。据了解服务器最多添加255台多了的用不了。(图06)
图06
小提示:添加服务器的时候可以把本机A机器添加进去。
6.现在万事具备只欠东风了,接下来我们把所有的服务器(B、C、D、E机器)上的Launch VRay DR spawner打开,然后回到A机器按下渲染按钮,你过一会就看见渲染区域分割一部分给其它机器工作了,那么我就恭喜你成功了,尽情的欢悦吧。
如果每台机器都是双核CPU的话,那么按照我们A、B、C、D、E五台机器算的话,就会有10个渲染分割区在跳动,就会当一台10CPU的机器了,依此类推如果每台是4核的话,或者是多几台机器的话,可以想象的到那速度是喝口水的功夫还是一眨眼的功夫呢?
可以不用再本机A机器上打开VRay DR,这样你的机器就不会卡,不会影响其它操作。
注意一:保存和读取光子文件的时候,请务必也用网络路径,并且文件名要是英文名。
注意二:批处理渲染的时候也需要做到网络路径,出图路径也是网络路径,文件名也需英文名。
好了,如果按照我教程上所讲的,那么软件就会相对稳定,不会出问题。谢谢大家仔细阅读!
全部评论