Detailed Description
The
IRTSExecutionState object offers several methods to access
various objects during a call to real-time shaders.
You can use this object to access the following scene data (the
pointer will be cached and returned to you):
You can also use this object to:
- Note:
- You cannot instantiate a
IRTSExecutionState object directly. You can access an instance
via one of the Realtime
Shader Callbacks functions.
- See also:
- tagXSI_RTS_SystemParams,
CRTSStateList,
XSI_RTS_Uniform, eGraphicsAPI, tagXSI_RTS_Primitive,
_XSI_RTS_Attribute, Realtime Shader Callbacks,
cus_rtshad_ExecutionFlow Execution Flow
- Since:
- 7.0
#include <XSI_rtshaders.h>
List of all
members.
Public Member Functions
|
virtual
XSI_RTS_SystemParams
* |
GetSystemParams
()=0 |
virtual
CRTSStateList
* |
GetStateList
()=0 |
virtual void
* |
GetShader
()=0 |
virtual void
* |
GetShaderInstanceData
()=0 |
virtual
void |
SetShaderInstanceData
(void *in_pData)=0 |
virtual void
* |
GetShaderParameters
()=0 |
virtual
long |
GetShaderUniqueID
()=0 |
virtual
eChannel |
GetChannel
(int in_iBuffer)=0 |
virtual void
* |
GetMaterial
()=0 |
virtual void
* |
GetPrimitive
()=0 |
virtual void
* |
GetCamera
()=0 |
virtual
bool |
DefineUniform
(XSI_RTS_Uniform::eUniformType
in_eType, const char *in_szName, unsigned int in_uiSize, void
*in_pData)=0 |
virtual
bool |
ClearUniforms
()=0 |
virtual unsigned
long |
GetNbUniforms
()=0 |
virtual
XSI_RTS_Uniform ** |
GetUniformList
()=0 |
virtual
bool |
DrawGeometry
(XSI::siGraphicDriver
in_eDriver, XSI_RTS_Primitive
*in_pGeometry, XSI_RTS_Attribute
*in_pAttributes, void *in_pAttribData, XSI_RTS_Attribute_Size
*in_pAttributesSize)=0 |
virtual
bool |
DrawGeometry
(XSI::siGraphicDriver
in_eDriver, XSI_RTS_Primitive
*in_pGeometry, const char *in_szMapping, void *in_pAttribData,
XSI_RTS_Attribute_Size
*in_pAttributesSize)=0 |
virtual
XSI_RTS_Attribute
* |
GetAttributeDescriptorFromMapping
(const char *in_szMapping)=0 |
virtual
void |
RaiseError
(const char *in_szError, eErrorType
in_eErrorType)=0 |
virtual
void |
RaiseError
(const char *in_szError, eErrorType
in_eErrorType, int in_Parameter, ULONG_PTR in_lData)=0 |
virtual
void |
PushExecutionState
()=0 |
virtual
void |
PopExecutionState
()=0 |
virtual void
* |
GetGraphicsAPI
(XSI::siGraphicDriver
in_eDriver)=0 |
virtual
eRenderMode |
GetRenderMode
()=0 |
Member Function Documentation
virtual void* GetShader |
( |
|
) |
[pure virtual] |
virtual void* GetShaderInstanceData |
( |
|
) |
[pure virtual] |
virtual void SetShaderInstanceData |
( |
void * |
in_pData |
) |
[pure virtual] |
virtual void* GetShaderParameters |
( |
|
) |
[pure virtual] |
Returns a pointer to the shader parameters (ie. the PPG
values)
- Returns:
- A pointer to the Parameter objects
- See also:
- IRTSExecutionState::GetShader
virtual long GetShaderUniqueID |
( |
|
) |
[pure virtual] |
Returns a unique identifier for this instance of the shader
- Returns:
- The shader ID
virtual eChannel
GetChannel |
( |
int |
in_iBuffer |
) |
[pure virtual] |
Returns the RenderChannel information associated to the
specified Framebuffer object.
- Parameters:
-
in_iBuffer |
Index of the Framebuffer object. If not specified, the current
buffer will be used. |
- Returns:
- A value corresponding to one of the enum values
virtual void* GetMaterial |
( |
|
) |
[pure virtual] |
Returns a pointer to the SDK material object.
- Returns:
- A pointer to the Material object
virtual void* GetPrimitive |
( |
|
) |
[pure virtual] |
Returns a pointer to the SDK primitive object.
- Returns:
- A pointer to the X3DObject object
virtual void* GetCamera |
( |
|
) |
[pure virtual] |
Returns a pointer to the current SDK camera object
- Returns:
- A pointer to the Camera object
virtual bool DefineUniform |
( |
XSI_RTS_Uniform::eUniformType |
in_eType, |
|
|
const char * |
in_szName, |
|
|
unsigned int |
in_uiSize, |
|
|
void * |
in_pData |
|
) |
|
[pure virtual] |
virtual bool ClearUniforms |
( |
|
) |
[pure virtual] |
virtual unsigned long GetNbUniforms |
( |
|
) |
[pure virtual] |
Draws the geometry using a list of attributes. You may
explicitly suggest a graphics API to use for rendering (OpenGL20,
OpenGL30, DirectX10); however, if the current viewport mode does
not match your request, no rendering will occur.
- Tip:
- To avoid this and to be certain that your rendering call will
succeed, you may use the enum value ::Any. This tells Softimage to
use the viewport's current driver to render the geometry.
- Parameters:
-
in_eDriver |
The graphics API to use for rendering |
in_pGeometry |
Pointer to the geometry to draw |
in_pAttributes |
Pointer to the attributes to use |
in_pAttribData |
Pointer to the attribute data |
in_pAttributesSize |
Pointer to the size of the attributes |
- Returns:
- Success/failure
- See also:
- ::eGraphicsAPI, tagXSI_RTS_Primitive,
_XSI_RTS_Attribute,
eXSI_Attribute_Size, cus_rtshad_GeometryData Geometry Data
Draws the geometry using a custom mapping of attributes to
hardware registers.
- Tip:
- To avoid this and to be certain that your rendering call will
succeed, you may use the enum value ::Any. This tells Softimage to
use the viewport's current driver to render the geometry.
- Parameters:
-
in_eAPI |
The graphics API to use for rendering |
in_pGeometry |
Pointer to the geometry to draw |
in_szMapping |
Custom mapping to use |
in_pAttribData |
Pointer to the attribute data |
in_pAttributesSize |
Pointer to the size of the attributes |
- Returns:
- Success/failure
- See also:
- ::eGraphicsAPI, tagXSI_RTS_Primitive,
eXSI_Attribute_Size, cus_rtshad_GeometryData Geometry Data
virtual XSI_RTS_Attribute*
GetAttributeDescriptorFromMapping |
( |
const char * |
in_szMapping |
) |
[pure virtual] |
Returns a list of attributes specified in the mapping.
- Parameters:
-
in_szMapping |
Custom mapping to use |
- Returns:
- A pointer to the attributes list
- See also:
- eGraphicsAPI,
_XSI_RTS_Attribute
virtual void RaiseError |
( |
const char * |
in_szError, |
|
|
eErrorType |
in_eErrorType |
|
) |
|
[pure virtual] |
Notifies Softimage to raise an error.
- Parameters:
-
in_szError |
The error message to display |
in_eErrorType |
The severity of the error to raise (similar to |
- See also:
- eErrorType
virtual void RaiseError |
( |
const char * |
in_szError, |
|
|
eErrorType |
in_eErrorType, |
|
|
int |
in_Parameter, |
|
|
ULONG_PTR |
in_lData |
|
) |
|
[pure virtual] |
Notifies Softimage to raise an error. Use this function to
define a parameter
- Parameters:
-
in_szError |
The error message to display |
in_eErrorType |
The severity of the error to raise (similar to |
in_Parameter |
?? |
in_lData |
?? |
- See also:
- eErrorType
virtual void PushExecutionState |
( |
|
) |
[pure virtual] |
virtual void PopExecutionState |
( |
|
) |
[pure virtual] |
Returns an interface to the specified graphics. API as
follows:
- Parameters:
-
in_eAPI |
The graphics API to use for rendering |
- Returns:
- for OpenGL, it returns a pointer to the main HGLRC
- for DirectX_9, it returns a pointer to a IDirect3DDevice9
- for DirectX_10, it returns a pointer to a ID3D10Device
- See also:
- ::eGraphicsAPI
virtual eRenderMode GetRenderMode |
( |
|
) |
[pure virtual] |
Returns the current render mode
- Returns:
- the render mode
- See also:
- eRenderMode
Enum
- Since:
- 7.0
The documentation for this class was generated from the following
file: