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® 2011 © 1997-2010 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6