In 2.40 the Render Pipeline was improved, introducing tile-based rendering, render layers and an integrated compositor. For true pass render, the code that handles shading itself had to be reconfigured. That's now available in 2.43.
Implementation notes for passes: http://wiki.blender.org/index.php/BlenderDev/RenderPipeline
When you render to passes, you might not want this pass to be added to the "Combined" pass, to allow using "Combined" for compositing too.
You can Enable/disable adding the pass by clicking holding CTRL on the pass buttons with a small grey dot. A black dot then means it's excluded from "Combined".
Note that you can also define this way how "Combined" is assembled without rendering to passes. In the screenshot to the right that's done for Specular and AO.
This screenshot shows a simple scene, with almost render passes enabled. From left to right, top to bottom, you see: Color only, Diffuse, Specular, Shadow, Ambient Occlusion, Reflection, Refraction, Normal, Object Index and Z.
Note: the Reflection and Refraction are 'additive'. Because they can store negative color, for this composite setup a grey color was added.
Demo file for above: download.blender.org/demo/test/2.43/monkey_cornelius_passes.blend
The Blender Render Pipeline allows to render unlimited amounts of RenderLayers, and for each of these RenderLayers a number of passes. This distinction is simple; a RenderLayer defines which (types of) geometry is handled, the Passes store shader results.
Three new options for RenderLayers now allow further control over pass render and composite:
Pass renders can be saved in a single file.
Viewing of multi-pass images is also possible.
You enable passes with the RenderLayer Panel in the Scene Buttons.
For each Render Layer you have to set first the layer options (Solid, Halo, Ztransp, Sky and Edge). Passes are only available for the Solid and Ztransp layers (since this shades actual faces).
The render option "Save buffers" will create a temporary .exr file with all passes. You can force re-reading this file in the Compositor window with hotkey "R".
Combined
This is the default pass, RGBA, and always available during rendering for display updates. If set, it will render with all render options and accumulate passes here. Here you'll also find halos and edge render.
Z
Delivers one float value, the distance from camera, in Blender units. Is not anti-aliased, but the Z value of the closest sample in a pixel.
Vec
Speed vectors, for vector motion blur. Two times two values.
Nor
The rendered normal, 3 float values ranging from -1 to 1.
UV
For those faces that have UV texture faces assigned, it writes UV values in this pass. For proper masking purposes, it writes an alpha value as well. See the UV Mask Node page.
IndexOb
Every object can have an index number (Object Context buttons, "Object and Links" panel, button named "Pass Index". These values get rendered in this pass, as a single float value. You can use this for generating masks as needed for compositing. Note this pass cannot store anti-aliased indices. See the Index Mask Node page.
Col
The raw color, RGB floats, as returned from a Material and Texture.
Diff
The raw diffuse, RGB floats. without any shadow or specular or ambient. It does include the Color from Material and ramps.
Spec
The specular component, RGB floats. It is masked out by shadow already.
Shad
This is the shadow pass, RGB floats, retrieved by dividing diffuse with shadow by diffuse without shadow. Multiply this pass with the diffuse pass to get it combined.
AO
The Ambient Occlusion pass. RGB floats. It is the 'raw' pass, not converted to 'diffuse' as used for the Combined pass (so it does not store options "Add", "Sub" or "Both"). When this is the only pass active, no shading or shadow calculation happens.
Refl
The ray-traced and/or environment mapped reflection pass, RGB floats. This is the difference of diffuse with and without reflection. Add this pass to combine it.
Refr
The ray-traced refraction pass, RGB floats. This is the difference of diffuse with and without refraction. Add this pass to combine it.