# CGraphicSequencer Class Reference

The CGraphicSequencer object offers several services to enable custom rendering passes in the OpenGL viewport. More...

`#include <xsi_graphicsequencer.h>`

List of all members.

## Public Member Functions
| CGraphicSequencer ()
| ~CGraphicSequencer ()
CStatus | RegisterDisplayCallback (const CString &in_szName, const LONG in_lStateFlags, const siDisplayCallback in_eType, const siViewMode in_eViewMode, const CString &in_szCustomViewModeName) const
CStatus | RegisterPassCallback (const CString &in_szPassName, const LONG in_lStateFlags, const LONG in_lPassFlags, const CString &in_szRelativePassName) const
CStatus | RenderSceneUsingMode (const siViewMode in_eViewMode, INT in_lRenderFlags) const
CStatus | RenderSceneUsingMaterial (const CString &in_szShaderName, INT in_lRenderFlags) const
CStatus | RenderListUsingMode (const CRefArray &in_pObjectList, const siViewMode in_eViewMode) const
CStatus | RenderListUsingMaterial (const CRefArray &in_pObjectList, const CString &in_szShaderName) const
CStatus | GetNbStates (siXGSStateType in_eType, INT *out_pNbStates) const
CStatus | DeleteState (siXGSStateType in_eType, const CString &in_pID) const
CStatus | CreateState (siXGSStateType in_eType, const CString &in_pID, void *in_pValuePtr, void **out_pStateHandle) const
CStatus | GetStateHandle (siXGSStateType in_eType, const CString &in_pID, void **out_pStateHandle) const
CStatus | GetStateValue (siXGSStateType in_eType, void *in_lStateHandle, void *out_pStateValue) const
CStatus | SetStateValue (siXGSStateType in_eType, void *in_lStateHandle, void *in_pStateValue) const
CStatus | GetSceneDirtyFlag (bool *out_bBool) const
CStatus | GetContextFlags (LONG *out_lFlags) const
CRef | GetCamera () const

## Detailed Description

The CGraphicSequencer object offers several services to enable custom rendering passes in the OpenGL viewport.

You cannot instantiate a CGraphicSequencer object directly. Rather, you receive an instance when your XGS plug-ins are called; that is, in a Custom Display callback or a Custom OpenGL Pass.

See also:
  GraphicSequencerContext, siViewMode, siXGSRenderFlag

Since:
  4.0

## Constructor & Destructor Documentation

CGraphicSequencer | ( |  | ) |

Default constructor.

~CGraphicSequencer | ( |  | ) |

Default destructor.

## Member Function Documentation

CStatus RegisterDisplayCallback | ( | const CString & | in_szName,
|  | const LONG | in_lStateFlags,
|  | const siDisplayCallback | in_eType,
|  | const siViewMode | in_eViewMode,
|  | const CString & | in_szCustomViewModeName |
| ) |  |  | const

Registers a new Display callback with the OGS.

Parameters:

  | in_szName | The display callback name
  | in_lStateFlags | The callback state flags
  | in_eType | The type of callback (see siDisplayCallback)
  | in_eViewMode | The view mode (see siViewMode)
  | in_szCustomViewModeName | The name to use for the new custom view mode

Returns:
  CStatus::OK if the new display callback was registered

  CStatus::Fail if the registration failed

CStatus RegisterPassCallback | ( | const CString & | in_szPassName,
|  | const LONG | in_lStateFlags,
|  | const LONG | in_lPassFlags,
|  | const CString & | in_szRelativePassName |
| ) |  |  | const

Registers a new Pass callback with the OGS.

Warning:
  Not Implemented. Use CGraphicSequencer::RegisterDisplayCallback with the in_eType parameter set to siPass instead.

Parameters:

  | in_szPassName | The pass callback name
  | in_lStateFlags | The callback state flags
  | in_lPassFlags | The pass callback flags
  | in_szRelativePassName | The name of the pass used for relative insertion.

Returns:
  CStatus::OK if the new pass callback was registered

  CStatus::Fail if the registration failed

CStatus RenderSceneUsingMode | ( | const siViewMode | in_eViewMode,
|  | INT | in_lRenderFlags |
| ) |  |  | const

Renders the scene using the specified legacy mode.

Parameters:

  | in_eViewMode | The legacy mode to use
  | in_lRenderFlags | The render flags to use (one of the siXGSRenderFlag values)

Returns:
  CStatus::OK if the scene was successfully rendered

  CStatus::Fail if the registration failed or if the mode was not found

See also:
  siXGSRenderFlag

CStatus RenderSceneUsingMaterial | ( | const CString & | in_szShaderName,
|  | INT | in_lRenderFlags |
| ) |  |  | const

Renders the scene using the specified Shader material.

