MPxRenderPassImpl Class Reference

#include <MPxRenderPassImpl.h>

Class 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 ()
 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. More...
 
virtual PassTypeMask typesSupported () const =0
 Called by Maya to determine which types are supported by this pass. More...
 
virtual PassTypeBit getDefaultType () const =0
 Called by Maya to determine the default type for this pass. More...
 
virtual unsigned int getNumChannels () const =0
 Called by Maya to get the number of channels supported by this pass. More...
 
virtual PassSemantic frameBufferSemantic () const =0
 Called by Maya to get the frame buffer semantic. More...
 
virtual bool perLightPassContributionSupported () const =0
 Called by Maya to determine if this pass implementation supports per-light contributions defined by pass contribution maps. More...
 

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]rendererThe 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

The documentation for this class was generated from the following files:
  • MPxRenderPassImpl.h
  • MPxRenderPassImpl.cpp