Classes | Defines | Typedefs | Enumerations | Functions
XSI_rtshaders.h File Reference

Realtime Shaders API v3.0 documentation. More...

`#include <GL/gl.h>`
`#include <assert.h>`
`#include <glh/glext.h>`
`#include <math.h>`
`#include <float.h>`
`#include <stdlib.h>`
`#include <SIBCArray.h>`
`#include <string.h>`
`#include <xsi_decl.h>`

Go to the source code of this file.

## Classes
struct | tagXSI_RTS_Vector2
struct | tagXSI_RTS_Vector3d
struct | tagXSI_RTS_Vector3
struct | tagXSI_RTS_Vector4
struct | tagXSI_RTS_ColorRGB
struct | tagXSI_RTS_ColorRGBf
struct | tagXSI_RTS_ColorRGBAf
struct | tagXSI_RTS_ColorRGBA
struct | tagXSI_RTS_ColorARGB
struct | tagXSI_RTS_Texture
class | XSI_RTS_Uniform
| The XSI_RTS_Uniform object defines a special parameter for a Realtime Shader chain. More...
struct | tagXGSExtensionsGL
| GraphicSequencer GL extensions structure. More...
struct | tagXGSGLExtensionsFuncs
| GraphicSequencer GL extensions functions. More...
struct | tagXSI_RTS_Light
| The XSI_RTS_Light structure. More...
struct | tagXSI_RTS_Camera
| The XSI_RTS_Camera structure. More...
struct | tagXSI_RTS_SceneData
| The XSI_RTS_SceneData structure. More...
struct | tagXSI_RTS_SystemParams
| The XSI_RTS_SystemParams structure. More...
struct | tagXSI_RTS_TriangleList
| The XSI_RTS_TriangleList structure. Provided only for backward compatibility. More...
struct | tagXSI_RTS_Primitive
| The XSI_RTS_Primitive structure. More...
struct | _tXSI_RTS_Attribute_Size
| The XSI_RTS_Attribute_Size structure. More...
struct | _XSI_RTS_Attribute
| Defines the attributes to consider when rendering geometry data. These XSI_RTS_Attribute structs are returned in the GetAttributeList callback function. More...
class | CRTSState
| The CRTSState object holds information about a state. More...
class | CRTSStateList
| The CRTSStateList class holds information about a list of shader states. More...
class | IRTSExecutionState
| The IRTSExecutionState object offers several methods to access various objects during a call to real-time shaders. More...
## Defines
#define | XSI_RTSHADER_VERSION 300
| XSI_RTSHADER_VERSION Realtime shader protocol version 3.00.
#define | RTS_SHADER_FLAG_NONE 0x00000000
| Nothing interesting happened since the last refresh.
#define | RTS_SHADER_FLAG_PARAM_CHANGE 0x00000001
| A parameter of the shader has changed.
#define | RTS_SHADER_FLAG_FIRST 0x00000002
| Not implemented. The shader is the first node in the shader tree (the first node executed).
#define | RTS_SHADER_FLAG_LAST 0x00000004
| Not implemented. The shader is the last node in the shader tree (the last shader executed).
#define | RTS_SHADER_FLAG_TREE_CHANGE 0x00000008
| The topology of the shader tree on the owner material has changed since the last refresh. For example, a node was connected or disconnected.
#define | RTS_OBJECT_FLAG_NONE 0x00000000
| Nothing interesting happened since the last refresh.
#define | RTS_OBJECT_FLAG_TOPO 0x00000001
| The object's topology has changed since the last refresh.
#define | RTS_OBJECT_FLAG_DEFORM 0x00000002
| The object was deformed but it�s topology is the same since the last refresh.
#define | XSI_RTS_ATTRIBUTE_POSITION "PointPosition"
| Point position.
#define | XSI_RTS_ATTRIBUTE_NORMAL "PointNormal"
| Point normal.
#define | XSI_RTS_ATTRIBUTE_COLOR "Vertex_Color"
| Vertex color.
#define | XSI_RTS_ATTRIBUTE_TANGENT "Tangents"
| Tangent.
#define | XSI_RTS_ATTRIBUTE_BINORMAL "Binormals"
| Binormal.
#define | XSI_RTS_ATTRIBUTE_TEXUVW "Texture_Projection"
| Texture projection.
#define | XSI_RTS_ATTRIBUTE_WEIGHTMAP "weightmap"
| Weight map.
#define | XSI_RTS_ATTRIBUTE_VELOCITY "PointVelocity"
| Point velocity.
#define | XSI_RTS_ATTRIBUTE_ORIENTATION "Orientation"
| Orientation.
#define | XSI_RTS_ATTRIBUTE_AGE "Age"
| Age.
#define | XSI_RTS_ATTRIBUTE_SIZE "radius"
| Radius.
#define | XSI_RTS_ATTRIBUTE_ID "ID"
| ID.
#define | XSI_RTS_ATTRIBUTE_FOG "Fog"
| Fog.
#define | XSI_RTS_ATTRIBUTE_WEIGHT "Weight"
| Weight.
#define | XSI_RTS_ATTRIBUTE_INDICE "Indice"
| Index.
#define | XSI_RTS_ATTRIBUTE_TESSFACTOR "Tessfactor"
| Tesselation factor.
#define | XSI_RTS_ATTRIBUTE_DEPTH "Depth"
| Depth.
#define | XSI_RTS_ATTRIBUTE_SAMPLE "Sample"
| Sample.
#define | XSI_RTS_ATTRIBUTE_AUTOCREATE "SIAUTOCREATE"
| Let Softimage handle the creation of the attribute (useful for tangents and binormals)
## Typedefs
typedef char * | XSI_RTS_Semantic
| 32/64 bits identifier for RTS context.
## Enumerations
enum | eXSI_RTS_LightType { RTS_LIGHT_POINT, RTS_LIGHT_INFINITE, RTS_LIGHT_SPOT }
enum | eXSI_RTS_CameraType { RTS_ORTHOGRAPHIC, RTS_PERSPECTIVE }
enum | eXSI_RTS_RequirementType { RTS_REQUIRE_ZSORT = 0, RTS_REQUIRE_RESERVED = 1, RTS_REQUIRE_OBJECTHANDLE = 2, RTS_REQUIRE_MATERIALHANDLE = 3, RTS_REQUIRE_LIGHTHANDLE = 4, RTS_REQUIRE_PRIMARYINITUIGUID = 5, RTS_REQUIRE_SECONDARYINITUIGUID = 6, RTS_REQUIRE_DYNAMIC_ATTRIBUTE_LIST = 7, RTS_REQUIRE_UNUSED = 0xffffffff }
enum | eXSI_RTS_TriangleListType { RTS_TL_SINGLE_INDEX_ARRAY, RTS_TL_BYREF, RTS_TL_BYREF_POSD, RTS_TL_PACKED_ARRAY }
enum | eXSI_RTS_PrimitiveType { RTS_PT_PARTICLE_CLOUD, RTS_PT_TRIANGLE_MESH }
enum | eErrorType { Info = 0, Warning, Error }
enum | eChannel { Channel_None = 0, Composite, Albedo, Normal, Specular, Reflection, AmbientOcclusion, EyePosition, Custom }
enum | eStandardVertexAttribute { ePOSITION = 0, eNORMAL, eCOLOR0, eCOLOR1, eTEXCOORD0, eTEXCOORD1, eTEXCOORD2, eTEXCOORD3, eTEXCOORD4, eTEXCOORD5, eTEXCOORD6, eTEXCOORD7, eTEXCOORD8, eTEXCOORD9, eTEXCOORD10, eTEXCOORD11, eTEXCOORD12, eTEXCOORD13, eTEXCOORD14, eTEXCOORD15, eATTR0, eATTR1, eATTR2, eATTR3, eATTR4, eATTR5, eATTR6, eATTR7, eATTR8, eATTR9, eATTR10, eATTR11, eATTR12, eATTR13, eATTR14, eATTR15, eFOGCOORD, ePSIZE, eTANGENT, eBINORMAL, eWEIGHT, eINDICE, eTESSFACTOR, eDEPTH, eSAMPLE }
enum | eXSI_Attribute_Size { XSI_RTS_ZERO = 0, XSI_RTS_LONG, XSI_RTS_LONG_2, XSI_RTS_LONG_3, XSI_RTS_LONG_4, XSI_RTS_FLOAT, XSI_RTS_FLOAT_2, XSI_RTS_FLOAT_3, XSI_RTS_FLOAT_4, XSI_RTS_FLOAT_QUATERNION_WXYZ, XSI_RTS_DOUBLE, XSI_RTS_DOUBLE_2, XSI_RTS_DOUBLE_3, XSI_RTS_DOUBLE_4, XSI_RTS_DOUBLE_QUATERNION_WXYZ, XSI_RTS_MATRIX_3x3, XSI_RTS_MATRIX_3x4, XSI_RTS_MATRIX_4x4 }
## Functions
const char * | GetStandardVertexAttributeName (eStandardVertexAttribute in_eAttribute)
const char * | GetStandardVertexAttributeComponents (eStandardVertexAttribute in_eAttribute)
const char * | GetStandardVertexAttributeDefaultXSIName (eStandardVertexAttribute in_eAttribute)
eStandardVertexAttribute | GetStandardVertexAttributeFromXSIName (const char *in_szName)
size_t | GetSizeOfAttribute (eXSI_Attribute_Size in_eAttrib)

