MRenderOverride Class Reference
#include <MViewport2Renderer.h>
Base class for defining a rendering override.
viewDX11DeviceAccess/viewDX11DeviceAccess.cpp , viewImageBlitOverride/viewImageBlitOverride.h , viewMRenderOverride/viewMRenderOverride.cpp , viewObjectSetOverride/viewObjectSetOverride.cpp , viewOverrideSimple/viewOverrideSimple.h , viewOverrideSimple/viewOverrideSimpleMain.cpp , viewOverrideTrackTexture/viewOverrideTrackTexture.h , viewOverrideTrackTexture/viewOverrideTrackTextureMain.cpp , viewRenderOverride/viewRenderOverride.h , viewRenderOverride/viewRenderOverrideUserOperation.cpp , viewRenderOverrideFrameCache/viewRenderOverrideFrameCache.h , viewRenderOverrideMRT/viewRenderOverrideMRT.h , viewRenderOverridePointLightShadows/viewRenderOverridePointLightShadows.h , viewRenderOverridePostColor/viewRenderOverridePostColor.h , viewRenderOverridePostColor/viewRenderOverridePostColorMain.cpp , viewRenderOverrideShadows/viewRenderOverrideShadows.h , and viewRenderOverrideTargets/viewRenderOverrideTargets.h .
Constructor for a name render override.
Parameters
[in] name Name of render override
Returns the draw API supported by this override.
The returned value may be formed as the bitwise 'or' of MRenderer::DrawAPI elements to indicate that the override supports multiple draw APIs. This method returns 'MHWRender::kOpenGL ' by default.
Returns The draw API supported by this override
viewDX11DeviceAccess/viewDX11DeviceAccess.cpp , viewMRenderOverride/viewMRenderOverride.cpp , viewObjectSetOverride/viewObjectSetOverride.cpp , viewOverrideSimple/viewOverrideSimple.h , viewOverrideTrackTexture/viewOverrideTrackTexture.h , viewRenderOverride/viewRenderOverride.h , viewRenderOverrideFrameCache/viewRenderOverrideFrameCache.h , viewRenderOverrideMRT/viewRenderOverrideMRT.h , viewRenderOverridePointLightShadows/viewRenderOverridePointLightShadows.h , viewRenderOverridePostColor/viewRenderOverridePostColor.h , viewRenderOverrideShadows/viewRenderOverrideShadows.h , and viewRenderOverrideTargets/viewRenderOverrideTargets.h .
bool startOperationIterator
(
)
virtual
In order for an override to indicate the set of operations that are to be performed it must implement overrides for the iterator methods on the override:
The order that the operations are returned via these methods determines the order that the operations are invoked.
If there is a user operation (MUserRenderOperation ) the execute() method for that operation will be called when the operation is invoked.
Note that the ordering will not change during one invocation of an override which is delimited by the setup() and cleanup() calls.
This particular method is called to allow the override to start iterating over a list of operations to be performed by the override.
The operations that are returned can be thought of as representing a "command list". This command list will perform in order from start to end.
Pseudo-code for the internal Maya iteration logic would look something like this:
MRenderOverride override;
if (override.startOperationIterator())
{
--> Get operation
MRenderOperation *op = override.renderOperation();
while (op)
{
if (op)
--> Add to "list" of operations to perform --> Iterate to next operation
if (!override.nextRenderOperation() )
op = NULL;
else
op = override.renderOperation();
}
}
Returns True if there are any operations to iterate over. Note that an override with no operations will basically mean that the override draws nothing. In this case the renderer will perform it's default rendering operations.
viewDX11DeviceAccess/viewDX11DeviceAccess.cpp , viewMRenderOverride/viewMRenderOverride.cpp , viewObjectSetOverride/viewObjectSetOverride.cpp , viewOverrideSimple/viewOverrideSimple.h , viewOverrideTrackTexture/viewOverrideTrackTexture.h , viewRenderOverride/viewRenderOverride.h , viewRenderOverrideFrameCache/viewRenderOverrideFrameCache.h , viewRenderOverrideMRT/viewRenderOverrideMRT.h , viewRenderOverridePointLightShadows/viewRenderOverridePointLightShadows.h , viewRenderOverrideShadows/viewRenderOverrideShadows.h , and viewRenderOverrideTargets/viewRenderOverrideTargets.h .
Return the current operation being iterated over.
The call to currentOperation() will occur after a startIteratingOperations() call.
Returns Reference to the current operation
viewDX11DeviceAccess/viewDX11DeviceAccess.cpp , viewMRenderOverride/viewMRenderOverride.cpp , viewObjectSetOverride/viewObjectSetOverride.cpp , viewOverrideSimple/viewOverrideSimple.h , viewOverrideTrackTexture/viewOverrideTrackTexture.h , viewRenderOverride/viewRenderOverride.h , viewRenderOverrideFrameCache/viewRenderOverrideFrameCache.h , viewRenderOverrideMRT/viewRenderOverrideMRT.h , viewRenderOverridePointLightShadows/viewRenderOverridePointLightShadows.h , viewRenderOverrideShadows/viewRenderOverrideShadows.h , and viewRenderOverrideTargets/viewRenderOverrideTargets.h .
bool nextRenderOperation
(
)
virtual
Iterate to the next operation.
If there are no more operations then this method should return false.
Returns True if there is a subsequent operation.
viewDX11DeviceAccess/viewDX11DeviceAccess.cpp , viewMRenderOverride/viewMRenderOverride.cpp , viewObjectSetOverride/viewObjectSetOverride.cpp , viewOverrideSimple/viewOverrideSimple.h , viewOverrideTrackTexture/viewOverrideTrackTexture.h , viewRenderOverride/viewRenderOverride.h , viewRenderOverrideFrameCache/viewRenderOverrideFrameCache.h , viewRenderOverrideMRT/viewRenderOverrideMRT.h , viewRenderOverridePointLightShadows/viewRenderOverridePointLightShadows.h , viewRenderOverrideShadows/viewRenderOverrideShadows.h , and viewRenderOverrideTargets/viewRenderOverrideTargets.h .
Query the name of the override.
Returns Name of the override
Query the user interface name for the override.
If an empty string is returned then the value returned from the name() method will be used as the user interface name.
Returns UI name. The default implementation returns an empty string.
viewDX11DeviceAccess/viewDX11DeviceAccess.cpp , viewMRenderOverride/viewMRenderOverride.cpp , viewObjectSetOverride/viewObjectSetOverride.cpp , viewOverrideSimple/viewOverrideSimple.h , viewOverrideTrackTexture/viewOverrideTrackTexture.h , viewRenderOverride/viewRenderOverride.h , viewRenderOverrideFrameCache/viewRenderOverrideFrameCache.h , viewRenderOverrideMRT/viewRenderOverrideMRT.h , viewRenderOverridePointLightShadows/viewRenderOverridePointLightShadows.h , viewRenderOverridePostColor/viewRenderOverridePostColor.h , viewRenderOverrideShadows/viewRenderOverrideShadows.h , and viewRenderOverrideTargets/viewRenderOverrideTargets.h .
Perform any setup required before render operations are to be executed.
The default behaviour performs no actions.
An override is called once per render. The order of method calls when an override is called is as follows:
Parameters
[in] destination String identifier which gives an indication as to where this override is being applied. Presently this will return a viewport panel name for interactive rendering.
Returns Status code. MStatus::kSuccess is returned by default.
Status Codes:
viewDX11DeviceAccess/viewDX11DeviceAccess.cpp , viewMRenderOverride/viewMRenderOverride.cpp , viewObjectSetOverride/viewObjectSetOverride.cpp , viewOverrideSimple/viewOverrideSimple.h , viewOverrideTrackTexture/viewOverrideTrackTexture.h , viewRenderOverride/viewRenderOverride.h , viewRenderOverrideFrameCache/viewRenderOverrideFrameCache.h , viewRenderOverrideMRT/viewRenderOverrideMRT.h , viewRenderOverridePointLightShadows/viewRenderOverridePointLightShadows.h , viewRenderOverridePostColor/viewRenderOverridePostColor.h , viewRenderOverrideShadows/viewRenderOverrideShadows.h , and viewRenderOverrideTargets/viewRenderOverrideTargets.h .
Perform any cleanup required following the execution of render operations.
The default behaviour performs no actions.
Returns Status code. MStatus::kSuccess is returned by default.
Status Codes:
viewDX11DeviceAccess/viewDX11DeviceAccess.cpp , viewMRenderOverride/viewMRenderOverride.cpp , viewOverrideSimple/viewOverrideSimple.h , viewOverrideTrackTexture/viewOverrideTrackTexture.h , viewRenderOverride/viewRenderOverride.h , viewRenderOverrideFrameCache/viewRenderOverrideFrameCache.h , viewRenderOverrideMRT/viewRenderOverrideMRT.h , viewRenderOverridePointLightShadows/viewRenderOverridePointLightShadows.h , viewRenderOverridePostColor/viewRenderOverridePostColor.h , viewRenderOverrideShadows/viewRenderOverrideShadows.h , and viewRenderOverrideTargets/viewRenderOverrideTargets.h .
Return frame context.
The context is not available if called before setup() or after cleanup() .
Returns Pointer to frame context. The context should never be deleted by the plug-in as it is owned by the render override.
The documentation for this class was generated from the following files:
MViewport2Renderer.h
MViewport2Renderer.cpp