# Pass Class Reference

Related Scripting Object: Pass | Supported Parameter List: Pass

A render pass creates a picture layer of a scene that can be composited with any other pass to create a complete image. Passes also allow you to quickly re-render a single layer without re-rendering the entire scene. Later you can composite the rendered passes using the Softimage FX Tree, the fully-integrated compositing and effects toolset, or another compositing tool of your choice. More...

`#include <xsi_pass.h>`

Inheritance diagram for Pass:

List of all members.

## Public Member Functions
| Pass ()
| ~Pass ()
| Pass (const CRef &in_ref)
| Pass (const Pass &in_obj)
bool | IsA (siClassID in_ClassID) const
siClassID | GetClassID () const
Pass & | operator= (const Pass &in_obj)
Pass & | operator= (const CRef &in_ref)
CRefArray | GetFramebuffers ()
Framebuffer | CreateFramebuffer (const CString &in_channelName)
Framebuffer | CreateFramebuffer (RenderChannel &in_renderChannel)
CLongArray | GetFrames ()
CString | GetResolvedArchivePath (const CTime &in_rTime)
CString | GetResolvedArchivePath ()
Renderer | GetRenderer () const
CRefArray | GetPartitions () const
Partition | CreatePartition (const CString &in_name, XSI::siPartitionType in_type)
CRefArray | GetAllShaders () const
CRefArray | GetAllImageClips () const

## Detailed Description

A render pass creates a picture layer of a scene that can be composited with any other pass to create a complete image. Passes also allow you to quickly re-render a single layer without re-rendering the entire scene. Later you can composite the rendered passes using the Softimage FX Tree, the fully-integrated compositing and effects toolset, or another compositing tool of your choice.

Each scene can contain as many render passes as you need. When you first create a scene in Softimage, it has a single pass named `Default_pass`. This is a "beauty pass" that is set to render every element of the scene. You can render a single beauty pass or you can render separate passes. Also, you can use preset passes such as matte, shadow, toon, and highlight, or you can create your own passes.

See also:
  Scene::GetActivePass, Scene::GetPasses, PassContainer::AddPass, Partition

  GetCurrentPass, CreatePass, DeleteCurrentPass

## Constructor & Destructor Documentation

Pass | ( |  | ) |

Default constructor.

~Pass | ( |  | ) |

Default destructor.

Pass | ( | const CRef & | in_ref | ) |

Constructor.

Parameters:

  | in_ref | constant reference object.

Pass | ( | const Pass & | in_obj | ) |

Copy constructor.

Parameters:

  | in_obj | constant class object.

## Member Function Documentation

bool IsA | ( | siClassID | in_ClassID | ) | const`[virtual]`

Returns true if a given class type is compatible with this API class.

Parameters:

  | in_ClassID | class type.

Returns:
  true if the class is compatible, false otherwise.

Reimplemented from SceneItem.

siClassID GetClassID | ( |  | ) | const`[virtual]`

Returns the type of the API class.

Returns:
  The class type.

Reimplemented from SceneItem.

Pass& operator= | ( | const Pass & | in_obj | ) |

Creates an object from another object. The newly created object is set to empty if the input object is not compatible.

Parameters:

  | in_obj | constant class object.

Returns:
  The new Pass object.

Pass& operator= | ( | const CRef & | in_ref | ) |

Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.

Parameters:

  | in_ref | constant class object.

Returns:
  The new Pass object.

Reimplemented from SceneItem.

CRefArray GetFramebuffers | ( |  | ) |

Returns a list of Framebuffer objects on the pass. The framebuffers control which RenderChannel objects the pass will output to disk.

Returns:
  An array of references to the Framebuffer objects on the Pass.

Since:
  6.0

Framebuffer CreateFramebuffer | ( | const CString & | in_channelName | ) |

Adds a new framebuffer to the pass based on the named RenderChannel. The render channel has to exist, otherwise no framebuffer is added.

Parameters:

  | in_channelName | Name of the render channel to base the new framebuffer on.

Returns:
  The newly created framebuffer.

Since:
  6.0

Framebuffer CreateFramebuffer | ( | RenderChannel & | in_renderChannel | ) |

Adds a new framebuffer to the pass based on the specified render channel.

Parameters:

  | in_renderChannel | The RenderChannel object to base the new framebuffer on.

Returns:
  The newly created framebuffer.

Since:
  6.0

CLongArray GetFrames | ( |  | ) |

Returns the list of frame numbers that are going to be rendered by this pass. The list depends on the Pass parameters `FrameRangeSource`, `FrameSet`, `FrameStep`, `FrameStart`, and `FrameEnd`.

Returns:
  An array of integer values or an empty array in case of failure.

Since:
  6.01

CString GetResolvedArchivePath | ( | const CTime & | in_rTime | ) |

Takes the output archive path template given in the pass and resolves it to a real path name for the specified time.

Parameters:

  | in_rTime | The time at which to resolve the path template. Controls the result of the ``[Frame] and ``[Field] tokens.

Returns:
  The resolved archive path template at the given time.

See also:
  Framebuffer::GetResolvedPath XSIUtils::ResolveTokenString Output Path Templates

Since:
  6.01

CString GetResolvedArchivePath | ( |  | ) |

Takes the output archive path template given in the pass and resolves it to a time-independent path, where any instance of ``[Frame] is substituted with the a sequence of `#` symbols, that represent the current frame number and padding width.

Returns:
  The time-independent resolved archive path template.

See also:
  Framebuffer::GetResolvedPath XSIUtils::ResolveTokenString Output Path Templates

Since:
  6.01

Renderer GetRenderer | ( |  | ) | const

Returns the rendering engine selected for use for this pass.

Returns:
  This pass' rendering engine.

Since:
  7.0

CRefArray GetPartitions | ( |  | ) | const

Returns a list of all Partition objects that exist on this pass. This includes all object and light partitions, whether they're background or not.

Returns:
  An array of references to the Partition objects on the Pass.

Since:
  7.0

Partition CreatePartition | ( | const CString & | in_name,
|  | XSI::siPartitionType | in_type |
| ) |  |  |

Creates a new Partition and adds it to this Pass.

Parameters:

  | in_name | The name of the partition to create. If a partition already exists with the same name, the new partition's name will be modified to avoid a naming clash.
  | in_type | The type of partition to create.

Returns:
  The newly created Partition.

Since:
  7.0

CRefArray GetAllShaders | ( |  | ) | const

Returns a list of shaders nested under this Pass.

Returns:
  CRefArray of references to the nested Shader objects.

Since:
  7.0

CRefArray GetAllImageClips | ( |  | ) | const

Returns a list of the image clips nested under this Pass.

Returns:
  CRefArray of references to the nested ImageClip2 objects.

See also:
  Light::GetAllImageClips, Camera::GetAllImageClips, Material:GetAllImageClips, Shader::GetAllImageClips, Override::GetAllImageClips

Since:
  7.0

The documentation for this class was generated from the following file:

- xsi_pass.h