- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions

# MSceneRender Class Reference

# OpenMayaRender - API module for rendering

This reference page is linked to from the following overview topics: Rendering Overrides.

Search for all occurrences

## Detailed Description

Class which defines a scene render.

`#include <MViewport2Renderer.h>`

Inheritance diagram for MSceneRender:
[legend]

List of all members.

## 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.

## Member Enumeration Documentation

enum MSceneFilterOption

Search for all occurrences

Render filter options.

Refer to the renderFilterOverride() method for details on usage.

Enumerator:

  kRenderShadedItems | Render only shaded objects but not their wireframe or components. Search for all occurrences
  kRenderNonShadedItems | Render wireframe and components for surfaces as well as non-surface objects. Search for all occurrences
  kRenderAllItems | Render all items. Search for all occurrences

enum MDisplayMode

Search for all occurrences

Display modes.

Enumerator:

  kNoDisplayModeOverride | No display mode override. Search for all occurrences
  kWireFrame | Display wireframe. Search for all occurrences
  kShaded | Display shaded. Search for all occurrences
  kDefaultMaterial | Use default material. Only applicable if shaded mode enabled. Search for all occurrences

enum MLightingMode

Search for all occurrences

Lighting mode.

Enumerator:

  kNoLightingModeOverride | No lighting mode override. Search for all occurrences
  kAmbientLight | Use global ambient light. Search for all occurrences
  kLightDefault | Use default directional light. Search for all occurrences
  kSceneLights | Use the lights in the scene. Search for all occurrences

enum MCullingOption

Search for all occurrences

Culling option.

Enumerator:

  kNoCullingOverride | No culling override. Search for all occurrences
  kCullNone | Don't perform culling. Search for all occurrences
  kCullBackFaces | Cull back faces. Search for all occurrences
  kCullFrontFaces | Cull front faces. Search for all occurrences

## Constructor & Destructor Documentation

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.

Parameters:

  [in] | name | Name of scene render

## Member Function Documentation

void preRender | ( |  | ) | `[virtual]`

Search for all occurrences

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]`

Search for all occurrences

Method to allow for operation to clean up itself after being executed.

The default operation performs no action.

MSceneRender::MSceneFilterOption renderFilterOverride | ( |  | ) | `[virtual]`

Search for all occurrences

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:

1. To draw non-UI related scene elements
2. To draw UI related scene elements

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.

Returns:
  A scene filter.

const MCameraOverride * cameraOverride | ( |  | ) | `[virtual]`

Search for all occurrences

Query for a camera override.

The default implementation returns that there is no override.

Returns:
  Reference to the camera override. NULL if there is no override.

const MSelectionList * objectSetOverride | ( |  | ) | `[virtual]`

Search for all occurrences

Query for override for the set of objects to view.

By default NULL is returned which indicates that no override is present.

Returns:
  Pointer to an MSelectionList

const MShaderInstance * shaderOverride | ( |  | ) | `[virtual]`

Search for all occurrences

Query for a scene level shader override.

By default a NULL value is returned which indicates that there is no shader override.

Returns:
  Pointer to an MShaderInstance.

MSceneRender::MObjectTypeExclusions objectTypeExclusions | ( |  | ) | `[virtual]`

Search for all occurrences

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.

Returns:
  Object type exclusion

MSceneRender::MDisplayMode displayModeOverride | ( |  | ) | `[virtual]`

Search for all occurrences

Query for any display mode override.

By default kNoDisplayModeOverride is returned indicating that no override is specified.

Returns:
  Display mode override.

MSceneRender::MLightingMode lightModeOverride | ( |  | ) | `[virtual]`

Search for all occurrences

Query for any lighting mode override.

By default kNoLightingModeOverride is returned indicating that no override is specified.

Returns:
  Lighting mode override

const bool * shadowEnableOverride | ( |  | ) | `[virtual]`

Search for all occurrences

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).

Returns:
  Pointer to bool indicating the override.

MSceneRender::MCullingOption cullingOverride | ( |  | ) | `[virtual]`

Search for all occurrences

Query for a face culling override.

By default kNoCullingOverride is returned indicating that no override is specified.

Returns:
  Culling option override

MClearOperation & clearOperation | ( |  | ) | `[virtual]`

Search for all occurrences

Get the scene clear operation.

Returns:
  The clear operation

MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender
MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender MSceneRender