Parameters:

  | in_szShaderName | The name of the Shader to use for rendering
  | in_lRenderFlags | The render flags to use (one of the siXGSRenderFlag values)

Returns:
  CStatus::OK if the scene was successfully rendered

  CStatus::Fail if the registration failed or if the material was invalid

See also:
  siXGSRenderFlag

CStatus RenderListUsingMode | ( | const CRefArray & | in_pObjectList,
|  | const siViewMode | in_eViewMode |
| ) |  |  | const

Renders a list of objects using the specified legacy mode.

Parameters:

  | in_pObjectList | The list of objects to draw (array of references to objects)
  | in_eViewMode | The legacy mode to use

Returns:
  CStatus::OK if the list was successfully rendered

  CStatus::Fail if the registration failed or if the mode was not found

CStatus RenderListUsingMaterial | ( | const CRefArray & | in_pObjectList,
|  | const CString & | in_szShaderName |
| ) |  |  | const

Renders a list of objects using a specific Shader material.

Parameters:

  | in_pObjectList | The list of objects to draw (array of references to objects)
  | in_szShaderName | The name of the Shader to use for rendering

Returns:
  CStatus::OK if the list was successfully rendered

  CStatus::Fail if the registration failed or if the mode was not found

CStatus GetNbStates | ( | siXGSStateType | in_eType,
|  | INT * | out_pNbStates |
| ) |  |  | const

Returns the number of states matching the specified type.

Parameters:

  | in_eType | The state type to count (one of the siXGSStateType values)

Return values:

  | out_pNbStates | Pointer to an integer holding the number of states

Returns:
  CStatus::OK on success

  CStatus::Fail if the arguments are invalid

CStatus DeleteState | ( | siXGSStateType | in_eType,
|  | const CString & | in_pID |
| ) |  |  | const

Deletes a state by its identification (CString).

Parameters:

  | in_eType | The state type to delete (one of the siXGSStateType values)
  | in_pID | String identifying the state

Returns:
  CStatus::OK on success

  CStatus::Fail if the state was not found

CStatus CreateState | ( | siXGSStateType | in_eType,
|  | const CString & | in_pID,
|  | void * | in_pValuePtr,
|  | void ** | out_pStateHandle |
| ) |  |  | const

Creates a new state.

Parameters:

  | in_eType | The state type to create (one of the siXGSStateType values)
  | in_pID | String identifying the new state
  | in_pValuePtr | The state value

Return values:

  | out_pStateHandle | The state handle

Returns:
  CStatus::OK on success

  CStatus::Fail if the arguments are invalid

CStatus GetStateHandle | ( | siXGSStateType | in_eType,
|  | const CString & | in_pID,
|  | void ** | out_pStateHandle |
| ) |  |  | const

Returns the state handle by its identification (CString).

Parameters:

  | in_eType | The state type to get (one of the siXGSStateType values)
  | in_pID | String identifying the state

Return values:

  | out_pStateHandle | The state handle

Returns:
  CStatus::OK on success

  CStatus::Fail if the arguments are invalid

CStatus GetStateValue | ( | siXGSStateType | in_eType,
|  | void * | in_lStateHandle,
|  | void * | out_pStateValue |
| ) |  |  | const

Returns the specified state's value.

Parameters:

  | in_eType | The state type to get (one of the siXGSStateType values)
  | in_lStateHandle | The handle to the state

Return values:

  | out_pStateValue | Pointer to the state value

Returns:
  CStatus::OK on success

  CStatus::Fail if the arguments are invalid

CStatus SetStateValue | ( | siXGSStateType | in_eType,
|  | void * | in_lStateHandle,
|  | void * | in_pStateValue |
| ) |  |  | const

Sets the specified state's value.

Parameters:

  | in_eType | The state type to set (one of the siXGSStateType values)
  | in_lStateHandle | The handle to the state
  | in_pStateValue | Pointer to the state value

Returns:
  CStatus::OK on success

  CStatus::Fail if the arguments are invalid

CStatus GetSceneDirtyFlag | ( | bool * | out_bBool | ) | const

Indicates whether the scene has changed since the last frame.

Return values:

  | out_bBool | True if the scene has changed, false otherwise

Returns:
  CStatus::OK on success

  CStatus::Fail if the arguments are invalid

CStatus GetContextFlags | ( | LONG * | out_lFlags | ) | const

Returns a flag that indicates the context in which the rendering is occuring.

Return values:

  | out_lFlags | The context flags. These are bitwise flags of siXGSContextFlag values

Returns:
  CStatus::OK on success

  CStatus::Fail if the arguments are invalid

See also:
  siXGSContextFlag

Since:
  4.2

CRef GetCamera | ( |  | ) | const

Returns the current camera object which is used for the current rendering

Returns:
  CRef A reference to a Camera object

Since:
  7.0

The documentation for this class was generated from the following file:

- xsi_graphicsequencer.h