Classes | Macros | Typedefs | Enumerations | Functions | Variables | Friends
RTShader
Collaboration diagram for RTShader:

Classes

class  Ogre::RTShader::CGProgramProcessor
 CG Language program processor class. More...
 
class  Ogre::RTShader::CGProgramWriter
 CG target language writer implementation. More...
 
class  Ogre::RTShader::ConstParameter< valueType >
 Helper template which is the base for our ConstParameters. More...
 
class  Ogre::RTShader::Function
 A class that represents a shader based program function. More...
 
class  Ogre::RTShader::FunctionAtom
 A class that represents an atomic code section of shader based program function. More...
 
class  Ogre::RTShader::FunctionInvocation
 A class that represents function invocation code from shader based program function. More...
 
struct  Ogre::RTShader::FunctionInvocation::FunctionInvocationCompare
 Comparator function to be used for comparisons. More...
 
struct  Ogre::RTShader::FunctionInvocation::FunctionInvocationLessThan
 Comparator function to be used for sorting. More...
 
class  Ogre::RTShader::GLSLESProgramProcessor
 GLSL ES Language program processor class. More...
 
class  Ogre::RTShader::GLSLESProgramWriter
 GLSL ES target language writer implementation. More...
 
class  Ogre::RTShader::GLSLProgramProcessor
 GLSL Language program processor class. More...
 
class  Ogre::RTShader::GLSLProgramWriter
 GLSL target language writer implementation. More...
 
class  Ogre::RTShader::HLSLProgramProcessor
 CG Language program processor class. More...
 
class  Ogre::RTShader::HLSLProgramWriter
 HLSL target language writer implementation. More...
 
class  Ogre::RTShader::Operand
 A class that represents a function operand (its the combination of a parameter the in/out semantic and the used fields) More...
 
class  Ogre::RTShader::Parameter
 A class that represents a shader based program parameter. More...
 
class  Ogre::RTShader::ParameterFactory
 Helper utility class that creates common parameters. More...
 
class  Ogre::RTShader::Program
 A class that represents a shader based program. More...
 
class  Ogre::RTShader::ProgramManager
 A singleton manager class that manages shader based programs. More...
 
class  Ogre::RTShader::ProgramProcessor
 A class that provides extra processing services on CPU based programs. More...
 
struct  Ogre::RTShader::ProgramProcessor::MergeCombination
 
class  Ogre::RTShader::ProgramProcessor::MergeParameter
 
class  Ogre::RTShader::ProgramSet
 Container class for shader based programs. More...
 
class  Ogre::RTShader::ProgramWriter
 Base class interface for shader program writers. More...
 
class  Ogre::RTShader::ProgramWriterFactory
 Interface definition for factories of ShaderProgramWriter. More...
 
class  Ogre::RTShader::ProgramWriterManager
 
class  Ogre::RTShader::RenderState
 This is a container class for sub render state class. More...
 
class  Ogre::RTShader::SGMaterialSerializerListener
 This class responsible for translating core features of the RT Shader System for Ogre material scripts. More...
 
class  Ogre::RTShader::SGScriptTranslator
 This class responsible for translating core features of the RT Shader System for Ogre material scripts. More...
 
class  Ogre::RTShader::ShaderGenerator
 Shader generator system main interface. More...
 
struct  Ogre::RTShader::ShaderGenerator::MatGroupPair_less
 
class  Ogre::RTShader::ShaderGenerator::SGMaterial
 Shader generator material wrapper class. More...
 
class  Ogre::RTShader::ShaderGenerator::SGPass
 Shader generator pass wrapper class. More...
 
class  Ogre::RTShader::ShaderGenerator::SGRenderObjectListener
 Shader generator RenderObjectListener sub class. More...
 
class  Ogre::RTShader::ShaderGenerator::SGSceneManagerListener
 Shader generator scene manager sub class. More...
 
class  Ogre::RTShader::ShaderGenerator::SGScheme
 Shader generator scheme class. More...
 
class  Ogre::RTShader::ShaderGenerator::SGScriptTranslatorManager
 Shader generator ScriptTranslatorManager sub class. More...
 
class  Ogre::RTShader::ShaderGenerator::SGTechnique
 Shader generator technique wrapper class. More...
 
class  Ogre::RTShader::ShaderProgramWriterCGFactory
 CG program writer factory implementation. More...
 
class  Ogre::RTShader::ShaderProgramWriterGLSLESFactory
 GLSL ES program writer factory implementation. More...
 
class  Ogre::RTShader::ShaderProgramWriterGLSLFactory
 GLSL program writer factory implementation. More...
 
class  Ogre::RTShader::ShaderProgramWriterHLSLFactory
 HLSL program writer factory implementation. More...
 
class  Ogre::RTShader::SubRenderState
 This class is the base interface of sub part from a shader based rendering pipeline. More...
 
class  Ogre::RTShader::SubRenderStateAccessor
 This class uses as accessor from a template SubRenderState to all of its instances that created based on it. More...
 
class  Ogre::RTShader::SubRenderStateFactory
 Abstract factory interface for creating SubRenderState implementation instances. More...
 
class  Ogre::RTShader::TargetRenderState
 This is the target render state. More...
 
class  Ogre::RTShader::UniformParameter
 Uniform parameter class. More...
 

Macros

#define FFP_FUNC_ADD   "FFP_Add"
 
#define FFP_FUNC_ADDSIGNED   "FFP_AddSigned"
 
#define FFP_FUNC_ADDSMOOTH   "FFP_AddSmooth"
 
#define FFP_FUNC_ASSIGN   "FFP_Assign"
 
#define FFP_FUNC_CONSTRUCT   "FFP_Construct"
 
#define FFP_FUNC_DOTPRODUCT   "FFP_DotProduct"
 
#define FFP_FUNC_GENERATE_TEXCOORD_ENV_NORMAL   "FFP_GenerateTexCoord_EnvMap_Normal"
 
#define FFP_FUNC_GENERATE_TEXCOORD_ENV_REFLECT   "FFP_GenerateTexCoord_EnvMap_Reflect"
 
