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

# About Controlling the Hardware Display in Softimage

The graphic sequencer gives you access to the Softimage display pipeline. Through the graphic sequencer, you can customize existing viewport modes with viewport callbacks, and add new viewport modes.

Softimage comes with several realtime shading views. It is possible to switch from a view representing the mental ray shader properties to that of one representing OpenGl or Nvidia's Cg shading language, for example. You can develop your own customized hardware rendering display by using the same mechanism Softimage uses natively and provide an accurate representation within Softimage of the rendering pipeline you use within your own production environment. The graphic sequencer enables custom rendering passes in the OpenGL viewport via the C++ API which provides viewport modes and callbacks to control the rendering pipeline displayed in Softimage.

## Custom Viewport Callbacks

Viewport callbacks can be inserted and any stage of the rendering loop. This allows you, for example to set up a p-buffer in the pre-begin frame slot, clear the buffers in the begin frame, render the scene to your p-buffer, etc.

## Custom Viewport Modes

Viewport modes are responsible for rendering the scene in a viewport. Using the Graphic Sequencer, it is possible to create your own mode in order to have complete control over the look of the scene in an OpenGL viewport. If you already have a rendering engine, it is possible to convert it to a viewport mode—this is how the DirectX 9 realtime viewing mode in Softimage was implemented.

## A Bit About How Softimage's Cg Support Works

Softimage's Cg renderer support was implemented as a series of graphic sequencer viewport callbacks and one viewport mode. Whenever the Cg render needs to refresh a viewport set to display Cg shaders, it queries the render tree for each realtime shader attached to the objects in the viewport, looks up the associated renderer defined on the shader's definition and reads the encapsulated Cg code and automatically builds a Cg program. This chapter describes the graphic sequencer's callbacks and passes. For more information about shader definitions, see Custom Shaders.

Tip

You may also want to consider using the Custom Display Host to display custom render output instead of viewport modes and callbacks.