This reference page is linked to from the following overview topics: フレームワーク クラス(Framework Classes), Devkit サンプル.
Main interface class to the Viewport 2.0 renderer.
#include <MViewport2Renderer.h>
Public Member Functions | |
MHWRender::DrawAPI | drawAPI () const |
Returns the current drawing API. | |
bool | drawAPIIsOpenGL () const |
Method will indicate whether the current drawing API is OpenGL or not. | |
unsigned int | drawAPIVersion () const |
Method will return the version of drawing API. | |
void * | GPUDeviceHandle () const |
Method will return a pointer to the GPU "device". | |
const MShaderManager * | getShaderManager () const |
Access the shader manager. | |
const MRenderTargetManager * | getRenderTargetManager () const |
Access the render target manager. | |
MTextureManager * | getTextureManager () const |
Access the texture manager. | |
MStatus | registerOverride (const MRenderOverride *roverride) |
Register the override as being usable by the renderer. | |
MStatus | deregisterOverride (const MRenderOverride *roverride) |
Deregister an existing render override on the renderer. | |
const MRenderOverride * | findRenderOverride (const MString &name) |
Return a reference to an existing render override registered with the renderer. | |
const MString | activeRenderOverride () const |
Get the name of the active override. | |
unsigned int | renderOverrideCount () |
Get the number of registered render overrides. | |
MStatus | setRenderOverrideName (const MString &name) |
Set the name of a render override (MHWRender::MRenderOverride) for batch rendering. | |
MString | renderOverrideName (MStatus *ReturnStatus=NULL) const |
Get the current render override name used for batch rendering. | |
Static Public Member Functions | |
static void | setGeometryDrawDirty (MObject obj, bool topologyChanged=true) |
Notify the Viewport 2.0 renderer that something about obj has changed, causing the object to be updated in the viewport. |
MHWRender::DrawAPI drawAPI | ( | ) | const |
Returns the current drawing API.
Returns 'kNone' if the renderer is not initialized.
bool drawAPIIsOpenGL | ( | ) | const |
Method will indicate whether the current drawing API is OpenGL or not.
unsigned int drawAPIVersion | ( | ) | const |
Method will return the version of drawing API.
void * GPUDeviceHandle | ( | ) | const |
Method will return a pointer to the GPU "device".
In the case that the drawing API is OpenGL then the "device" is a handle to an OpenGL context.
It is imperative that when a programmer makes any modifications to the device or context that the pre-modified state always be restored after the changes are no longer required. If this is not done then Maya's internal state tracking system will become inconsistent. This can result in unpredictable rendering behaviour.
If the renderer has not been initialized a NULL pointer will be returned.
const MShaderManager * getShaderManager | ( | ) | const |
Access the shader manager.
The shader manager can be used to produce MShaderInstance objects which may be assigned to MRenderItem objects by implementations of MPxGeometryOverride.
const MRenderTargetManager * getRenderTargetManager | ( | ) | const |
Access the render target manager.
The render target manager can be used to produce MRenderTarget objects which may be assigned to MRenderOperation objects as output target overrides.
MTextureManager * getTextureManager | ( | ) | const |
Access the texture manager.
The texture manager can be used to acquire texture
MStatus registerOverride | ( | const MRenderOverride * | roverride | ) |
Register the override as being usable by the renderer.
If the override is already registered it will not be registered again.
[in] | roverride | Rendering override to be registered. |
MStatus deregisterOverride | ( | const MRenderOverride * | roverride | ) |
Deregister an existing render override on the renderer.
The renderer will remove this override from it's list of registered overrides.
[in] | roverride | Rendering override to be deregistered. |
const MRenderOverride * findRenderOverride | ( | const MString & | name | ) |
Return a reference to an existing render override registered with the renderer.
[in] | name | Name of override to find |
const MString activeRenderOverride | ( | ) | const |
Get the name of the active override.
There can only be on active override at any given time and that override must exist be registered with the renderer.
unsigned int renderOverrideCount | ( | ) |
Get the number of registered render overrides.
Set the name of a render override (MHWRender::MRenderOverride) for batch rendering.
[in] | name | Name of the override. |
Get the current render override name used for batch rendering.
If there is no override then an empty string will be returned
[out] | ReturnStatus | return status. |
void setGeometryDrawDirty | ( | MObject | obj, |
bool | topologyChanged = true |
||
) | [static] |
Notify the Viewport 2.0 renderer that something about obj has changed, causing the object to be updated in the viewport.
Note that this method does NOT perform any DG evaluation when it is called. This method is an extention of the dirty propagation system. It adds obj to the list of objects which must be updated before the next frame is rendered. The actual evaluation does not occur until the next viewport refresh.
[in] | obj | DAG object which has been modified. |
[in] | topologyChanged | has the object topology changed |