#define FFP_FUNC_GENERATE_TEXCOORD_ENV_SPHERE   "FFP_GenerateTexCoord_EnvMap_Sphere"
 
#define FFP_FUNC_GENERATE_TEXCOORD_PROJECTION   "FFP_GenerateTexCoord_Projection"
 
#define FFP_FUNC_LERP   "FFP_Lerp"
 
#define FFP_FUNC_LIGHT_DIRECTIONAL_DIFFUSE   "FFP_Light_Directional_Diffuse"
 
#define FFP_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR   "FFP_Light_Directional_DiffuseSpecular"
 
#define FFP_FUNC_LIGHT_POINT_DIFFUSE   "FFP_Light_Point_Diffuse"
 
#define FFP_FUNC_LIGHT_POINT_DIFFUSESPECULAR   "FFP_Light_Point_DiffuseSpecular"
 
#define FFP_FUNC_LIGHT_SPOT_DIFFUSE   "FFP_Light_Spot_Diffuse"
 
#define FFP_FUNC_LIGHT_SPOT_DIFFUSESPECULAR   "FFP_Light_Spot_DiffuseSpecular"
 
#define FFP_FUNC_MODULATE   "FFP_Modulate"
 
#define FFP_FUNC_MODULATEX2   "FFP_ModulateX2"
 
#define FFP_FUNC_MODULATEX4   "FFP_ModulateX4"
 
#define FFP_FUNC_NORMALIZE   "FFP_Normalize"
 
#define FFP_FUNC_PIXELFOG_DEPTH   "FFP_PixelFog_Depth"
 
#define FFP_FUNC_PIXELFOG_EXP   "FFP_PixelFog_Exp"
 
#define FFP_FUNC_PIXELFOG_EXP2   "FFP_PixelFog_Exp2"
 
#define FFP_FUNC_PIXELFOG_LINEAR   "FFP_PixelFog_Linear"
 
#define FFP_FUNC_SAMPLE_TEXTURE   "FFP_SampleTexture"
 
#define FFP_FUNC_SAMPLE_TEXTURE_PROJ   "FFP_SampleTextureProj"
 
#define FFP_FUNC_SUBTRACT   "FFP_Subtract"
 
#define FFP_FUNC_TRANSFORM   "FFP_Transform"
 
#define FFP_FUNC_TRANSFORM_TEXCOORD   "FFP_TransformTexCoord"
 
#define FFP_FUNC_VERTEXFOG_EXP   "FFP_VertexFog_Exp"
 
#define FFP_FUNC_VERTEXFOG_EXP2   "FFP_VertexFog_Exp2"
 
#define FFP_FUNC_VERTEXFOG_LINEAR   "FFP_VertexFog_Linear"
 
#define FFP_LIB_COMMON   "FFPLib_Common"
 
#define FFP_LIB_FOG   "FFPLib_Fog"
 
#define FFP_LIB_LIGHTING   "FFPLib_Lighting"
 
#define FFP_LIB_TEXTURING   "FFPLib_Texturing"
 
#define FFP_LIB_TRANSFORM   "FFPLib_Transform"
 

Typedefs

typedef FunctionAtomInstanceList::const_iterator Ogre::RTShader::FunctionAtomInstanceConstIterator
 
typedef FunctionAtomInstanceList::iterator Ogre::RTShader::FunctionAtomInstanceIterator
 
typedef vector< FunctionAtom * >::type Ogre::RTShader::FunctionAtomInstanceList
 
typedef SharedPtr< Parameter > Ogre::RTShader::ParameterPtr
 
typedef RenderStateList::const_iterator Ogre::RTShader::RenderStateConstIterator
 
typedef RenderStateList::iterator Ogre::RTShader::RenderStateIterator
 
typedef vector< RenderState * >::type Ogre::RTShader::RenderStateList
 
typedef vector< ShaderGenerator::SGPass * >::type Ogre::RTShader::SGMaterialSerializerListener::SGPassList
 
typedef SGPassList::const_iterator Ogre::RTShader::SGMaterialSerializerListener::SGPassListConstIterator
 
typedef SGPassList::iterator Ogre::RTShader::SGMaterialSerializerListener::SGPassListIterator
 
typedef ShaderFunctionList::const_iterator Ogre::RTShader::ShaderFunctionConstIterator
 
typedef ShaderFunctionList::iterator Ogre::RTShader::ShaderFunctionIterator
 
typedef vector< Function * >::type Ogre::RTShader::ShaderFunctionList
 
typedef ShaderParameterList::const_iterator Ogre::RTShader::ShaderParameterConstIterator
 
typedef ShaderParameterList::iterator Ogre::RTShader::ShaderParameterIterator
 
typedef vector< ParameterPtr >::type Ogre::RTShader::ShaderParameterList
 
typedef SharedPtr< SubRenderStateAccessor > Ogre::RTShader::SubRenderStateAccessorPtr
 
typedef vector< SubRenderState * >::type Ogre::RTShader::SubRenderStateList
 
typedef SubRenderStateList::const_iterator Ogre::RTShader::SubRenderStateListConstIterator
 
typedef SubRenderStateList::iterator Ogre::RTShader::SubRenderStateListIterator
 
typedef set< SubRenderState * >::type Ogre::RTShader::SubRenderStateSet
 
typedef SubRenderStateSet::const_iterator Ogre::RTShader::SubRenderStateSetConstIterator
 
typedef SubRenderStateSet::iterator Ogre::RTShader::SubRenderStateSetIterator
 
typedef UniformParameterList::const_iterator Ogre::RTShader::UniformParameterConstIterator
 
typedef UniformParameterList::iterator Ogre::RTShader::UniformParameterIterator
 
typedef vector< UniformParameterPtr >::type Ogre::RTShader::UniformParameterList
 
typedef SharedPtr< UniformParameter > Ogre::RTShader::UniformParameterPtr
 

Enumerations

