#include <MViewport2Renderer.h>
Class which defines a user defined rendering operation.
Public Member Functions | |
MUserRenderOperation (const MString &name) | |
Constructor for named user render operation. More... | |
virtual | ~MUserRenderOperation () |
Default destructor for a user render operation. | |
virtual const MCameraOverride * | cameraOverride () |
Query for a camera override. More... | |
virtual MStatus | execute (const MDrawContext &drawContext)=0 |
Each user operation is responsible for "executing" itself. More... | |
virtual bool | hasUIDrawables () const |
addUIdrawables() will be called only if this method is overridden to return true. More... | |
virtual void | addUIDrawables (MUIDrawManager &drawManager, const MFrameContext &frameContext) |
Provides access to the MUIDrawManager, which can be used to queue up operations to draw simple UI shapes like lines, circles, text, etc. More... | |
virtual bool | requiresLightData () const |
Indicates whether light data from the renderer is required for this user operation. More... | |
![]() | |
virtual bool | enableSRGBWrite () |
Return whether to enable GPU based gamma correction during pixel writes. More... | |
virtual const MFloatPoint * | viewportRectangleOverride () |
Query for a viewport rectangle override. More... | |
virtual const MString & | name () const |
Query the name of a render operator. More... | |
virtual bool | getInputTargetDescription (const MString &name, MRenderTargetDescription &description) |
Return the description to use when creating the target for the named input. More... | |
virtual int | writableTargets (unsigned int &count) |
Return the index of the first writable target in the inputTargets list. More... | |
virtual MRenderTarget *const * | targetOverrideList (unsigned int &listSize) |
Return a list of pointers to render target which will be used as the target overrides for the operation. More... | |
const MStringArray & | inputTargets () |
An array of input target names that semantically declares the type of targets the operation requires as input. More... | |
const MStringArray & | outputTargets () |
An array of output target names that semantically declares the type of targets the operation can produce. More... | |
void | renameOutputTarget (const MString &name, const MString &newName) |
Renames an output target of an operation. More... | |
MRenderOperationType | operationType () const |
Query the type (MRenderOperationType) of a render operator. More... | |
Additional Inherited Members | |
![]() | |
enum | MRenderOperationType { kClear, kSceneRender, kQuadRender, kUserDefined, kHUDRender, kPresentTarget } |
Supported render operation types. More... | |
![]() | |
MRenderOperation (const MString &name) | |
Protected constructor. More... | |
MRenderTarget * | getInputTarget (const MString &name) |
Gets the target associated with this input. More... | |
![]() | |
MRenderOperationType | mOperationType |
Operation type. | |
MString | mName |
Identifier for a sub render. | |
MUserRenderOperation | ( | const MString & | name | ) |
Constructor for named user render operation.
[in] | name | Name of render operation |
|
virtual |
Query for a camera override.
The default implementation returns that there is no override.
|
pure virtual |
Each user operation is responsible for "executing" itself.
[in] | drawContext | Hardware draw context information |
Refer the the documentation for MRenderOverride::startOperationIterator() which describes when this method will be invoked.
|
virtual |
addUIdrawables() will be called only if this method is overridden to return true.
The default implementation returns false.
If addUIDrawables() is not needed, this method should return false in order to avoid extra overhead required for adding UI drawables to the override.
|
virtual |
Provides access to the MUIDrawManager, which can be used to queue up operations to draw simple UI shapes like lines, circles, text, etc.
This method will only be called when hasUIDrawables() is overridden to return true.
[in] | drawManager | The UI draw manager, it can be used to draw some simple geometry including text. |
[in] | frameContext | Frame level context information |
|
virtual |
Indicates whether light data from the renderer is required for this user operation.
This is generally only required to return true when the renderer has not previously performed any scene render. In that case light data will not be available as it is created on-demand during rendering.
By default this method returns false.