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_eAttributeThe 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_eAttributeThe 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_eAttributeThe 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_szNameThe 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_eAttribThe eXSI_Attribute_Size enum value for which to calculate the size
See also:
eXSI_Attribute_Size, Global Functions
Since:
7.0