Tuesday, December 3, 2013

Setting up the CGRU renderfarm manager

Alright, here's a step-by-step sort-of tutorial on how to setup the awesome CGRU renderfarm management system.
First of all, a little introduction. CGRU is an open source renderfarm management solution that supports various software, namely the following:

  • Blender
  • Maya
  • Houdini
  • Nuke
  • NukeX
  • 3ds max
  • Softimage
  • After Effects
  • Cinema 4D
My main reason to try it out was the Blender support (because the default Netrender addon is a mayor PITA honestly), so I cannot say anything about how it works with other software so far - but it works like a charm with Blender! 
Once set up, it's pretty self-explaining, and the running system looks like this: 

CGRU in action
But how do we get to this?
It's pretty straight-forward. Other render managers often require you to have a running Apache/mySQL/php/whatever similar. With CGRU it's as simple as copying a folder and set it up with a few clicks. So let's get started! 
Disclaimer: I have a Windows-only renderfarm here, so I'll describe the steps for Windows only. Also there might be a way to do some sort of centralized setup instead of doing it on every single machine. But since my renderfarm only consists of 10 render machines, it was easier doing it this way.

CGRU can be downloaded here: http://cgru.info/#downloads.html

After unzipping the downloaded file, copy the extracted folder onto every machine you want to render with. So much for the installation, now the setup (you'll have to do the following steps on every machine).

Open the folder and execute the "start.cmd" file. After doing this, you should have a new CGRU icon in your systray:
The popup menu of the systray icon
Right-click on the symbol and navigate to Software - Setup Soft - Blender (or any other software you might wanna setup). In the newly opened window, navigate to your Blender directory and choose "blender.exe".

Quick tip: I copied the blender folder to a mapped network drive accessible by every machine in the network, so updating Blender is a matter of just replacing that one folder instead of having to do it on every machine.

Okay, we're almost good to go. You have to decide which one of your machines will act as a master - take note of its IP. Now (for every slave), right-click again on the systray icon and navigate to AFANASY - Set Server... Paste the masters IP in the popup window.

That's it for the setup. To start rendering, navigate to the CGRU folder you downloaded, open the "start"-folder, followed by the "AFANASY"-folder.
  • on the master, start the "_afserver.cmd"
  • on every slave, start "render.cmd"
  • on your workstation, start the "start.cmd" in the downloaded directorys root
You can also start render.cmd on the master, so it will also render along. Now you can either place shortcuts to the respective .cmd-files on the desktop of every machine for easier access or add them to the Autostart folder, so the services will be started at boot time.

That's basically it, if done correctly you should now have a working renderfarm! Adding new jobs can be done either via a Blender addon which is included or via the systray icon. Job- and rendernode management is done by systray icon menu - AFANASY - Start Watch. I won't go into detail on that, because the documentation over at www.cgru.info is quite good. 

So I hope this made the first few steps on setting up your renderfarm a little easier. If you have questions, post in the comments or shoot me a tweet @tobkum :)

Thanks for reading, feedback is encouraged!

Monday, November 25, 2013

Renderfarm management

Just a quick heads-up because I have a feeling that too few people know about this (and everybody complains about the native network renderer in blender - including me ;)):

There is a great open source renderfarm manager available at www.cgru.info. We started using it at our studio (www.breitbild-vfx.com) a few weeks ago. Works flawlessly. Aside from Blender, it also supports After Effects, Houdini, Max and some more.
Setup is hassle-free, and you don't need any webserver, database or similar stuff running. Current version is 1.7, a major overhaul (2.0) is currently in the making. Load-balancing, rendernode management, job queue, priorities, job dependencies, you name it - it's all there.

If need be, just poke me here in the comments or over on Twitter (@tobkum), and I'll do a step-by-step setup description.

Wednesday, January 25, 2012

Quick tip: up-to-date Blender builds

Just a little heads-up for something that seems not to be known too well... If you find yourself looking for the newest Blender builds (because some totally cool new feature got added), just head over to builder.blender.org. It's an automatic build service that compiles the current SVN on a regular basis. So you don't have to wait until someone uploads his/her build to graphicall.org, just get them from the Buildbot. They come in all flavors - Linux, OSX, Windows, 32bit, 64bit.
So if you aren't looking for a build of a specific Blender branch but just the trunk version, this makes it easy. For everything else, you can still resort to www.graphicall.org.


Monday, December 26, 2011

Still alive

Although it might not look like it regarding the lack of updates in the last months, the project is still very much alive and growing. Right now I'm in the process of ironing out some little bumps in the script - something very un-visual and difficult to post updates about.
I had the feeling that one of the two main characters could use a little more depth, so I rewrote some parts. That's something that should definitely be finished before going into actual production, for the audio part will be recorded before animation starts. And I don't want to have multiple rerecording sessions, so it has to be nailed in advance - although I suspect that minor changes are inevitable during production.
Yesterday, I created the notorious coming-soon-page over at http://lovebites.overmind-studios.de/. Nothing really to see there, but a good feeling to have one ;)