enum  Ogre::RTShader::Parameter::Content {
  Ogre::RTShader::Parameter::SPC_UNKNOWN, Ogre::RTShader::Parameter::SPC_POSITION_OBJECT_SPACE, Ogre::RTShader::Parameter::SPC_POSITION_WORLD_SPACE, Ogre::RTShader::Parameter::SPC_POSITION_VIEW_SPACE,
  Ogre::RTShader::Parameter::SPC_POSITION_PROJECTIVE_SPACE, Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE0, Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE1, Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE2,
  Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE3, Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE4, Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE5, Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE6,
  Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE7, Ogre::RTShader::Parameter::SPC_NORMAL_OBJECT_SPACE, Ogre::RTShader::Parameter::SPC_NORMAL_WORLD_SPACE, Ogre::RTShader::Parameter::SPC_NORMAL_VIEW_SPACE,
  Ogre::RTShader::Parameter::SPC_NORMAL_TANGENT_SPACE, Ogre::RTShader::Parameter::SPC_POSTOCAMERA_OBJECT_SPACE, Ogre::RTShader::Parameter::SPC_POSTOCAMERA_WORLD_SPACE, Ogre::RTShader::Parameter::SPC_POSTOCAMERA_VIEW_SPACE,
  Ogre::RTShader::Parameter::SPC_POSTOCAMERA_TANGENT_SPACE, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE0, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE1, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE2,
  Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE3, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE4, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE5, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE6,
  Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE7, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE0, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE1, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE2,
  Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE3, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE4, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE5, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE6,
  Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE7, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE0, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE1, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE2,
  Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE3, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE4, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE5, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE6,
  Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE7, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE0, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE1, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE2,
  Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE3, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE4, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE5, Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE6,
  Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE7, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE0, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE1, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE2,
  Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE3, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE4, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE5, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE6,
  Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE7, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE0, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE1, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE2,
  Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE3, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE4, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE5, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE6,
  Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE7, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE0, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE1, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE2,
  Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE3, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE4, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE5, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE6,
  Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE7, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE0, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE1, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE2,
  Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE3, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE4, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE5, Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE6,
  Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE7, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE0, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE1, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE2,
  Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE3, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE4, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE5, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE6,
  Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE7, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE0, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE1, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE2,
  Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE3, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE4, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE5, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE6,
  Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE7, Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE0, Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE1, Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE2,
  Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE3, Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE4, Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE5, Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE6,
  Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE7, Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_TANGENT_SPACE, Ogre::RTShader::Parameter::SPC_BLEND_WEIGHTS, Ogre::RTShader::Parameter::SPC_BLEND_INDICES,
  Ogre::RTShader::Parameter::SPC_TANGENT_OBJECT_SPACE, Ogre::RTShader::Parameter::SPC_TANGENT_WORLD_SPACE, Ogre::RTShader::Parameter::SPC_TANGENT_VIEW_SPACE, Ogre::RTShader::Parameter::SPC_TANGENT_TANGENT_SPACE,
  Ogre::RTShader::Parameter::SPC_BINORMAL_OBJECT_SPACE, Ogre::RTShader::Parameter::SPC_BINORMAL_WORLD_SPACE, Ogre::RTShader::Parameter::SPC_BINORMAL_VIEW_SPACE, Ogre::RTShader::Parameter::SPC_BINORMAL_TANGENT_SPACE,
  Ogre::RTShader::Parameter::SPC_COLOR_DIFFUSE, Ogre::RTShader::Parameter::SPC_COLOR_SPECULAR, Ogre::RTShader::Parameter::SPC_DEPTH_OBJECT_SPACE, Ogre::RTShader::Parameter::SPC_DEPTH_WORLD_SPACE,
  Ogre::RTShader::Parameter::SPC_DEPTH_VIEW_SPACE, Ogre::RTShader::Parameter::SPC_DEPTH_PROJECTIVE_SPACE, Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE0, Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE1,
  Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE2, Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE3, Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE4, Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE5,
  Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE6, Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE7, Ogre::RTShader::Parameter::SPC_CUSTOM_CONTENT_BEGIN = 1000, Ogre::RTShader::Parameter::SPC_CUSTOM_CONTENT_END = 2000
}
 
enum  Ogre::RTShader::FFPFragmentShaderStage {
  Ogre::RTShader::FFP_PS_PRE_PROCESS = 0, Ogre::RTShader::FFP_PS_COLOUR_BEGIN = 100, Ogre::RTShader::FFP_PS_SAMPLING = 150, Ogre::RTShader::FFP_PS_TEXTURING = 200,
  Ogre::RTShader::FFP_PS_COLOUR_END = 300, Ogre::RTShader::FFP_PS_FOG = 400, Ogre::RTShader::FFP_PS_POST_PROCESS = 500
}
 
enum  Ogre::RTShader::FFPShaderStage {
  Ogre::RTShader::FFP_PRE_PROCESS = 0, Ogre::RTShader::FFP_TRANSFORM = 100, Ogre::RTShader::FFP_COLOUR = 200, Ogre::RTShader::FFP_LIGHTING = 300,
  Ogre::RTShader::FFP_TEXTURING = 400, Ogre::RTShader::FFP_FOG = 500, Ogre::RTShader::FFP_POST_PROCESS = 600
}
 
enum  Ogre::RTShader::FFPVertexShaderStage {
  Ogre::RTShader::FFP_VS_PRE_PROCESS = 0, Ogre::RTShader::FFP_VS_TRANSFORM = 100, Ogre::RTShader::FFP_VS_COLOUR = 200, Ogre::RTShader::FFP_VS_LIGHTING = 300,
  Ogre::RTShader::FFP_VS_TEXTURING = 400, Ogre::RTShader::FFP_VS_FOG = 500, Ogre::RTShader::FFP_VS_POST_PROCESS = 2000
}
 
enum  Ogre::RTShader::Function::FunctionType { Ogre::RTShader::Function::FFT_INTERNAL, Ogre::RTShader::Function::FFT_VS_MAIN, Ogre::RTShader::Function::FFT_PS_MAIN }
 
