Softimage SDK Programmer's Guide > Customizing Softimage using the SDK > Graphic Sequencer >

# Viewport Callback Types

The sequence that Softimage follows when rendering a viewport looks like this:

Callback Type | siDisplayCallback Value To Use | Viewport Rendering Loop
--- | --- | ---
Pre-begin Frame | siPreBeginFrame | Optionally set up an OpenGL P-buffer for real-time shadow rendering.
Begin Frame | siBeginFrame | Clear the OpenGL buffers (clear back buffer, Z-buffer, ...).
Post-begin Frame | siPostBeginFrame |
Pre-Pass | siPrePass |
Begin Pass | siPass | Render the scene using the viewport display mode. This is where you would call: CGraphicSequencer::RenderSceneUsingMode CGraphicSequencer::RenderSceneUsingMaterial CGraphicSequencer::RenderListUsingMode CGraphicSequencer::RenderListUsingMaterial
Post-Pass | siPostPass |
Pre-end Frame | siPreEndFrame | Draw the grid and rulers and optionally save OpenGL Frame buffers.
End Frame | siEndFrame | Swap the OpenGL buffers.
Post-end Frame | siPostEndFrame |
Post Frame Render (mr or render region) | siRenderFrame |

Note

When more than one function is registered for a specific type of callback, their execution order is undefined.

Tip

Graphic sequencer plug-ins share the OpenGL state machine with Softimage. If a plug-in needs to change the OpenGL state, the plug-in should restore the original state when it is finished.