- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Friends

# MPxRenderPassImpl Class Reference
OpenMayaRender - API module for rendering

Search for all occurrences

## Detailed Description

Render pass implementation.

The MPxRenderPassImpl class is an abstract base class which provides a common interface for pass implementations. Extend this class to create custom pass implementations.

`#include <MPxRenderPassImpl.h>`

List of all members.

## Public Types
enum | PassTypeBit { kUInt8 = 0x1, kUInt16 = 0x2, kUInt32 = 0x4, kUInt64 = 0x8, kInt8 = 0x10, kInt16 = 0x20, kInt32 = 0x40, kInt64 = 0x80, kFloat16 = 0x100, kFloat32 = 0x200, kFloat64 = 0x400, kBit = 0x800, kOther = 0x1000 }
| Data types that implementation may support. More...
enum | PassSemantic { kInvalidSemantic = 0, kColorSemantic, kVectorSemantic, kDirectionVectorSemantic, kDepthSemantic, kLabelSemantic, kMaskSemantic, kOtherSemantic }
| Description of the nature of the data stored in the frame buffer. More...
typedef unsigned int | PassTypeMask
| Use to create a mask of PassTypeBit types.
## Public Member Functions Search for all occurrences
| MPxRenderPassImpl ()
| Default constructor.
virtual | ~MPxRenderPassImpl ()
| Destructor.
virtual bool | isCompatible (const MString &renderer) const =0
| Called by Maya check whether this pass implementation is compatible with the given renderer.
virtual PassTypeMask | typesSupported () const =0
| Called by Maya to determine which types are supported by this pass.
virtual PassTypeBit | getDefaultType () const =0
| Called by Maya to determine the default type for this pass.
virtual unsigned int | getNumChannels () const =0
| Called by Maya to get the number of channels supported by this pass.
virtual PassSemantic | frameBufferSemantic () const =0
| Called by Maya to get the frame buffer semantic.
virtual bool | perLightPassContributionSupported () const =0
| Called by Maya to determine if this pass implementation supports per-light contributions defined by pass contribution maps.
## Friends
class | MRenderPassDef Search for all occurrences

## Member Enumeration Documentation

enum PassTypeBit

Search for all occurrences

Data types that implementation may support.

Enumerator:

  kUInt8 | Unsigned 8-bit integer. Search for all occurrences
  kUInt16 | Unsigned 16-bit integer. Search for all occurrences
  kUInt32 | Unsigned 32-bit integer. Search for all occurrences
  kUInt64 | Unsigned 64-bit integer. Search for all occurrences
  kInt8 | Signed 8-bit integer. Search for all occurrences
  kInt16 | Signed 16-bit integer. Search for all occurrences
  kInt32 | Signed 32-bit integer. Search for all occurrences
  kInt64 | Signed 64-bit integer. Search for all occurrences
  kFloat16 | half precision floating point Search for all occurrences
  kFloat32 | single precision floating point Search for all occurrences
  kFloat64 | double precision floating point Search for all occurrences
  kBit | single bit Search for all occurrences
  kOther | undefined type Search for all occurrences

enum PassSemantic

Search for all occurrences

Description of the nature of the data stored in the frame buffer.

Enumerator:

  kInvalidSemantic | Invalid. Search for all occurrences
  kColorSemantic | RGB, RGBA, alpha, luminance, etc. Search for all occurrences
  kVectorSemantic | General vector data (e.g. motion vectors, surface displacements) Search for all occurrences
  kDirectionVectorSemantic | Vectors that represent a direction (e.g. surface normals, light directions) Search for all occurrences
  kDepthSemantic | Depth or range data. Search for all occurrences
  kLabelSemantic | Labels, such as material tags or object tags. Search for all occurrences
  kMaskSemantic | Pixel mask (e.g. a stencil buffer) Search for all occurrences
  kOtherSemantic | Undefined, unknown or custom semantic. Search for all occurrences

## Member Function Documentation

bool isCompatible | ( | const MString & | renderer | ) | const`[pure virtual]`

Search for all occurrences

Called by Maya check whether this pass implementation is compatible with the given renderer.

Parameters:

  [in] | renderer | The renderer to test compatibility against

Returns:
  true if the implementation is compatible

PassTypeMask typesSupported | ( |  | ) | const`[pure virtual]`

Search for all occurrences

Called by Maya to determine which types are supported by this pass.

Returns:
  A type mask representing the supported types

PassTypeBit getDefaultType | ( |  | ) | const`[pure virtual]`

Search for all occurrences

Called by Maya to determine the default type for this pass.

Returns:
  The default type for the pass

unsigned int getNumChannels | ( |  | ) | const`[pure virtual]`

Search for all occurrences

Called by Maya to get the number of channels supported by this pass.

Returns:
  The number of channels supported by this pass

PassSemantic frameBufferSemantic | ( |  | ) | const`[pure virtual]`

Search for all occurrences

Called by Maya to get the frame buffer semantic.

The semantic is an enum that provides a hint on the nature of the data stored in the frame buffer. This hint may affect how the renderer interpolates and filters sample values.

Returns:
  The frame buffer semantic

bool perLightPassContributionSupported | ( |  | ) | const`[pure virtual]`

Search for all occurrences

Called by Maya to determine if this pass implementation supports per-light contributions defined by pass contribution maps.

Returns:
  true if the implementation supports per-light contributions

MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl
MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl MPxRenderPassImpl