Tutorial Brought to you by Jonathan Kaplan of Kaplan Design Labs |
Hello internet world!
Disclaimer:
A) This tutorial pertains to 3D Artists.
B) You will already need a basic understanding of Vray Distributed Rendering and Backburner in order to understand this tutorial until I have time to make "word for word" steps and edits so anybody can understand this without the fundamental knowledge.
Background/ Why this tutorial is relevant:
I recently got a new job (which I am completely in love with.) I am now doing 3D Modeling, Rendering, Texturing, and Lighting full time, with a little illustration and graphic design mixed in. I was recently approached by my boss about setting up a render farm for the company to ease our workflow. After comparing Mental Ray to Vray we decided as a company to use Vray as our primary render engine. This turned out to be a great decision in more ways than were immediately obvious. By going with Vray as our main render engine, we were able to benefit from Vray Distributed Rendering. For those of you who don't know, Vray Distributed Rendering in essence can use all the computers on a network to combine processing power and work on rendering a single frame. This is different from Backburner in the sense that traditionally, Backburner assigns a single frame to a single computer on a network (so if you have 20 computers on a network and 20 frames to render, each computer will render 1 frame at a time rather then combining forces to render each frame together.) I enjoyed the benefits of Vray Distributed Rendering because I feel like I would rather have more finished frames when I come in the next day than having 20 frames all %50 completed. Also, using Distributed Rendering seems to exponentially speed up render time in general.
This is where the problem came into play. While Vray Distributed Rendering was our office's preferred method of using our network as a render farm, there is no out of the box Render Que for you to prepare projects and autonomously have them render one project after the other without having to sit there and hit render every time a frame was done; however, Backburner is known for having a built in Render Que where as you submit projects they wait in line and automatically are sent to free slaves/ nodes (unused computers) as they become available and finish jobs.
At this point I decided I would attempt to find a way to use the benefits of the power of Vray Distributed Rendering in conjunction with the Render Que and "Monitor" aspects of Backburner. My first instinct was to take to Google and search every forum I could to find a method for using Vray DR and Backburner together. To my surprise, this was IMPOSSIBLE. While there were rumors that new versions of Vray DR and Backburner could function together, there was no documentation or tutorial at all and no one in any forums seemed to have any insight on this.
Despite not being able to find anybody who had already tackled this complex issue, I decided to see if I could figure it out, and I DID :) Here I present to you the necessary steps for setting this up.
Tackling the Problem:
Before you get started, decide which computers you want accepting jobs/ frames from Backburner and which computers you want to use Vray DR to contribute to those machines using Backburner. For instance, I am using 4 computers to start/ accept jobs in Backburner, and 6 computers to just use Vray DR and contribute to the render speed of the 4 computers using Backburner.
1) Make sure 3DS Max, Backburner, and Vray are installed on all of your machines in the Render Farm. If you need to use the trial version of 3DS Max on your slaves/ nodes, this is okay, you do not need to have a working licence if you are just using the computers as slaves and it is perfectly legal.
2) On your main stations/ Manager Computers, In Vray, go to Settings > Distributed Rendering > Settings. Here you will add the IP Address of all the computers you wish to use to contribute to the Distributed Rendering. In this window it is also a good idea to check the save in future scenes box. Close out of this window and make sure Distribute Rendering is checked in the box.
3) ONLY on all the computers you want to contribute to Vray DR, go to Start > All Programs > Chaos Group > Vray Adv > Distributed Rendering > and right click on Launch Vray Spawner, and run this program as an ADMINISTRATOR. In the bottom right hand corner of the taskbar, a small Vray icon will appear. This step is finished at this point.
4) Now your stations should be setup for Vray Distributed Rendering. This is where it gets a little tricky. Only on the computers that you wish to accept frames/ jobs from Backburner, Go to Start > All Programs > Autodesk > Backburner, and click on the Server button. Repeat on the other Backburner Machines. On your command station ( the machine you will use to distribute/ submit jobs ), Go to Start > All Programs > Autodesk > Backburner and click on Manager. These two programs should automatically recognize the network.
5) Now, With Backburner "Server" Open on half your machines ( or however you wish to distribute them ) and half your machines running the "Vray Distributed Rendering Spawner," you are now ready for a test render. Until you get the hang of it just test it on 1 or 2 jobs. Submit a job via Backburner from your command station and if everything is setup right, you will notice that the Backburner Slaves should have the computers with Vray Spawner open contributing to the machines that have Backburner "Server" open. In this way, you are now benefiting from the Render Que and Distribution that Backburner is great for, and your frames are getting done twice as fast by bringing Vray Distributed Rendering into the equation.
This should complete the basic steps of setting up Vray Distributed Rendering to work with Backburner. I will work on a video tutorial and add pictures/ edits to this tutorial as I get more time but for now I wanted to share this with the world.
If you have any specific questions or concerns feel free to leave me a comment.
Jonathan,
ReplyDeleteA million THANK YOU's! I was all set to purchase Deadline render manager but frustrated that V-Ray DR was not supported but instead uses "tiles". ugh. So with your tutorial, I was able to get set up as follows:
- Client/Host 6-core workstation using BB Manager and BB Monitor
- Old 8-core MAC running 64-bit XP (V-Ray Spawner running on it)
- New 12-core PC running Win7 64-bit (V-Ray Spawner running on it)
- New 12-core PC running Win7 64-bit (BB Server running on it)
On my client machine in the Distributed Render setup, I have the IP address for the two PC's that are running Spawner only. But when I sent the job to Network Render, it goes to the BB Server which in turn not only sends the job to the spawners, but includes itself in the process! So 30-cores doing DR, via Backburner. How cool is that?? I do have VR Frame Buffer turned on as well. This pops open a FB window on the BB server machine so I can see how things are going. The downside is that it disappears as soon as the job is complete (not letting me save anything from it), but it save's the TIF file anyway, complete with Alpha, so I'm not missing anything (except I can't figure out how to make it save the RenderID file.)
The next issue to solve is that I have PSD Manager that doesn't seem to want to work. I'm guessing I need to install it on the BB Server PC. Anyhow, thank you again! You saved me a LOT of cash for something that would not have worked as well as V-Ray DR...
Dave
Dave! Thank you so much for leaving me a comment. I am very happy that you were able to understand the tutorial and that everything worked out for you. I had the same problem when setting up my render farm and when I took to the web to find a tutorial on it, to my surprise, there wasn't one! In fact, most of the literature I read by people exploring the issue said it was impossible to use the two in tandem. So after spending many hours experimenting and finally figuring it out myself I decided I needed to write this tutorial. Extremely pleased that it is being put to good use :)
ReplyDeleteI have been getting a lot of emails lately with questions regarding this tutorial. If you run into any problems feel free to contact me with questions. If I do not respond immediately I apologize but I will respond to each email as soon as possible. To contact me you may email me directly, use the contact form on the contact page which is directly routed to my email, or I will respond within this comment thread.
ReplyDeleteKeep enjoying the tutorial as it brings me great joy to hear all of the positive feedback I have received. Thanks!
Just want to share my experience in these too:
ReplyDeletehttp://kiekie21.blogspot.com/2013/10/setup-3ds-max-v-ray-distribute-rendering.html
hi Jonathan , i have try to make the this tutosrial but i have an error : could not connect to the host 169.254.139.102 :connection timeout. please help
ReplyDeleteHi Jonathan, i'm new to this BB as well as Vray Dr. In your tutorial u said that we have to hit render for each time when we use Distributed Rendering(DR). Whether we can give frame range in 3ds max common settings. will it resolve the no of frame issues. please help me
ReplyDeleteHi @diwaakaran, from what you are saying I think I understand your problem. Yes, if you set the frame range in 3ds Max that will determine the amount of frames rendered in a single pass, here will be no need to render each frame individually.
ReplyDelete@razvan,
Make sure your render host/ manager is set to have a static I.P. Address?
Thank you sir, i'll try.
Delete