Fade Fade
Image

Introducing RenderFlow

Features
Interface
Example Videos
Requirements
How to get it


What?

RenderFlow is a nodebased render manager. It allows you to setup your render passes much like you would set up a composite in programs such as Shake. This gives you a clear overview of what is going on in the scene. It is easy to use, you decide the complexity as you go along.


Why?

Rendering out the different passes you need for compositing has always been a major pain in the ass. By pass I don't mean specifically diffuse, specular, normal, and so on but also refer to that "super special little mask pass to fix the error on the object in the corner", "the one with the little dot used for perfect 2d-tracking" and "the one where you have to turn off motion blur on Teapot03 because otherwise it renders upside down". Sure you can do this with layers, selection sets, scene states, very scene specific scripts and probably most often manually. However this quickly ends in a situation where there's alot of buttons to press before you can render each pass and getting it wrong is inevitable. It is true that scene states and the batch render dialog can automate this to an extent, but scene states have one major drawback. They assume that the scene is finished, if you add an object to the scene it isn't specified in the scene states and so just sits there. Every scene state needs to be loaded and resaved to understand what to do with the new object.

A Very Standard Node Setup






Features:



- RenderFlow is license free.

We all know what a massive pain it is to deal with licenses. It is a simply superb way of punishing the paying customer. I have often been in situations where plugins have been rejected because of bulky licensing methods, such as dongles or e-mail autorization.



- Client side only.

RenderFlow only needs to be installed on the computer where you are using it. The data generated is stored in the max scene using standard features. This means you don't need to do anything with your render farm. In fact since RenderFlow is only a maxscript you can probably use it without telling anyone, which is good if you're not "administrator".



- Inclusive

RenderFlow is inclusive (if you wan't it to be) everything is hidden and nothing renders unless you specify it. It is built to deal with all those annoying exceptions you run into in most situations. You add in the objects that should render and then add all the modifications and overrides you need for each pass.



- Script Nodes

If you need a feature that isn't in RenderFlow, you can hack your way around it. You already know why you need this. With RenderFlow you can easily run scripts before the render starts, allowing you to turn the background on/off, add or delete objects, offset animation, add renderelements and so on.



- Auto Connect/Submit

Have RenderFlow automatically connect and submit network render jobs for you. Just hit render.



- Ultimate Pricing

Pay what you want, what you think it's worth or for the time it saves you. You choose. You could ask yourself "How does RenderFlows features compare to those of tool X ?" and "What does tool X cost?. For example "How does RenderFlows features compare to those of the Viewcube?" and "How much did I pay for the Viewcube?". You're not really paying for RenderFlow it already exists and can't be "uncreated" just because you don't support it. What you're really paying for is how good you want the next version to be, how fast you want it and for a whole bunch of other tools that could be created given enough time/money.

RenderFlow is currently around 3000 lines of code, it has taken alot of my spare time, that I could have spent having fun or working. So please consider the "Donate" button at the bottom left of this page.









Interface:

The image below represents a "typical" nodetree. If we follow the tree starting from top left. First we find a "script node" that outputs all the objects in the scene (this is the default behaviour). They are piped in to a "subtract node". At bottom left there is an "object node", in this node you collect some objects that need modifying for that specific pass. These objects are passed into the "B"-socket of the "subtract node". This simply means that what is coming out from the "subtract node" is all the objects in the scene except the ones in the "objects node". They are now free for editing. So we pass these objects into a "material node" where they are assigned a shaded white material (which is one of the presets). Then they go along into a "properties node" where their visible to camera state is overridden and turned off. We also make sure they are visible to reflections. Finally these nodes are also piped in to the "output node" at the far right, otherwise they wouldn't render at all. Basically this tree might be for a simplified studio lighting setup.

At bottom right there are two more "output nodes". "View 03"'s socket is drawn as a filled in square, this signifies incoming connections. Which means this "output node" has been collapsed and contains a tree of it's own. Pressing "c" on the keyboard will reveal this tree. "View 02" however has a white square, this means it has no incoming connections and is simply an empty "output node".

Typical nodetree

These are the main buttons.

Main Buttons

Nodes

Description:

Mouseover the nodes in the image for a description

Hotkeys:

  • "1" Create Output Node.
  • "2" Create Objects Node.
  • "3" Create Material Node.
  • "4" Create Add/Sub Node.
  • "5" Create Script Node.
  • "6" Create Properties Node.
  • "7" Create Lights Node.
  • "Ctrl + a" Select All.
  • "a" Frame All, no zooming.
  • "f" Frame Selected
  • "z" Reset Zoom Selected
  • "c" Collapse Tree Toggle
  • "h" Hide Tree Toggle (collapse is better)
  • "p" Parent Toggle (collapse is better)








Example Videos:



Basic Usage

Introduction to RenderFlow. ...I don't really sound like that do I?







Netrender Submission

Description of submitting jobs to backburner with RenderFlow







Script Nodes 1

An example of what can be done with Script Nodes. No sound on this one unfortunately (fortunately for me :P ). It might be a bit boring so feel free to skip ahead to the interesting part.







Script Nodes 2

Another example of using script nodes







Requirements:

Currently RenderFlow works in Max 2009 x64 and x32. It has not yet been tested in Max 2010 but should work. RenderFlow doesn't work in earlier versions of Max due to scripted access of the BatchRenderDialog being broken in all versions earlier than Max 2009 (according to helpfile). I haven't been able to find any hotfixes or service packs that resolve this issue, so please enlighten me if you know of any. I'd love for RenderFlow to work in older versions atleast down to Max 9 x64 but I assume that it is of no interest to Autodesk to fix these issues.







How to get it:

Simply send an e-mail to the address below, stating that you would like to participate in the Beta testing. Put "RenderFlow Beta" or something similar as subject.

The response has been very positive so far, hopefully people will still feel the same after they've tried it :) Due to the beta requests increasing steadily you might have to wait a while before you receive a reply. But please continue to send e-mails it is not "too late". And remember to check your spam folder for the reply.

I don't like spam