Merry remaining christmas everyone!

Wednesday, September 7, 2011

A handy tool - djv

A really great (free open source) tool for previewing image sequences is Djv. You can find it over at http://djv.sourceforge.net/. It sports very cool capabilities to cache them in the RAM and play them fluidly (even in FullHD). Djv runs on all 3 mayor platforms natively, Solaris is also supported.
Histogram, color picker, frame cycling, playback of Cineon and OpenEXR files and many other features are also at your fingertips, making it an all-around solution as an image sequence viewer.

Djv interface

And an added bonus: It's supported by Blender! You can set it as animation player in the user preferences, see screenshot below:

This way, every time you click on Render - Play Rendered Animation (or press CTRL F11), Blender opens the rendered frames and plays them back in Djv.
The only downside is that it seems it's not being developed anymore. But the feature set it already has justifies the download. Be sure to choose the development version - I haven't encountered any bugs with it yet. Let me know your experiences with it!

Sunday, August 7, 2011

Love Bites is now on Wreckamovie

Just a quick note: I just created a Wreckamovie.com project for Love Bites here. I might soon search for collaborators of various professions, so check it out from time to time if you are interested in spicing up your portfolio and helping out a fellow filmmaker.
Next up is a post with some concept art, it should arrive here in the next 2-3 days. Stay tuned!

Tuesday, July 19, 2011

Open source production pipeline thoughts

Alright, let me introduce my pipeline in a few words. Actually it’s not even a real pipeline - even less when compared to bigger studio pipelines - just a collection of programs working quite nicely together. But ‘pipeline’ sounds so nicely professional, so I’ll stick with that ;)

I come from a Linux background, so I’m pretty used to using free open source programs. Recently, I switched to a Mac and was pretty happy to see that most of these applications are also available for OSX. Some aren’t though, and I’m still looking for a feasible alternative to them. But let me go through them one by one.
  • Blender: The main production tool, used for pretty much everything except texture painting and concept art. Runs on all mayor platforms (and also some not-so-mayor ones).
  • GIMP: Main tool for texture painting (which often also involves some image manipulation). Runs fine in OSX with X11 installed. (OSX not officially supported, but you can get recent builds from here)
  • Inkscape: A vector image application, used sometimes for convenient bezier curve manipulation which are then converted to raster format and imported into GIMP for further processing. Also runs pretty fine on OSX with X11, get it here:
  • Mypaint: A natural painting tool, mainly used for concept art and quick digital scribbles. Runs ok with some minor issues, installable through macports (tutorial coming soon).
  • Celtx: a screenwriting application based on the Mozilla codebase, so it runs on all major platforms. Does an awesome job managing the script and various ideas floating around.
Now some of you may wonder why I use a screenwriting/managing application in my pipeline, although this is pretty much a one-man project. I first thought so too, and used a simple text app to write down my stuff. But as soon as it gets to shuffling scenes around, incorporating additional ideas or just get a quick overview over the props and characters involved in a scene, this approach shows it’s weaknesses. Celtx can output a list of stuff that’s present in a certain scene (or the whole script), and provides a quick way to see what has still to be done beforehand or, more general, if the scene is still doable or if it’s already grown beyond that point.
As an added bonus, you feel like you are making an actual film with a correctly formatted screenplay, which can’t be a bad thing after all (and a justification for the title “filmmaker” that’s present on my twitter bio and others).
One thing that makes me a little sad is that my beloved painting application Krita isn’t yet available on OSX. It seems they are working on it, but at the time of writing it doesn’t work (for me at least). It’s also great for manipulating openEXR images, so have a look.
What I really like about this pipeline is that it works flawlessly across the programs. Blender and GIMP can import Inkscapes .svg vector files, all three can produce .png images which can be used to storyboard in Celtx and so on. There is no external app needed to convert the output to be compliant among those programs.
The program that is probably most used  during production wasn’t listed yet, and isn’t even a graphics application. In my case, it is Clementine - the best music player I’ve come across ever. I cannot work without having some music in the background, your mileage may vary. It also manages iPods on Linux without any hassle.

One more thing: if you’re like me, and you get distracted way too easily by the various formatting options when writing, or the email-notification, or twitter/facebook/google+/whatever, do yourself a favor and take a look at FocusWriter (Linux, OSX, Win). Minimalistic options, just text on a background taking up all your screen estate, so nothing can blink and distract you. Except when you un-maximize it of course.
So, with all those tools in place, we can now officially enter preproduction stage. Actually, this stage is almost over for Love Bites, but I’ll probably write one or two things about finding ideas (and, even more important, throwing them away again), look development (which involves a bit of color theory and psychology) and a few thoughts on file management. And soon I will introduce the two main characters to you. Stay tuned!

Thanks for reading, feel free to comment below!