Home
What's New...
Plugins
Presets Manager
Maxwell Render
Render Farm
Render Queue

A short(ish) guide to rendering with Passes in LightWave 3D
copyright © 2006 Andrew G. Morgan

Compositors. At some point in the career of a lighting TD you'll have to deal with them - wretched, arrogant, self-serving bottom-feeding vermin that they are. You'll apprehensively bring your beautifully crafted shot to them and they'll sneer at you with their crooked teeth and you'll gape in horror as they butcher all your hours of blood, sweat and tears in a scant few minutes before declaring the now travesty-of-a-render 'comped'...

OK - I'll admit it - I've suffered abuse at the hands of incompetent, lazy or just plain hateful compers more times than I care to remember but there are some good ones out there - if you find one and they're the right gender (hell, even if they're not) marry them immediately, for a good comper is a match made in heaven for a CG artist - they'll take your work and push it to unimagined heights of brilliance IF (and only if) you give them the right material to work with.

"Tell us O mighty CG Gunslinger" I hear you cry "How? How do we appease these vengeful spirits that cause once flawless shots to atrophy into mediocrity unless their peculiar and incessent demands are fulfilled?" - Well, since you asked (and since I like being called 'O mighty CG Gunslinger') I'm going to let you in on some secrets - Oh, and if after reading this and following it to the letter they still ruin your shot, you know what to do.

And use big bullets...

Pass what?

OK, let's start at the beginning: What is a pass? When LightWave (or indeed any 3D renderer) creates an image it writes data about that image into buffers - there's a buffer for diffuse shading, specular shading etc. These buffers are internally composited by the renderer to create the final image. Some applications (namely Maya and XSI) have a flexible enough architecture to allow access to all (or at least, most of) these internal buffers and the ability to save them out independently. LightWave 3D on the other hand allows you to write out an uh... alpha channel.

OK, so that's a pass (of sorts) and alpha channel data can be incredibly useful but if you just hand a rendered image and an alpha to your compositor, it'll simply stare back at you, its soulless eyes filled with loathing and contempt - it'll probably go to lunch (again) shortly thereafter...

Luckily, LightWave users aren't forever damned to be ridiculed and abused by compers - there are two widely-used LightWave plugins that allow you to pull some useful passes out of LightWave - ASA Buffer Saver and DStorm Buffer Saver. ASA is a rather more complex beast so this guide will be using DStorm's Buffer Saver to illustrate how to render passes out of LightWave that your compositor can use.

"But" I hear you say "my render looks great! Why would I need to render out passes?" - Good question - well, whilst your render may indeed be wonderous and may quite possibly inspire admiration and awe from your colleagues, your Director (or CG Producer) will want to change it. There may of course be nothing wrong with it but as we all know, directors and producers get paid according to how many changes they make. More changes = more moolah for them.

Rendering in passes allows your compositor to make pretty broad changes to the shot - the more separated channels they have to play with, the more they can do (and the happier they are). Quite often, saving out passes can prevent you having to re-render your scene as major changes and fixes (even changes to lighting) can be performed in comp. This is a good thing as most TDs would rather be worrying about the shots they've YET to render as opposed to the ones they stuck on the farm a week ago.


Passes in detail

Now you know why passes are useful, lets take a closer look and see what you can render out and what you'd use it for...


The Beauty Pass
The 'Beauty' Pass

Raw RGB
Raw RGB
Diffuse (Shading)
Diffuse (Shading)
Beauty Pass
multiplied into a 'Beauty Pass'

OK, I'll admit that the 'beauty' pass isn't much of a looker - what it is, is a combination of raw colour values
and diffuse shading. Buffer Saver can't render this out in one go - you'll have to render out  the Raw RGB and
Diffuse (Shading) passes - these can be combined in either Photoshop using 'Multiply' or by your compositor
to create what the industry calls a 'Beauty Pass'.

LightWave unfortunately has a big problem with outputting diffuse data - the problem is that LightWave's
diffuse channel not only contains diffuse shading for the objects but also any shadows rendered into the scene.
This is a pain-in-the-ass as compositors will want the diffuse shading separated from the shadows (so they
can adjust either individually). Luckily, Buffer Saver can also output a 'Shadow' pass (see below) which holds
just the shadow data - we can use the Shadow pass as a matte to remove the shadows from the diffuse
(shading) pass as discussed later.


Reflection Pass
Reflection Pass

Here's a Reflection Pass - or rather it isn't - sorta. A true reflection pass requires that your reflective surfaces
have a 100% reflective shader - they reflect everything perfectly so the compositor can easily vary the reflections
from 100% to 0%. The problem with this is that in LightWave, you'd have to create a separate version of your
objects with that surface - you can do it if you want to (your compositor may even smile at you) but this guide
is primarily concerned with getting useful passes out of your (presumably ready-to-render) scene without you
having to create lots of variations of your models. The downside to using your final surface reflection settings
(as above) is that all the comper can do is dial them down, they can't make them more reflective. Bummer.
Buffer Saver will write you out a reflection pass by selecting Ref RGB.


Ambient Occlusion Pass
Ambient Occlusion Pass