enum  Ogre::RTShader::Operand::OpMask {
  Ogre::RTShader::Operand::OPM_ALL = 0x0001, Ogre::RTShader::Operand::OPM_X = 0x0002, Ogre::RTShader::Operand::OPM_Y = 0x0004, Ogre::RTShader::Operand::OPM_Z = 0x0008,
  Ogre::RTShader::Operand::OPM_W = 0x0010, Ogre::RTShader::Operand::OPM_XY = OPM_X | OPM_Y, Ogre::RTShader::Operand::OPM_XZ = OPM_X | OPM_Z, Ogre::RTShader::Operand::OPM_XW = OPM_X | OPM_W,
  Ogre::RTShader::Operand::OPM_YZ = OPM_Y | OPM_Z, Ogre::RTShader::Operand::OPM_YW = OPM_Y | OPM_W, Ogre::RTShader::Operand::OPM_ZW = OPM_Z | OPM_W, Ogre::RTShader::Operand::OPM_XYZ = OPM_X | OPM_Y | OPM_Z,
  Ogre::RTShader::Operand::OPM_XYW = OPM_X | OPM_Y | OPM_W, Ogre::RTShader::Operand::OPM_XZW = OPM_X | OPM_Z | OPM_W, Ogre::RTShader::Operand::OPM_YZW = OPM_Y | OPM_Z | OPM_W, Ogre::RTShader::Operand::OPM_XYZW = OPM_X | OPM_Y | OPM_Z | OPM_W
}
 
enum  Ogre::RTShader::Operand::OpSemantic { Ogre::RTShader::Operand::OPS_IN, Ogre::RTShader::Operand::OPS_OUT, Ogre::RTShader::Operand::OPS_INOUT }
 
enum  Ogre::RTShader::Parameter::Semantic {
  Ogre::RTShader::Parameter::SPS_UNKNOWN = 0, Ogre::RTShader::Parameter::SPS_POSITION = 1, Ogre::RTShader::Parameter::SPS_BLEND_WEIGHTS = 2, Ogre::RTShader::Parameter::SPS_BLEND_INDICES = 3,
  Ogre::RTShader::Parameter::SPS_NORMAL = 4, Ogre::RTShader::Parameter::SPS_COLOR = 5, Ogre::RTShader::Parameter::SPS_TEXTURE_COORDINATES = 7, Ogre::RTShader::Parameter::SPS_BINORMAL = 8,
  Ogre::RTShader::Parameter::SPS_TANGENT = 9
}
 

Functions

 Ogre::RTShader::SGMaterialSerializerListener::SGMaterialSerializerListener ()
 Will be create and destroyed via ShaderGenerator interface. More...
 
 Ogre::RTShader::SGScriptTranslator::SGScriptTranslator ()
 
 Ogre::RTShader::SGMaterialSerializerListener::~SGMaterialSerializerListener ()
 
void Ogre::RTShader::SGScriptTranslator::addSubRenderState (SubRenderState *newSubRenderState, const String &dstTechniqueSchemeName, const String &materialName, const String &groupName, unsigned short passIndex)
 Adds a newly created subrender state to the material being translated. More...
 
void Ogre::RTShader::SGMaterialSerializerListener::createSGPassList (Material *mat, SGPassList &passList)
 Internal method that creates list of SGPass instances composing the given material. More...
 
virtual SubRenderState * Ogre::RTShader::SGScriptTranslator::getGeneratedSubRenderState (const String &typeName)
 Returns a sub render state of a given name which has already been created for material currently being generated by the script translator. More...
 
ShaderGenerator::SGPass * Ogre::RTShader::SGMaterialSerializerListener::getShaderGeneratedPass (const Pass *srcPass)
 Internal method that returns SGPass instance from a given source pass. More...
 
virtual void Ogre::RTShader::SGMaterialSerializerListener::materialEventRaised (MaterialSerializer *ser, MaterialSerializer::SerializeEvent event, bool &skip, const Material *mat)
 
virtual void Ogre::RTShader::SGMaterialSerializerListener::passEventRaised (MaterialSerializer *ser, MaterialSerializer::SerializeEvent event, bool &skip, const Pass *tech)
 
virtual void Ogre::RTShader::SGMaterialSerializerListener::techniqueEventRaised (MaterialSerializer *ser, MaterialSerializer::SerializeEvent event, bool &skip, const Technique *tech)
 
virtual void Ogre::RTShader::SGMaterialSerializerListener::textureUnitStateEventRaised (MaterialSerializer *ser, MaterialSerializer::SerializeEvent event, bool &skip, const TextureUnitState *textureUnit)
 
virtual void Ogre::RTShader::SGScriptTranslator::translate (ScriptCompiler *compiler, const AbstractNodePtr &node)
 
void Ogre::RTShader::SGScriptTranslator::translatePass (ScriptCompiler *compiler, const AbstractNodePtr &node)
 Translates RT Shader System section within a pass context. More...
 
void Ogre::RTShader::SGScriptTranslator::translateTextureUnit (ScriptCompiler *compiler, const AbstractNodePtr &node)
 Translates RT Shader System section within a texture_unit context. More...
 

Variables

RenderState * Ogre::RTShader::SGScriptTranslator::mGeneratedRenderState
 
SGPassList Ogre::RTShader::SGMaterialSerializerListener::mSGPassList
 
Material * Ogre::RTShader::SGMaterialSerializerListener::mSourceMaterial
 

Friends

class Ogre::RTShader::SGMaterialSerializerListener::ShaderGenerator
 

Detailed Description

Macro Definition Documentation

#define FFP_FUNC_ADD   "FFP_Add"

Definition at line 83 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_ADDSIGNED   "FFP_AddSigned"

Definition at line 113 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_ADDSMOOTH   "FFP_AddSmooth"

Definition at line 114 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_ASSIGN   "FFP_Assign"

Definition at line 80 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_CONSTRUCT   "FFP_Construct"

Definition at line 81 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_DOTPRODUCT   "FFP_DotProduct"

Definition at line 86 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_NORMAL   "FFP_GenerateTexCoord_EnvMap_Normal"

