#include <MPxRenderPassImpl.h>
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 | 
| enum PassTypeBit | 
Data types that implementation may support.
| enum PassSemantic | 
Description of the nature of the data stored in the frame buffer.
| 
 | pure virtual | 
Called by Maya check whether this pass implementation is compatible with the given renderer.
| [in] | renderer | The renderer to test compatibility against | 
| 
 | pure virtual | 
Called by Maya to determine which types are supported by this pass.
| 
 | pure virtual | 
Called by Maya to determine the default type for this pass.
| 
 | pure virtual | 
Called by Maya to get the number of channels supported by this pass.
| 
 | 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.
| 
 | pure virtual | 
Called by Maya to determine if this pass implementation supports per-light contributions defined by pass contribution maps.