About the Shake Workflow

Shake is a collection of image manipulation engines, like compositing or warping. Each engine can be driven by a series of different commands, called interchangeably nodes or functions. For example, Gamma is a node to change the gamma of an image, Pan is a node to pan an image, etc. Each node usually has a series of parameters in it, for example, how much to pan in the left and right, up and down, etc. The interesting thing about Shake is that the nodes and their parameters can be edited either in the Interface (Graphic User Interface, or GUI), a script, or from the command line. There is no difference to the composite how these nodes are called, but each method has its advantages or disadvantages in terms of workflow. This is a brief outline of how the workflow goes for each method, and the advantages to using each method.

These outlines are meant to indicate the workflow alone. See related tutorials to get the actual specifics.


Reasons to use the Interface

95% of all compositing trees are probably going to be made in the GUI. Its the main tool for editing, animating, tuning, and arranging nodes. Because it displays many types of information simultaneously, it is the method usually used when anything gets even mildly complex.

Interface Workflow
  1. Images are read in from various directories.
  2. These images, as represented by the nodes, are arranged in a compositing tree, with color-corrections, layering commands, keying functions, etc.
  3. The parameters of the nodes are tuned with interactive feedback in the viewing windows
  4. Once finished, a FileOut node is attached to tell Shake where to write the output image. You can use as many FileOuts as you want, placed anywhere along the tree.

    You can render from the interface by choosing the FileOut, and then hitting the flipbook button, or...
  5. The tree is saved out as an text script.
  6. From the command shell, or from your own batch rendering system, the script is then executed, and the output image written to disk.



Reasons for using Scripts

You can do script-based composite by hand-typing a script on your own, modifying a script written by the interface, or by saving a string of batch commands as a script. For those of you who are more accustomed to using an interface, and may be discouraged by scripting or by typing commands in the command line, keep in mind that both of these quite often have substantial benefits for specific tasks, and learning them is worth the effort.

The script has several appealing aspects to it.

Scripting Workflow:
  1. FileIns are created at the top of the script, then macros, followed by similarly grouped functions.
  2. The scripts is saved, and tested in the command line. The last node is evaluated, plus any node called to by a Monitor or View function.
  3. When all is satisfactory, FileOut commands may be added to the script, or added in the command line.



Reasons to use the Command Line method

Every function that can be done in the interface can also be executed in the command shell, usually in what is known as a tcsh (pronounced "t-shell"). Shells are standard in UNIX, and for NT users, we recommend downloading the tcsh port for NT available on our website. It's not ours; it is shareware that we carry for our clients. The command-line is perfect for when you know exactly (or almost exactly), what you want to do, and it's not very complicated. It's great benefit is speed. If you just want to take 4k resolution plates and make video-res copies with a change in gamma, it may be easier to type that out than to actually fire up the interface and connect all of the nodes.

Some common command line uses:

For these reasons, you see Shake commonly being used not just for traditional compositing functions, but also in a supporting role for 3D and I/O departments.