Definition at line 105 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_REFLECT   "FFP_GenerateTexCoord_EnvMap_Reflect"

Definition at line 107 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_SPHERE   "FFP_GenerateTexCoord_EnvMap_Sphere"

Definition at line 106 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_GENERATE_TEXCOORD_PROJECTION   "FFP_GenerateTexCoord_Projection"

Definition at line 108 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_LERP   "FFP_Lerp"

Definition at line 85 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_LIGHT_DIRECTIONAL_DIFFUSE   "FFP_Light_Directional_Diffuse"

Definition at line 95 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR   "FFP_Light_Directional_DiffuseSpecular"

Definition at line 96 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_LIGHT_POINT_DIFFUSE   "FFP_Light_Point_Diffuse"

Definition at line 97 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_LIGHT_POINT_DIFFUSESPECULAR   "FFP_Light_Point_DiffuseSpecular"

Definition at line 98 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_LIGHT_SPOT_DIFFUSE   "FFP_Light_Spot_Diffuse"

Definition at line 99 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_LIGHT_SPOT_DIFFUSESPECULAR   "FFP_Light_Spot_DiffuseSpecular"

Definition at line 100 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_MODULATE   "FFP_Modulate"

Definition at line 82 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_MODULATEX2   "FFP_ModulateX2"

Definition at line 111 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_MODULATEX4   "FFP_ModulateX4"

Definition at line 112 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_NORMALIZE   "FFP_Normalize"

Definition at line 87 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_PIXELFOG_DEPTH   "FFP_PixelFog_Depth"

Definition at line 121 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_PIXELFOG_EXP   "FFP_PixelFog_Exp"

Definition at line 123 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_PIXELFOG_EXP2   "FFP_PixelFog_Exp2"

Definition at line 124 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_PIXELFOG_LINEAR   "FFP_PixelFog_Linear"

Definition at line 122 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_SAMPLE_TEXTURE   "FFP_SampleTexture"

Definition at line 109 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_SAMPLE_TEXTURE_PROJ   "FFP_SampleTextureProj"

Definition at line 110 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_SUBTRACT   "FFP_Subtract"

Definition at line 84 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_TRANSFORM   "FFP_Transform"

Definition at line 91 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_TRANSFORM_TEXCOORD   "FFP_TransformTexCoord"

Definition at line 104 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_VERTEXFOG_EXP   "FFP_VertexFog_Exp"

Definition at line 119 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_VERTEXFOG_EXP2   "FFP_VertexFog_Exp2"

Definition at line 120 of file OgreShaderFFPRenderState.h.

#define FFP_FUNC_VERTEXFOG_LINEAR   "FFP_VertexFog_Linear"

Definition at line 118 of file OgreShaderFFPRenderState.h.

#define FFP_LIB_COMMON   "FFPLib_Common"

Definition at line 79 of file OgreShaderFFPRenderState.h.

#define FFP_LIB_FOG   "FFPLib_Fog"

Definition at line 117 of file OgreShaderFFPRenderState.h.

#define FFP_LIB_LIGHTING   "FFPLib_Lighting"

Definition at line 94 of file OgreShaderFFPRenderState.h.

#define FFP_LIB_TEXTURING   "FFPLib_Texturing"

Definition at line 103 of file OgreShaderFFPRenderState.h.

#define FFP_LIB_TRANSFORM   "FFPLib_Transform"

Definition at line 90 of file OgreShaderFFPRenderState.h.

Typedef Documentation

typedef FunctionAtomInstanceList::const_iterator Ogre::RTShader::FunctionAtomInstanceConstIterator

Definition at line 259 of file OgreShaderFunctionAtom.h.

typedef FunctionAtomInstanceList::iterator Ogre::RTShader::FunctionAtomInstanceIterator

Definition at line 258 of file OgreShaderFunctionAtom.h.

typedef vector<FunctionAtom*>::type Ogre::RTShader::FunctionAtomInstanceList

Definition at line 257 of file OgreShaderFunctionAtom.h.

typedef SharedPtr<Parameter> Ogre::RTShader::ParameterPtr

Definition at line 369 of file OgreShaderParameter.h.

typedef RenderStateList::const_iterator Ogre::RTShader::RenderStateConstIterator

Definition at line 131 of file OgreShaderRenderState.h.

typedef RenderStateList::iterator Ogre::RTShader::RenderStateIterator

Definition at line 130 of file OgreShaderRenderState.h.

typedef vector<RenderState*>::type Ogre::RTShader::RenderStateList

Definition at line 129 of file OgreShaderRenderState.h.

typedef vector<ShaderGenerator::SGPass*>::type Ogre::RTShader::SGMaterialSerializerListener::SGPassList
protected

Definition at line 79 of file OgreShaderMaterialSerializerListener.h.

typedef SGPassList::const_iterator Ogre::RTShader::SGMaterialSerializerListener::SGPassListConstIterator
protected

Definition at line 81 of file OgreShaderMaterialSerializerListener.h.

Definition at line 80 of file OgreShaderMaterialSerializerListener.h.

typedef ShaderFunctionList::const_iterator Ogre::RTShader::ShaderFunctionConstIterator

Definition at line 223 of file OgreShaderFunction.h.

typedef ShaderFunctionList::iterator Ogre::RTShader::ShaderFunctionIterator

Definition at line 222 of file OgreShaderFunction.h.

typedef vector<Function*>::type Ogre::RTShader::ShaderFunctionList

Definition at line 221 of file OgreShaderFunction.h.

typedef ShaderParameterList::const_iterator Ogre::RTShader::ShaderParameterConstIterator

Definition at line 372 of file OgreShaderParameter.h.

typedef ShaderParameterList::iterator Ogre::RTShader::ShaderParameterIterator

Definition at line 371 of file OgreShaderParameter.h.

typedef vector<ParameterPtr>::type Ogre::RTShader::ShaderParameterList

Definition at line 370 of file OgreShaderParameter.h.

typedef SharedPtr<SubRenderStateAccessor> Ogre::RTShader::SubRenderStateAccessorPtr

