Inside Combustion 2
by Todd Sheridan Perry
Combustion 2 has been long promoted as the next best compositing tool
available for Linux, OS X, and Windows. In a lot of ways it is. But in a
numbers of other ways, you shouldnt stop using your other high end compositors
Combustion was born from a combination of previous products from discreet
paint* and effect*. These products in themselves were acquired by discreet
and brought into its line of products. Paint* provided a vector based
paint system, while effect* was the compositing tool. Both were adjusted
and developed to work with 3d studio max, and edit* (which came from D-Vision).
These products were adequate for what they did. Paint*s competition would
have been Commotion, with the advantage of utilizing vector-based strokes
rather than raster. Effect*s peer at the time was Adobe After Effects. Despite
effect*s 3-D compositing space, which gave it advantages over AE, the lack
of high-end keying and color space and correction tools kept it from competing
with eyeon Softwares Digital Fusion and Nothing Reals Shake, which has
since been acquired by Apple Computer.
Discreet took paint* and effect* and combined them into one
workspace, giving you all the benefits of both programs but without leaving
the pipeline. This advancement was nice. But the largest step that discreet
took to bring Combustion to a higher plateau was to begin to incorporate
the tools that are found in Discreets SGI-based Flame, Flint, and Inferno
(FFI). Color correction, keying, tracking and color space tools migrated
from the very well established high-end compositing systems that are without
a doubt the industry standard for compositing. The interface had also made
its way over, creating an opening for compositors to train on the lower-priced
Combustion, and be qualified to move into a Flame bay without having to invest
the money or certainly a post-house to invest in training an artist on
a $600/hr machine.
In the first iteration, discreet managed to bring the level of their
compositor up a notch. There were still some items that it was lacking,
however. Combustion forced the user to work in its 3D compositing space,
which is much more heavy in comparison to the 2D compositors out there.
The Color space tool dealing with LookUp Tables (LUTs) as well as management
tools for viewing color space beyond 8-bit were missing or not up to par.
And it was also missing a schematic view of the composite, which has been
the predominant way that high-end compositing systems have handled things
since the now-mothballed Cineon stations.
Combustion 2, after what seems like a pretty intense development cycle,
has returned with features that fill those previous gaps, as well as expanding
and refining the tools that were already there. Other additions include
Backburner (the Combustion network manager), a 2D particle system, committing
operators to disk, better RAM management, and many more.
When opening Combustion, the first and obvious item is the interface.
Discreet markets this as an artist interface, designed to focus on the
creative process rather than the technical things. I do not really see this
quality. But, it does begin to grow on you after a period of working with
it. Discreet certainly doesnt spend time making the interface look pretty.
There are buttons, sliders, and numbers and nothing more. Its a little intimidating
when you first sit at it and try to accomplish any tasks. It becomes more
evident as you progress that the interface does indeed allow you to work
with more efficiency. Expanding your desktop to multiple monitors gives you
even more flexibility.
I set myself up on a dual monitor system with a Wacom tablet and was
able to assign my display and time controls on one monitor while keeping
my tools on the other. Keeping everything open like this allowed for immediate
and easy access to the entire project. Combustion 2 allows you to customize
up to a 4-monitor setup.
Within the display portion of the interface, you can break the scene into
multiple views. The advantage of this is that each view can represent
a different level of the composite. So, you can be rotoscoping in one view,
while seeing the resulting composite in another. Not only this, but depending
on RAM, you can cache the result of the composite in one view and actually
have the sequence playing while you roto in the other view. The cache will
update as you work and you can monitor the roto for edge flutter. This is,
of course, based on the power of your system and the amount of RAM you hold.
Both factors need to be pretty robust to take advantage of these features.
Along with a standard timeline
view for the layers in the composite, you have added control with the ability
of changing it to a graph view with bezier controllers for more effective
control of the animation between keyframes. You can also view the comp
within a schematic view, bringing it up to the level of control to heavier
hitting compositing programs like Shake and Digital Fusion. Combustion
2 gives you the same kind of control of the composite from both the schematic
and layered workspace. With the ability of linking, unlinking and rerouting
flows, you can build your comps with the process that you feel most comfortable
Combustion 2 takes advantage of a 3D workspace. The layers of the composite
sit in 3D space, giving you control over the distance from the camera.
By stacking the layers with distance information, you can create parallaxing
when you move and animate the camera. It is really much like a multi-plane
camera setup. Combustion also uses this feature to create shadows from
one layer to another, adjust lighting, and create other effects such as
depth of field. On top of this, Combustion 2 can use the 3D information
in RPF and RLA files saved from 3ds max to incorporate other layers amongst
the RPF file. The RPF file contains much more information than the color
and alpha information.
Items like z-depth, velocity, NodeID, MaterialID, Transparency, etc
- -and the file can be saved with 8-bit or 16-bit color depth. Combustion
can see this information and use it for compositing and for specialized 3D
effects. Z-depth allows Combustion to know how far away objects are in a
scene in relationship to one another. Even though the objects are in the same
image, you can slide other layers between those objects, creating an easy
way to composite multiple CG objects passing in front of and behind other
layers without the necessity of rendering multiple passes.
Velocity information enables you to apply motion blur in the composite
based on the vector of the original object. This is essentially what image
motion blur does within Max. But rendering without motion blur, and having
that data available in the composite gives you far more control than simply
applying image motion blur in Max, and much faster than object or scene
The benefits of 3D compositing do not necessarily offset the amount
of calculation time, especially with straight compositing projects. Combustion
2 has brought in a 2D compositing mode that gives the artist an option
of how to put together the comp. The option was sorely lacking in the previous
version, and adding this make Combustion a more viable option for post
houses, especially smaller ones that may not have the firepower to process
the 3D all the time.
The paint features of Combustion bring Photoshop in with the addition
of a timeline. You have full control over brush type and size as well as
brush application, including cloning and revealing on top of just straight
paint. Each paint stroke you create becomes a vector-based spline. This
spline can be animated and manipulated. All the other standard drawing tools
are also included with circles, rectangles, bezier-handled polygons, etc.
These tools extend into making selections and creating masks for applying
effects and including/excluding items from layers of the comp.
I found the paint and roto tools extremely responsive, given the RAM cache
management system that Combustion is using. It is so important to be able
to see the results of your paint and roto in realtime. And the ability to
do this without having to make a preview each time you need to view it is
invaluable for production. Not only do you get the immediate feedback that
you need for this, but if you have a post house with combustion licenses
and a flame or inferno, the roto/paint work can be done on the lower end machines,
and then the data can be transferred over to the high-end systems for final
composite. This, in fact, is applicable to all the parameters in Combustion
color correction, keying, spline data, etc. can all be ported over to the
SGIs and vice versa.
Painting with vectors allows
you a great deal of control, but when each stroke contributes to more calculation
time, the composite can get very heavy very quickly. To alleviate this,
Combustion provides a process where you can commit an operator to disk. When
you commit, Combustion will render the flow up to the operator that you chose
to commit in this case it would be the paint operator. It will then create
another node in your composite that brings in the committed footage and it
will create a switcher operator that enables you to toggle between the committed
footage and the actual flow. This speeds up the rendering process tremendously
by removing the heavy paint calculations, but it gives you the freedom to
switch back to the original flow and make changes if necessary.
Discreet purchased Illusion, a 2D particle generator, last year, and incorporated
it into the Combustion pipeline. The system is deep and robust and quite
complex. The amount of control the artist has seems bottomless. However, discreet
has provided a substantial library of particle presets that will keep any
artist happy and busy with systems ranging from fire to smoke to explosions
to water to flowers. Nearly every parameter is animatable and has a learning
curve of its own beyond Combustion itself. The particles not only can use
points, but also image-based sprites. You can even take the output of a particular
operator in the Combustion flow and assign it as a particle. The emitters
and deflectors within the system can be animated and can also be attached
to a tracker. So, you can track a position on the live action footage, like
a cigarette tip, for example, and then have a particle emitter attached to
that track point, giving the impression that the cigarette is burning.
Despite the capabilities of the particle system, I would really like to
see controls to influence the systems with forces like wind, gravity, turbulence,
etc. Having control over killing particles and spawning would also bring
this feature to a state that could more effectively replace a 3D particle
The discreet keyer is a port from FFI in the SGI world. The same tools
that the larger houses use are available in this relatively low priced package.
All the tools within the keyer are designed to finesse a matte into place.
Other keying systems such as Primatte, Ultimatte, and UltraKeyer (Digital
Fusion), are geared toward getting the matte quickly and effectively. And
as effective as they are, the finessing tools for controlling the edge, suppressing
spill, and the density of the matte dont seem to be as broad as the discreet
keyer. The keyer allows for multiple methods of pulling the key including
RGB, YUV, HLS, RGBCMYL, Luminance, or any pure color channel. Each method
is stored as a different key, so you can compare the quality of each matte
pull. Beyond that you not only have the ability to choke, expand, and blur
the matte, but you can erode the edges which changes the transparency of
the edges without actually removing pixel information. Softness of the matte
can be controlled globally as well as individually for each color channel.
Combustion also carries a
feature that I have not seen in other compositing programs, and that is
the idea of controlling both a front and a back matte. These terms are equivalent
to the matte and the holdout matte in optical compositing terms. In digital
compositing, you generally have the one matte that is assigned to the foreground
object. In optical compositing, you not only need the matte for the foreground
object, but you need another matte to create a hole in the background to
prevent a double exposure. The two mattes are equal in shape and inverted
in value. Combustion gives you curves to control how the edges of the mattes
change from white to black. Finessing these values creates a difference between
the two mattes, blending with one another along the edges. This creates a
polluting of one image into the other, creating a more seamless compositing.
Spill suppression is given
a set of curves as well. You can have the control of desaturating a particular
area of color, or adding the compliment that the spill color into the image
(magenta is usually added to green spill, for example). You are also given
the ability to choose a color that will replace the spill color. This is
helpful if your subject is in front of a particular color, like a sunset.
You can take the oranges of the sunset and assign them to the spill color,
again, making the composite more seamless.
Click image to
see larger view of Combustion's Curves function
The Color Correction tools for Combustion are just as wide, if not wider
than the keying tools. Again, coming from the FFI, these tools have gone
through many years of development and have developed because of project upon
project needing solutions to problems. The tools provided give you access
to each color channel individually, but you can also adjust color based on
tonality, general hue, and tint. You can control with a color wheel, or curves
and a histogram. On top of just adjusting the values of colors, you can make
a comparison between clips (a foreground and background, for instance), and
match the color between the two to provide for a more integrated composite.
Within these color correction
tools is the capability to correct within a number of different bit depths
8-, 10- 16-, and floating. When working with files that are a higher bit
depth, the color corrector has a lot more range to work with and will give
you more accurate results if you need to shoot out to film. You also have
less to worry about when it comes to colorbanding or clamping when values
begin to go out of range. This multi-bit depth capability does have a downside
however, which is not a limitation in Combustion, but rather a limitation
of the computer monitor in general. This is trying to work with files that
contain more colors than the display can provide.
for larger view
Combustion is able to now import and export color Look Up Tables (LUT).
This is nothing new to programs such as Digital Fusion and Shake, but Combustion
lacked this in its previous iteration. LUTs refer to how a program will assign
out of range color values to colors that can be displayed on a monitor. This
is based on a curve function, which can be displayed in Combustion to control
the values in order to have the display on you monitor to best reflect what
will ultimately be put onto film. Combustion also provides a setup of test
patterns to calibrate the monitor you are working with.
Another quality of film, is that it has grain something that CG images
do not have by default. Combustion provides numerous grain management tools
to not only add grain to CG imagery, but also remove grain from footage for
things like creating cleaner bluescreens. For adding grain, you can actually
choose from a number of preset film stocks. Or, you can analyze the grain
of a piece of footage so that Combustion can recreate that grain structure.
I am generally impressed with the ability to sample grain and match, but
the algorithm for removing grain, which is essentially made of a noise filter
and a soften isnt really as effective as sampling and averaging the grain
over a series of frames.
New to Combustion 2, and something that I think is the most attractive
feature of the program is the ability to use a network of computers to render
the composite. This is available on the higher end systems, but not on compositors
such as After Effects. Instead, they have a system called a Watch Folder
system (which Combustion has as well if you are comfortable with it), where
all the render node machines look at one particular directory and if a new
project appears in it, they will grab it and start rendering. This method
of net rendering is clunky and a bit of a hack. To solve this, discreet has
included Backburner with Combustion as a network manager. A Combustion file
is assigned to the designated Backburner manager, and each machine that has
the Backburner server running on it will pick up the job and contribute to
the render. Each rendering license for Combustion 2is free with the purchase
of the workstation version. So, if you have the one license, your entire
render farm can help out with the renders. [an error occurred while processing
this directive] A couple other nice features in the render parameters are
the communication that Combustion 2 has with the outside world pertaining
to its render. It has the capability for the system to e-mail you when the
render is complete, so if you have e-mail connected to a pager or cel phone,
you can be notified when things are done. Combustion 2 can also post the
images to an FTP site for approval or even as generated artwork to another
house that will use them, or a remote artist.
With all of the features
that have been incorporated into Combustion 2 (a number of which I did not
touch on in this article like Paint integration with Max and the tracker),
there are a few things that are still missing that I would like to see in
the next version.
My first and foremost issue with Combustion 2 is that I cannot access the
data from any channels within the program and use them to drive other channels
either directly or through mathematical equations. For instance, if I wanted
to take the average position of two trackers and place an object at that
point, I wouldnt be able to drive the position of the object with the output
of those two trackers. Even After Effects has motion math, which lets you
do this to a degree. For heavy duty procedural animation, not necessarily
as simple as the example, I find that Combustion lacks the proper tools.
You also cannot remap time (in AE terms). You can speedup and slow down
clips based on a percentage, but you cannot do it over time. A lot of filmmakers
use this technique where the frame rate of the camera will change in mid-stream,
giving a jarring effect to the scene as it goes from overcranked to undercranked
in the same shot. Combustion 2 doesnt have tools to accomplish this. You
are required to use RealVizs Retimer or Twixter. Or even go into After
Effects and use their built-it time remapper.
I would also like to see the robust deformation tools that FFI includes,
which would allow morphing and highly controllable distortions using a grid
of bezier control points.
As of this writing, there is a quite annoying bug (which I assume will
be fixed in a patch or minor upgrade) which causes Combustion 2 to second
guess the artist when naming files or going through directory structures.
If you have a number in your filename that is not part of the sequential
numbering of the file sequence, or a number in the name of the directory
Combustion 2 will automatically convert this number to a [####]. You can
fix this by specifically retyping the number after you have used the browser
to determine your output path but this is annoying and should be unnecessary.
Furthermore, it will cause a render failure because Combustion 2 cannot
find directory shot[####].
Im sure that these items will be fixed within the next development cycle.
Overall, I think that Combustion 2 has come a very long way since its effect*
and paint* days, due in large part to the contributions of its big and more
experienced siblings on the SGI side. There is a bit of a learning curve
and some time is needed to get used to the simplicity of the interface and
the methodology that you have to use, which is different enough from both
the timeline based compositors like After Effects, and the module based compositors
like Digital Fusion to confuse most artists for a few hours despite the
artist interface As a rotoscoping tool, I feel it is indispensable. The
feedback that you get from Combustion 2 is absolutely necessary for this
process, as well as hand tracking objects and painting out wires. As a compositing
tool, the items that Combustion 2 has inherited from the Flame, Flint, and
Inferno, place it a cut above most other systems at this price range. The
3D functions add value as well. I am especially intrigued with its use of
the additional information provided in RPF files.
Combustion 2 has a lot of benefits and it is a welcome addition to a compositors
toolset. The next few iterations should provide some interesting competition
to the higher end compositing systems.
For more information, visit www.discreet.com
Todd Sheridan Perry is the visual effects supervisor
and partner at Max Ink Cafe (www.maxinkcafe.com) in Venice, Calif. Between
supervising visual effects and animation for films, television, and games,
he occassionally has a moment or two to impose his thoughts about the industry
Digital Post Production