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