Definition at line 48 of file OgreShaderSubRenderState.h.

typedef vector<SubRenderState*>::type Ogre::RTShader::SubRenderStateList

Definition at line 162 of file OgreShaderSubRenderState.h.

typedef SubRenderStateList::const_iterator Ogre::RTShader::SubRenderStateListConstIterator

Definition at line 164 of file OgreShaderSubRenderState.h.

typedef SubRenderStateList::iterator Ogre::RTShader::SubRenderStateListIterator

Definition at line 163 of file OgreShaderSubRenderState.h.

typedef set<SubRenderState*>::type Ogre::RTShader::SubRenderStateSet

Definition at line 166 of file OgreShaderSubRenderState.h.

typedef SubRenderStateSet::const_iterator Ogre::RTShader::SubRenderStateSetConstIterator

Definition at line 168 of file OgreShaderSubRenderState.h.

typedef SubRenderStateSet::iterator Ogre::RTShader::SubRenderStateSetIterator

Definition at line 167 of file OgreShaderSubRenderState.h.

typedef UniformParameterList::const_iterator Ogre::RTShader::UniformParameterConstIterator

Definition at line 571 of file OgreShaderParameter.h.

typedef UniformParameterList::iterator Ogre::RTShader::UniformParameterIterator

Definition at line 570 of file OgreShaderParameter.h.

typedef vector<UniformParameterPtr>::type Ogre::RTShader::UniformParameterList

Definition at line 569 of file OgreShaderParameter.h.

typedef SharedPtr<UniformParameter> Ogre::RTShader::UniformParameterPtr

Definition at line 568 of file OgreShaderParameter.h.

Enumeration Type Documentation

Enumerator
SPC_UNKNOWN 

Unknown content.

SPC_POSITION_OBJECT_SPACE 

Position in object space.

SPC_POSITION_WORLD_SPACE 

Position in world space.

SPC_POSITION_VIEW_SPACE 

Position in view space.

SPC_POSITION_PROJECTIVE_SPACE 

Position in projective space.

SPC_POSITION_LIGHT_SPACE0 

Position in light space index 0-7.

SPC_POSITION_LIGHT_SPACE1 
SPC_POSITION_LIGHT_SPACE2 
SPC_POSITION_LIGHT_SPACE3 
SPC_POSITION_LIGHT_SPACE4 
SPC_POSITION_LIGHT_SPACE5 
SPC_POSITION_LIGHT_SPACE6 
SPC_POSITION_LIGHT_SPACE7 
SPC_NORMAL_OBJECT_SPACE 

Normal in object space.

SPC_NORMAL_WORLD_SPACE 

Normal in world space.

SPC_NORMAL_VIEW_SPACE 

Normal in view space.

SPC_NORMAL_TANGENT_SPACE 

Normal in tangent space.

SPC_POSTOCAMERA_OBJECT_SPACE 

View vector in object space.

SPC_POSTOCAMERA_WORLD_SPACE 

View vector in world space.

SPC_POSTOCAMERA_VIEW_SPACE 

View vector in view space.

SPC_POSTOCAMERA_TANGENT_SPACE 

View vector in tangent space.

SPC_POSTOLIGHT_OBJECT_SPACE0 

Light vector in object space index 0-7.

SPC_POSTOLIGHT_OBJECT_SPACE1 
SPC_POSTOLIGHT_OBJECT_SPACE2 
SPC_POSTOLIGHT_OBJECT_SPACE3 
SPC_POSTOLIGHT_OBJECT_SPACE4 
SPC_POSTOLIGHT_OBJECT_SPACE5 
SPC_POSTOLIGHT_OBJECT_SPACE6 
SPC_POSTOLIGHT_OBJECT_SPACE7 
SPC_POSTOLIGHT_WORLD_SPACE0 

Light vector in world space index 0-7.

SPC_POSTOLIGHT_WORLD_SPACE1 
SPC_POSTOLIGHT_WORLD_SPACE2 
SPC_POSTOLIGHT_WORLD_SPACE3 
SPC_POSTOLIGHT_WORLD_SPACE4 
SPC_POSTOLIGHT_WORLD_SPACE5 
SPC_POSTOLIGHT_WORLD_SPACE6 
SPC_POSTOLIGHT_WORLD_SPACE7 
SPC_POSTOLIGHT_VIEW_SPACE0 

Light vector in view space index 0-7.

SPC_POSTOLIGHT_VIEW_SPACE1 
SPC_POSTOLIGHT_VIEW_SPACE2 
SPC_POSTOLIGHT_VIEW_SPACE3 
SPC_POSTOLIGHT_VIEW_SPACE4 
SPC_POSTOLIGHT_VIEW_SPACE5 
SPC_POSTOLIGHT_VIEW_SPACE6 
SPC_POSTOLIGHT_VIEW_SPACE7 
SPC_POSTOLIGHT_TANGENT_SPACE0 

Light vector in tangent space index 0-7.

SPC_POSTOLIGHT_TANGENT_SPACE1 
SPC_POSTOLIGHT_TANGENT_SPACE2 
SPC_POSTOLIGHT_TANGENT_SPACE3 
SPC_POSTOLIGHT_TANGENT_SPACE4 
SPC_POSTOLIGHT_TANGENT_SPACE5 
SPC_POSTOLIGHT_TANGENT_SPACE6 
SPC_POSTOLIGHT_TANGENT_SPACE7 
SPC_LIGHTDIRECTION_OBJECT_SPACE0 

Light direction in object space index 0-7.

SPC_LIGHTDIRECTION_OBJECT_SPACE1 
SPC_LIGHTDIRECTION_OBJECT_SPACE2 
SPC_LIGHTDIRECTION_OBJECT_SPACE3 
SPC_LIGHTDIRECTION_OBJECT_SPACE4 
SPC_LIGHTDIRECTION_OBJECT_SPACE5 
SPC_LIGHTDIRECTION_OBJECT_SPACE6 
SPC_LIGHTDIRECTION_OBJECT_SPACE7 
SPC_LIGHTDIRECTION_WORLD_SPACE0 