## Detailed Description

Realtime Shaders API v3.0 documentation.

Copyright 2009 Autodesk, Inc. All rights reserved.

Use of this software is subject to the terms of the Autodesk license agreement provided at the time of installation or download, or which otherwise accompanies this software in either electronic or hard copy form.

## Function Documentation

const char* GetStandardVertexAttributeName | ( | eStandardVertexAttribute | in_eAttribute | ) | `[inline]`

Returns the friendly name for the specified eStandardVertexAttribute.

Parameters:

  in_eAttribute | The vertex attribute to translate

Returns:
  "attr[0..15]"
  "binormal"
  "color[0..1]"
  "depth"
  "fogcoord"
  "indice"
  "normal"
  "position"
  "psize"
  "sample"
  "tangent"
  "tessfactor"
  "texcoord[0..15]"
  "weight"
  "undefined"

See also:
  eStandardVertexAttribute, Global Functions

Since:
  7.0

const char* GetStandardVertexAttributeComponents | ( | eStandardVertexAttribute | in_eAttribute | ) | `[inline]`

Returns a string enumerating the components for the specified eStandardVertexAttribute.

Parameters:

  in_eAttribute | The vertex attribute to translate

Returns:
  "rgba"
  "x"
  "xyz"
  "xyzw"

See also:
  eStandardVertexAttribute, Global Functions

Since:
  7.0

const char* GetStandardVertexAttributeDefaultXSIName | ( | eStandardVertexAttribute | in_eAttribute | ) | `[inline]`

Returns the Softimage name matching the specified eStandardVertexAttribute.

Parameters:

  in_eAttribute | The vertex attribute to translate (one of the eStandardVertexAttribute values)

See also:
  eStandardVertexAttribute, GetStandardVertexAttributeFromXSIName, Global Functions

Since:
  7.0

eStandardVertexAttribute GetStandardVertexAttributeFromXSIName | ( | const char * | in_szName | ) | `[inline]`

Returns the vertex attribute matching the specified Softimage name.

Parameters:

  in_szName | The name to convert to its corresponding eStandardVertexAttribute value.

See also:
  eStandardVertexAttribute, GetStandardVertexAttributeDefaultXSIName, Global Functions

Since:
  7.0

size_t GetSizeOfAttribute | ( | eXSI_Attribute_Size | in_eAttrib | ) | `[inline]`

Returns the size (in bytes) of the specified eXSI_Attribute_Size enum value.

Parameters:

  in_eAttrib | The eXSI_Attribute_Size enum value for which to calculate the size

See also:
  eXSI_Attribute_Size, Global Functions

Since:
  7.0