Public Types | Public Member Functions | Friends

MPxRenderPassImpl Class Reference

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

  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

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.


Member Function Documentation

bool 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 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 getDefaultType ( ) const [pure virtual]

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

Returns:
The default type for the pass
unsigned int 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 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 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

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