Light direction in world space index 0-7.

SPC_LIGHTDIRECTION_WORLD_SPACE1 
SPC_LIGHTDIRECTION_WORLD_SPACE2 
SPC_LIGHTDIRECTION_WORLD_SPACE3 
SPC_LIGHTDIRECTION_WORLD_SPACE4 
SPC_LIGHTDIRECTION_WORLD_SPACE5 
SPC_LIGHTDIRECTION_WORLD_SPACE6 
SPC_LIGHTDIRECTION_WORLD_SPACE7 
SPC_LIGHTDIRECTION_VIEW_SPACE0 

Light direction in view space index 0-7.

SPC_LIGHTDIRECTION_VIEW_SPACE1 
SPC_LIGHTDIRECTION_VIEW_SPACE2 
SPC_LIGHTDIRECTION_VIEW_SPACE3 
SPC_LIGHTDIRECTION_VIEW_SPACE4 
SPC_LIGHTDIRECTION_VIEW_SPACE5 
SPC_LIGHTDIRECTION_VIEW_SPACE6 
SPC_LIGHTDIRECTION_VIEW_SPACE7 
SPC_LIGHTDIRECTION_TANGENT_SPACE0 

Light direction in tangent space index 0-7.

SPC_LIGHTDIRECTION_TANGENT_SPACE1 
SPC_LIGHTDIRECTION_TANGENT_SPACE2 
SPC_LIGHTDIRECTION_TANGENT_SPACE3 
SPC_LIGHTDIRECTION_TANGENT_SPACE4 
SPC_LIGHTDIRECTION_TANGENT_SPACE5 
SPC_LIGHTDIRECTION_TANGENT_SPACE6 
SPC_LIGHTDIRECTION_TANGENT_SPACE7 
SPC_LIGHTPOSITION_OBJECT_SPACE0 

Light position in object space index 0-7.

SPC_LIGHTPOSITION_OBJECT_SPACE1 
SPC_LIGHTPOSITION_OBJECT_SPACE2 
SPC_LIGHTPOSITION_OBJECT_SPACE3 
SPC_LIGHTPOSITION_OBJECT_SPACE4 
SPC_LIGHTPOSITION_OBJECT_SPACE5 
SPC_LIGHTPOSITION_OBJECT_SPACE6 
SPC_LIGHTPOSITION_OBJECT_SPACE7 
SPC_LIGHTPOSITION_WORLD_SPACE0 

Light position in world space index 0-7.

SPC_LIGHTPOSITION_WORLD_SPACE1 
SPC_LIGHTPOSITION_WORLD_SPACE2 
SPC_LIGHTPOSITION_WORLD_SPACE3 
SPC_LIGHTPOSITION_WORLD_SPACE4 
SPC_LIGHTPOSITION_WORLD_SPACE5 
SPC_LIGHTPOSITION_WORLD_SPACE6 
SPC_LIGHTPOSITION_WORLD_SPACE7 
SPC_LIGHTPOSITIONVIEW_SPACE0 

Light position in view space index 0-7.

SPC_LIGHTPOSITIONVIEW_SPACE1 
SPC_LIGHTPOSITIONVIEW_SPACE2 
SPC_LIGHTPOSITIONVIEW_SPACE3 
SPC_LIGHTPOSITIONVIEW_SPACE4 
SPC_LIGHTPOSITIONVIEW_SPACE5 
SPC_LIGHTPOSITIONVIEW_SPACE6 
SPC_LIGHTPOSITIONVIEW_SPACE7 
SPC_LIGHTPOSITION_TANGENT_SPACE 

Light position in tangent space index 0-7.

SPC_BLEND_WEIGHTS 

Blending weights.

SPC_BLEND_INDICES 

Blending indices.

SPC_TANGENT_OBJECT_SPACE 

Tangent in object space.

SPC_TANGENT_WORLD_SPACE 

Tangent in world space.

SPC_TANGENT_VIEW_SPACE 

Tangent in view space.

SPC_TANGENT_TANGENT_SPACE 

Tangent in tangent space.

SPC_BINORMAL_OBJECT_SPACE 

Binormal in object space.

SPC_BINORMAL_WORLD_SPACE 

Binormal in world space.

SPC_BINORMAL_VIEW_SPACE 

Binormal in view space.

SPC_BINORMAL_TANGENT_SPACE 

Binormal in tangent space.

SPC_COLOR_DIFFUSE 

Diffuse color.

SPC_COLOR_SPECULAR 

Specular color.

SPC_DEPTH_OBJECT_SPACE 

Depth in object space.

SPC_DEPTH_WORLD_SPACE 

Depth in world space.

SPC_DEPTH_VIEW_SPACE 

Depth in view space.

SPC_DEPTH_PROJECTIVE_SPACE 

Depth in projective space.

SPC_TEXTURE_COORDINATE0 

Texture coordinate set index 0-7.

SPC_TEXTURE_COORDINATE1 
SPC_TEXTURE_COORDINATE2 
SPC_TEXTURE_COORDINATE3 
SPC_TEXTURE_COORDINATE4 
SPC_TEXTURE_COORDINATE5 
SPC_TEXTURE_COORDINATE6 
SPC_TEXTURE_COORDINATE7 
SPC_CUSTOM_CONTENT_BEGIN 

Reserved custom content range to be used by user custom shader extensions.

SPC_CUSTOM_CONTENT_END 

Definition at line 76 of file OgreShaderParameter.h.

Enumerator
FFP_PS_PRE_PROCESS 
FFP_PS_COLOUR_BEGIN 
FFP_PS_SAMPLING 
FFP_PS_TEXTURING 
FFP_PS_COLOUR_END 
FFP_PS_FOG 
FFP_PS_POST_PROCESS 

Definition at line 55 of file OgreShaderFFPRenderState.h.

