# tagXSI_RTS_SystemParams Struct Reference

The XSI_RTS_SystemParams structure. More...

`#include <XSI_rtshaders.h>`

List of all members.

## Public Attributes
ULONG | m_lNbParams
ULONG | m_lAppID
ULONG | m_lRTSVersion
RTSContext | m_lContext
void * | m_pShaderHandle
void * | m_pObjectHandle
void * | m_pMaterialHandle
void * | m_pGS
XGSExtensionsGL * | m_pGLExt
XGSGLExtensionsFuncs * | m_pGLExtFuncs
ULONG | m_lShaderFlags
ULONG | m_lObjectFlags
float | m_m4x4ObjectPose [16]
XSI_RTS_SceneData * | m_SceneData

## Detailed Description

The XSI_RTS_SystemParams structure.

Holds the system parameters to be passed to all shader callbacks. This is a legacy structure returned by the IRTSExecutionState::GetSystemParams function.

Parameters:

  | m_lNbParams | Number of parameters
  | m_lAppID | Application ID
  | m_lRTSVersion | Realtime shader protocol version.
  | m_lContext | Uniquely identifies the viewport during a Softimage session. Each viewport (regular or object view) has an XGS context associated with it. `m_lContext` is a handle to the context object cast to a `LONG`
  | m_pShaderHandle | Shader instance handle (CRef handle to the Shader object). You can use the C++ API to access it.
  | m_pObjectHandle | Deprecated v7.0. For RTS v3.0 shaders you can get the object directly via IRTSExecutionState::GetPrimitive
  | m_pMaterialHandle | Deprecated v7.0. For RTS v3.0 shaders you can get the material directly via IRTSExecutionState::GetMaterial
  | m_pGS | Handle to the graphic system (CRef handle to the GraphicSequencer object). You can use the C++ API to access it.
  | m_pGLExt | The OpenGL extension wrapper flags indicate whether a particular OpenGL extension is used. Simply test the appropriate field in that structure. For example, if you want to test whether your hardware supports the `GL_ARB_multitexture` extension, then simply check if `m_pGS->_GL_ARB_multitexture` is set to TRUE.
  | m_pGLExtFuncs | The OpenGL extension wrapper functions can be called directly from that structure. For example, if you want to call the `glClientActiveTextureARB` extension function, just use `m_pGLExtFuncs->glClientActiveTextureARB`.
  | m_lShaderFlags | Shader flags. See Shader Flag Defines .
  | m_lObjectFlags | Object flags. See Object Flag Defines .
  | m_m4x4ObjectPose | The object pose is a 4x4 matrix containing the global transformation of the object.
  | m_SceneData | The scene data is a structure that contains camera and light information. See tagXSI_RTS_SceneData.

See also:
  IRTSExecutionState::GetSystemParams, IRTSExecutionState, Define , System Parameters

## Member Data Documentation

ULONG m_lNbParams

Number of parameters

ULONG m_lAppID

Application ID

ULONG m_lRTSVersion

Realtime shader protocol version

RTSContext m_lContext

Context

void* m_pShaderHandle

Shader instance handle (CRef)

void* m_pObjectHandle

Owner object handle (CRef)

void* m_pMaterialHandle

Owner material handle (CRef)

void* m_pGS

Handle to the graphic system (CRef)

XGSExtensionsGL* m_pGLExt

Softimage OpenGL extension wrapper flags

XGSGLExtensionsFuncs* m_pGLExtFuncs

Softimage OpenGL extension wrapper functions

ULONG m_lShaderFlags

Shader flags

ULONG m_lObjectFlags

Object flags

float m_m4x4ObjectPose[16]

Object's transformation matrix

XSI_RTS_SceneData* m_SceneData

Scene Data

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

- XSI_rtshaders.h