Class which defines a scene render.
#include <MViewport2Renderer.h>
Public Types |
|
enum | MObjectTypeExclusions |
Object type exclusions. |
|
enum | MSceneFilterOption { , kRenderShadedItems = 1 << (0), kRenderNonShadedItems = 1 << (1), kRenderAllItems = ~0 } |
Render filter options. More... |
|
enum | MDisplayMode { kNoDisplayModeOverride = 0, kWireFrame = 1<<(0), kShaded = 1<<(1), kDefaultMaterial = 1<<(2) } |
Display modes. More... |
|
enum | MLightingMode { kNoLightingModeOverride = 0, kAmbientLight, kLightDefault, kSceneLights } |
Lighting mode. More... |
|
enum | MCullingOption { kNoCullingOverride = 0, kCullNone, kCullBackFaces, kCullFrontFaces } |
Culling option. More... |
|
Public Member Functions |
|
MSceneRender (const MString &name) | |
Constructor for a named scene render.
|
|
virtual | ~MSceneRender () |
Default destructor for a scene
render. |
|
virtual void | preRender () |
Method to allow for operation to update
itself before being executed. |
|
virtual void | postRender () |
Method to allow for operation to clean up
itself after being executed. |
|
virtual MSceneFilterOption | renderFilterOverride () |
This method allows for the programmer to
provide feedback on determining which elements of a scene render
will be drawn based on semantic meaning. |
|
virtual const MCameraOverride * | cameraOverride () |
Query for a camera override. |
|
virtual const MSelectionList * | objectSetOverride () |
Query for override for the set of objects to
view. |
|
virtual const MShaderInstance * | shaderOverride () |
Query for a scene level shader override.
|
|
virtual MObjectTypeExclusions | objectTypeExclusions () |
Query for any object type exclusions.
|
|
virtual MDisplayMode | displayModeOverride () |
Query for any display mode override.
|
|
virtual MLightingMode | lightModeOverride () |
Query for any lighting mode override.
|
|
virtual const bool * | shadowEnableOverride () |
Query for shadow display override. |
|
virtual MCullingOption | cullingOverride () |
Query for a face culling override. |
|
virtual MClearOperation & | clearOperation () |
Get the scene clear operation. |
enum MSceneFilterOption |
Render filter options.
Refer to the renderFilterOverride() method for details on usage.
enum MDisplayMode |
Display modes.
enum MLightingMode |
Lighting mode.
enum MCullingOption |
Culling option.
MSceneRender | ( | const MString & | name | ) |
Constructor for a named scene render.
A default clear operation is created which will be used for scene rendering. This is a convenience such that separate clear operations do not need to be added before each scene render.
[in] | name | Name of scene render |
void preRender | ( | ) | [virtual] |
Method to allow for operation to update itself before being executed.
In generation this would be used to update any operation parameters.
The default operation performs no action.
void postRender | ( | ) | [virtual] |
Method to allow for operation to clean up itself after being executed.
The default operation performs no action.
MSceneRender::MSceneFilterOption renderFilterOverride | ( | ) | [virtual] |
This method allows for the programmer to provide feedback on determining which elements of a scene render will be drawn based on semantic meaning.
For now the only meanings are:
Non-UI related elements currenty includes rendering surfaces which are shaded. Surfaces are defined as polygonal meshes, subdivision surfaces, and nurbs surfaces.
UI related elements includes drawing the wireframe and component "UI" for the above surface types as well as non-surface items.
A general way to think of the two options is that "non-UI" can be related to drawing a "beauty" pass, and "UI" are decorations on of the "beauty" pass.
We will call these semantic meanings "scene filters" which are enumerated by MSceneRender::MSceneFilterOption.
The default return value is kNoSceneFilterOverride. This indicates that the a scene render will render all scene elements.
const MCameraOverride * cameraOverride | ( | ) | [virtual] |
Query for a camera override.
The default implementation returns that there is no override.
const MSelectionList * objectSetOverride | ( | ) | [virtual] |
Query for override for the set of objects to view.
By default NULL is returned which indicates that no override is present.
const MShaderInstance * shaderOverride | ( | ) | [virtual] |
Query for a scene level shader override.
By default a NULL value is returned which indicates that there is no shader override.
MSceneRender::MObjectTypeExclusions objectTypeExclusions | ( | ) | [virtual] |
Query for any object type exclusions.
By default kExcludeNone is returned meaning to not exclude drawing of any types.
If there has already been an exclusion which is specified, for example via the viewport then those exclusions will still apply.
MSceneRender::MDisplayMode displayModeOverride | ( | ) | [virtual] |
Query for any display mode override.
By default kNoDisplayModeOverride is returned indicating that no override is specified.
MSceneRender::MLightingMode lightModeOverride | ( | ) | [virtual] |
Query for any lighting mode override.
By default kNoLightingModeOverride is returned indicating that no override is specified.
const bool * shadowEnableOverride | ( | ) | [virtual] |
Query for shadow display override.
By default a NULL value is returned indicating that no override is specified. To force shadowing off or on, return a pointer to a false or true boolean (respectively).
MSceneRender::MCullingOption cullingOverride | ( | ) | [virtual] |
Query for a face culling override.
By default kNoCullingOverride is returned indicating that no override is specified.
MClearOperation & clearOperation | ( | ) | [virtual] |