Enumerator
FFP_PRE_PROCESS 
FFP_TRANSFORM 
FFP_COLOUR 
FFP_LIGHTING 
FFP_TEXTURING 
FFP_FOG 
FFP_POST_PROCESS 

Definition at line 67 of file OgreShaderFFPRenderState.h.

Enumerator
FFP_VS_PRE_PROCESS 
FFP_VS_TRANSFORM 
FFP_VS_COLOUR 
FFP_VS_LIGHTING 
FFP_VS_TEXTURING 
FFP_VS_FOG 
FFP_VS_POST_PROCESS 

Definition at line 43 of file OgreShaderFFPRenderState.h.

Enumerator
FFT_INTERNAL 
FFT_VS_MAIN 
FFT_PS_MAIN 

Definition at line 50 of file OgreShaderFunction.h.

Enumerator
OPM_ALL 
OPM_X 
OPM_Y 
OPM_Z 
OPM_W 
OPM_XY 
OPM_XZ 
OPM_XW 
OPM_YZ 
OPM_YW 
OPM_ZW 
OPM_XYZ 
OPM_XYW 
OPM_XZW 
OPM_YZW 
OPM_XYZW 

Definition at line 96 of file OgreShaderFunctionAtom.h.

Enumerator
OPS_IN 

The parameter is a input parameter.

OPS_OUT 

The parameter is a output parameter.

OPS_INOUT 

The parameter is a input/output parameter.

Definition at line 85 of file OgreShaderFunctionAtom.h.

Enumerator
SPS_UNKNOWN 

Unknown semantic.

SPS_POSITION 

Position.

SPS_BLEND_WEIGHTS 

Blending weights.

SPS_BLEND_INDICES 

Blending indices.

SPS_NORMAL 

Normal, 3 reals per vertex.

SPS_COLOR 

General floating point color.

SPS_TEXTURE_COORDINATES 

Texture coordinates.

SPS_BINORMAL 

Binormal (Y axis if normal is Z)

SPS_TANGENT 

Tangent (X axis if normal is Z)

Definition at line 53 of file OgreShaderParameter.h.

Function Documentation

Ogre::RTShader::SGMaterialSerializerListener::SGMaterialSerializerListener ( )
protected

Will be create and destroyed via ShaderGenerator interface.

Ogre::RTShader::SGScriptTranslator::SGScriptTranslator ( )
Ogre::RTShader::SGMaterialSerializerListener::~SGMaterialSerializerListener ( )
protected
void Ogre::RTShader::SGScriptTranslator::addSubRenderState ( SubRenderState newSubRenderState,
const String dstTechniqueSchemeName,
const String materialName,
const String groupName,
unsigned short  passIndex 
)
protected

Adds a newly created subrender state to the material being translated.

Parameters
newSubRenderStateThe sub-render state to add
dstTechniqueSchemeNameThe technique which the sub render state is associated with
materialNameThe material name which the sub render state is associated with
groupNameThe material group name which the sub render state is associated with
passIndexThe index of the pass which the sub render state is associated with
void Ogre::RTShader::SGMaterialSerializerListener::createSGPassList ( Material mat,
SGPassList passList 
)
protected

Internal method that creates list of SGPass instances composing the given material.

virtual SubRenderState* Ogre::RTShader::SGScriptTranslator::getGeneratedSubRenderState ( const String typeName)
virtual

Returns a sub render state of a given name which has already been created for material currently being generated by the script translator.

Note
This function is meant to be used from within the createInstance function of sub-render state factories to avoid creating multiple sub-render state to the same material.
Parameters
typeNameThe type of the sub-render state to find.
ShaderGenerator::SGPass* Ogre::RTShader::SGMaterialSerializerListener::getShaderGeneratedPass ( const Pass srcPass)
protected

Internal method that returns SGPass instance from a given source pass.

virtual void Ogre::RTShader::SGMaterialSerializerListener::materialEventRaised ( MaterialSerializer ser,
MaterialSerializer::SerializeEvent  event,
bool &  skip,
const Material mat 
)
virtual
virtual void Ogre::RTShader::SGMaterialSerializerListener::passEventRaised ( MaterialSerializer ser,
MaterialSerializer::SerializeEvent  event,
bool &  skip,
const Pass tech 
)
virtual
virtual void Ogre::RTShader::SGMaterialSerializerListener::techniqueEventRaised ( MaterialSerializer ser,
MaterialSerializer::SerializeEvent  event,
bool &  skip,
const Technique tech 
)
virtual
virtual void Ogre::RTShader::SGMaterialSerializerListener::textureUnitStateEventRaised ( MaterialSerializer ser,
MaterialSerializer::SerializeEvent  event,
bool &  skip,
const TextureUnitState textureUnit 
)
virtual
virtual void Ogre::RTShader::SGScriptTranslator::translate ( ScriptCompiler compiler,
const AbstractNodePtr node 
)
virtual
void Ogre::RTShader::SGScriptTranslator::translatePass ( ScriptCompiler compiler,
const AbstractNodePtr node 
)
protected

Translates RT Shader System section within a pass context.

Parameters
compilerThe compiler invoking this translator
nodeThe current AST node to be translated
void Ogre::RTShader::SGScriptTranslator::translateTextureUnit ( ScriptCompiler compiler,
const AbstractNodePtr node 
)
protected

Translates RT Shader System section within a texture_unit context.

Parameters
compilerThe compiler invoking this translator
nodeThe current AST node to be translated

Variable Documentation

RenderState* Ogre::RTShader::SGScriptTranslator::mGeneratedRenderState
protected

Definition at line 138 of file OgreShaderScriptTranslator.h.

SGPassList Ogre::RTShader::SGMaterialSerializerListener::mSGPassList
protected

Definition at line 101 of file OgreShaderMaterialSerializerListener.h.

Material* Ogre::RTShader::SGMaterialSerializerListener::mSourceMaterial
protected

Definition at line 99 of file OgreShaderMaterialSerializerListener.h.

Friends

friend class ShaderGenerator
friend

Definition at line 105 of file OgreShaderMaterialSerializerListener.h.


Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.