MPxRenderPassImpl Class Reference
[OpenMayaRender - API module for rendering]

#include <MPxRenderPassImpl.h>

List of all members.


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.

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

 MPxRenderPassImpl ()
virtual ~MPxRenderPassImpl ()
virtual bool isCompatible (const MString &renderer) const =0
virtual PassTypeMask typesSupported () const =0
virtual PassTypeBit getDefaultType () const =0
virtual unsigned int getNumChannels () const =0
virtual PassSemantic frameBufferSemantic () const =0
virtual bool perLightPassContributionSupported () const =0

Friends

class MRenderPassDef


Member Enumeration Documentation

Data types that implementation may support.

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

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

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


Constructor & Destructor Documentation

MPxRenderPassImpl::MPxRenderPassImpl (  ) 

Default constructor.

MPxRenderPassImpl::~MPxRenderPassImpl (  )  [virtual]

Destructor


Member Function Documentation

bool MPxRenderPassImpl::isCompatible ( const MString renderer  )  const [pure virtual]

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 MPxRenderPassImpl::typesSupported (  )  const [pure virtual]

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

Returns:
A type mask representing the supported types

PassTypeBit MPxRenderPassImpl::getDefaultType (  )  const [pure virtual]

Called by Maya to determine the default type for this pass

Returns:
The default type for the pass

unsigned int MPxRenderPassImpl::getNumChannels (  )  const [pure virtual]

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

Returns:
The number of channels supported by this pass

PassSemantic MPxRenderPassImpl::frameBufferSemantic (  )  const [pure virtual]

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 MPxRenderPassImpl::perLightPassContributionSupported (  )  const [pure virtual]

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


Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6