"Holy moly!" I hear you say "LightWave can write out an AO pass??" - Uh... well, no. I wish it could but getting
AO out of LightWave is (for the time being at least) a hack. Not even a hack really - it requires a re-render
of your scene. The SG_AmbOcc plugin is great at creating fast, clean ambient occlusion, the problem is that
(like shadows) the data gets written into LightWave's diffuse channel. As AO is an effect that your compositor
would very much like to be able to fine-tune (independently of shadows and surface diffuse), the only way
to isolate that data is to render your scene again with SG_AmbOcc's 'Surface Override' switch on. At least
it's quick. Well, fairly quick.


Shadow Pass
Shadow Pass

Here's the Shadow Pass - yeah - I know I said LightWave writes its shadow data into the diffuse buffer.
Bizarrely, it also writes a completely separate shadow buffer although this is a good thing - we need
our shadows isolated anyway. Your compositor can (begrudgingly) separate the two using the shadow
pass as a matte - you can do the same in Photohop by applying the Shadow pass to the Diffuse (Shading)
 using a 'Color Dodge'. Check Shadow in Buffer Saver to save this pass out.


Specular (Shading) Pass
Specular (Shading) Pass

The Specular (Shading) pass contains (surprise) your specular shading and hot-spots - this can be
applied on top of all the other passes (using 'Screen' or 'Linear Dodge' if you prefer in Photoshop)
to complete the re-construction of your render. The specular shading data can be used as
 the basis for blooms and highlights in comp.


Alpha Channel
Alpha Channel

When is a pass not a pass? When it's a channel - an Alpha Channel to be precise. Hopefully you're
already familiar with these - alphas are incredibly handy for isolating elements in your renders. The
above image was created by making the background a constant black - this allows us to easily
mask out any of the 3 shapes in the render to work on them individually. LightWave can actually
write out alpha channels by itself but seeing as we're already using Buffer Saver, its just as easy to
check Alpha and get it to write these out at the same time as all the other passes.


Depth Pass
Depth Pass

The last of the really useful passes Buffer Saver can export, the Depth pass is a greyscale image
representing the Z-depth of the geometry in your scene - Buffer Saver renders the depth from black
(furthest from the camera) to white (closest to). The most common usage for a depth map is to
add fog or depth-of-field effects to a shot although in the hands of an experienced compositor
(assuming you're lucky enough to ever find one) it can be used to place effects into the shot in
front or behind the geometry - amazing what you can do in 2D with the right data...


Luminous Pass
Luminous Pass

Buffer Saver can actually write out quite a few more passes than the ones I've listed above.
Unfortunately the remainder are somewhat less useful. In the above example we've got the
'Luminous' pass - this is a greyscale image that represents the luminosity value of the cylinder
object in my demo scene. In the quick 'n dirty Photoshop comp at the bottom of this page
you'll see how I've used this to boost the luminosity of the object. In addition to Luminous,
the other 'value' passes Buffer Saver can output are Diffuse - not to be confused with Diffuse
(Shading), Specular - ditto, Mirror - reflection values and Trans - transparency values.

Depending on what types of surfacing you're using in your scene and on the requirements of
your compositor, some of these passes may be of use - Trans and Luminous are likely to be the
ones you use the most. If in doubt, you could always output all the value passes - better to
have 'em and not need them than need 'em and not have them...

One last obscure pass that's worth outputting is the Geometry pass - this is a greyscale
image that represents the incidence angles of your geometry - white is 0° and black is 90° -
useful for some compositing and colour-correction effects.


Putting it all together...

"Huh? Isn't that like - the compositor's job??" - Well, uh... yeah but by looking at the example below
hopefully you'll have a better understanding of how it all works and why it's a good thing. Let's take
a look at how this works in Photoshop:

Example Comp

OK, here's what we've got - the bottom left image is the original LightWave render, the top left
is a demo comp I put together in Photoshop. I tweaked the brightness of the shadows a little bit
and added in the ambient occlusion which was rendered separately. I couldn't quite get the look
of the cylinders to match (I'm no comper and not exactly a Photoshop genius) but I actually
prefer the look of the comped image anyway. If you want to take a look at the Photoshop
comp, you can download it here.


OK - so how do I get all those passes out of LightWave?

Simple! Hit Ctrl + F8 to get the Effects panel with the Processing tab and add Buffer_Saver
under Image Filters. Double-click on Buffer Saver to pop up the panel below:

Buffer Saver UI
Buffer Saver

Check the most useful buffers as seen above - ask your comper if they need the Diffuse, Mirror and
Specular value passes (I've omitted them above). If you're outputting a Depth pass, check the
'Normalize' button and set the 'Near Clip' to the distance between the camera and the object
closest to it throughout the duration of your scene. Set the 'Far Clip' to the distance between the
and the object furthest from it throughout the duration of your scene.

Lastly, pick your file format and save location - that's it! You're ready to render!


Why couldn't you have told me that at the beginning so I didn't have to read all this?

Where's the fun in that?


So what's next?

How does 'Advanced rendering and compositing with passes' grab you?


Home