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
#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 |
CValueArray | GetFramebufferInfo () const |
CStatus | PutFramebufferData (UINT in_uiFramebufferIndex, ULONG in_ulSizeInBytes, void *in_pData) const |
CValue | GetSetting (XSI::CString in_name) const |
Property | GetRendererProperty (const CTime &in_rTime) const |
CRef | GetCamera () const |
CStatus | RegisterViewportMode (const CString &in_szName, const siGraphicDriver in_eAPI, LONG in_lFeatures) const |
CStatus | RegisterViewportCallback (const CString &in_szName, const LONG in_lStateFlags, const siDisplayCallback in_eType, const siGraphicDriver in_eDriver, const siViewMode in_eViewMode, const CStringArray &in_szCustomViewModeList) const |
CRef | GetGraphicDriver () const |
CStatus | GetViewportSize (UINT &out_uiStartX, UINT &out_uiStartY, UINT &out_Width, UINT &out_Height) const |
bool | IsPlayback () |
Constructor & Destructor Documentation
Member Function Documentation
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
- Deprecated:
- 9.0 (2011) This version is kept for backward compatibility, please use CGraphicSequencer::RegisterViewportCallback instead.
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 |
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
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
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
Returns the number of states matching the specified type.
- Parameters:
-
- 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
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
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
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
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
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:
-
- Returns:
- CStatus::OK on success
-
CStatus::Fail if the arguments are invalid
- See also:
- siXGSContextFlag
- Since:
- 4.2
Returns a list of values describing active framebuffers. The first element in the array is the number of framebuffers. The second element is the number of values provided for each framebuffer in the array. So the size of the array is 2 + (number of values provided * number of active framebuffers)
.
- Note:
- CValueArray is empty if called while not in hardware rendering mode.
- Returns:
- Each framebuffer is represented in the array by the following values ordered as indicated:
- See also:
- siXGSContextFlag
- Since:
- 9.0 (2011)
CStatus PutFramebufferData |
( |
UINT |
in_uiFramebufferIndex, |
|
|
ULONG |
in_ulSizeInBytes, |
|
|
void * |
in_pData |
|
) |
| const |
Writes an array of pixels to a framebuffer
- Parameters:
-
in_uiFramebufferIndex | The index of the framebuffer |
in_ulSizeInBytes | The size of the data pointed to by in_pData , in bytes |
in_pData | The pixel data |
- Returns:
- CStatus::OK on success
-
CStatus::Fail if the arguments are invalid
-
CStatus::Unexpected Not in Hardware Rendering mode
- See also:
- siXGSContextFlag
- Since:
- 9.0 (2011)
Returns the value of the specified XGS setting (Hardware Rendering mode only). Possible values include:
tile_width
Integer representing the width of the tile being rendered.
tile_height
Integer representing the height of the tile being rendered.
tile_index
Integer representing the zero-based index of the tile being rendered.
tile_origin_x
Integer representing the origin of the x-coordinate for the current tile.
tile_origin_y
Integer representing the origin of the y-coordinate for the current tile.
tile_count
Integer representing the total number of tiles in the current frame.
frustum_clip_plane_left
Double representing the left clipping plane of the view frustum.
frustum_clip_plane_right
Double representing the right clipping plane of the view frustum.
frustum_clip_plane_bottom
Double representing the bottom clipping plane of the view frustum.
frustum_clip_plane_top
Double representing the top clipping plane of the view frustum.
frustum_clip_plane_near
Double representing the near clipping plane of the view frustum.
frustum_clip_plane_far
Double representing the far clipping plane of the view frustum.
projection_type
Integer value representing the projection type. 0 = Perspective and 1 = Orthographic.
renderer_name
XSI::CString contaning the name of the current renderer. - Parameters:
-
in_name | The name of the setting. |
- Returns:
- The value of the setting
- Since:
- 9.0 (2011)
Returns the renderer's option property evaluated at a specific time. Which particular property instance this is is dependent upon the attribute value passed to the CGraphicSequencerContext.
- Parameters:
-
in_rTime | The time to evaluate the property at. |
- Returns:
- The evaluated renderer option property.
- Since:
- 9.0 (2011)
Returns the current camera object which is used for the current rendering
- Returns:
- CRef A reference to a Camera object
- Since:
- 7.0
Registers a new Viewport mode
- Parameters:
-
in_szName | The name of the viewport |
in_eAPI | The graphics driver to use for this viewport. Use siNullGraphicDriver if your viewport will handle its own rendering. |
in_lFeatures | These are bitwise flags of siViewportFeature values |
- Returns:
- CStatus::OK if the new viewport was registered
-
CStatus::Fail if the registration failed
- Since:
- 9.0 (2011)
Registers a new Viewport callback
- Parameters:
-
in_szName | The name of the viewport |
in_lStateFlags | The callback state flags |
in_eType | The type of callback (see siDisplayCallback) |
in_eDriver | The graphics driver to use for this viewport. Use siNullGraphicDriver if your viewport will handle its own rendering. |
in_eViewMode | The view mode (see siViewMode) |
in_szCustomViewModeList | The list of names to use for the new custom view mode |
- Returns:
- CStatus::OK if the new viewport was registered
-
CStatus::Fail if the registration failed
- Since:
- 9.0 (2011)
CRef GetGraphicDriver |
( |
| ) |
const |
Returns the current graphic driver
- Returns:
- A reference to the current graphic driver
- Since:
- 9.0 (2011)
CStatus GetViewportSize |
( |
UINT & |
out_uiStartX, |
|
|
UINT & |
out_uiStartY, |
|
|
UINT & |
out_Width, |
|
|
UINT & |
out_Height |
|
) |
| const |
Returns the size of the current viewport
- Return values:
-
out_uiStartX | leftmost position in X (horizontal start position) |
out_uiStartY | rightmost position in Y (vertical start position) |
out_Width | width of viewport |
out_Height | height of viewport |
- Returns:
- Success/failure
- Since:
- 9.0 (2011)
Returns true if the scene is currently in playback mode
- Returns:
true
if the scene is in playback mode
-
false
otherwise
- Since:
- 9.0 (2011)
The documentation for this class was generated from the following file: