OGRE: RTShader

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

Classes | Macros | Typedefs | Enumerations | Functions | Friends
RTShader
Core

## Classes
class | Ogre::RTShader::CGProgramProcessor
| CG Language program processor class. More...
class | Ogre::RTShader::CGProgramWriter
| CG target language writer implementation. More...
struct | Ogre::RTShader::CompareUniformByName
class | Ogre::RTShader::ConstParameter< valueType >
| Helper template which is the base for our ConstParameters. More...
class | Ogre::RTShader::DualQuaternionSkinning
| Implement a sub render state which performs dual quaternion hardware skinning. More...
class | Ogre::RTShader::FFPColour
| Colour sub render state implementation of the Fixed Function Pipeline. More...
class | Ogre::RTShader::FFPColourFactory
| A factory that enables creation of FFPColour instances. More...
class | Ogre::RTShader::FFPFog
| Fog sub render state implementation of the Fixed Function Pipeline. More...
class | Ogre::RTShader::FFPFogFactory
| A factory that enables creation of FFPFog instances. More...
class | Ogre::RTShader::FFPLighting
| Lighting sub render state implementation of the Fixed Function Pipeline. More...
class | Ogre::RTShader::FFPLightingFactory
| A factory that enables creation of FFPLighting instances. More...
class | Ogre::RTShader::FFPRenderStateBuilder
| Fixed Function Pipeline render state builder. More...
class | Ogre::RTShader::FFPTexturing
| Texturing sub render state implementation of the Fixed Function Pipeline. More...
class | Ogre::RTShader::FFPTexturingFactory
| A factory that enables creation of FFPTexturing instances. More...
class | Ogre::RTShader::FFPTransform
| Transform sub render state implementation of the Fixed Function Pipeline. More...
class | Ogre::RTShader::FFPTransformFactory
| A factory that enables creation of FFPTransform instances. 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...
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::HardwareSkinning
| Implement a sub render state which performs hardware skinning. More...
class | Ogre::RTShader::HardwareSkinningFactory
| A factory that enables creation of HardwareSkinning instances. More...
class | Ogre::RTShader::HardwareSkinningTechnique
| Implement a sub render state which performs hardware skinning. More...
class | Ogre::RTShader::HLSLProgramProcessor
| CG Language program processor class. More...
class | Ogre::RTShader::HLSLProgramWriter
| HLSL target language writer implementation. More...
class | Ogre::RTShader::IntegratedPSSM3
| Integrated PSSM shadow receiver with 3 splits sub render state implementation. More...
class | Ogre::RTShader::IntegratedPSSM3Factory
| A factory that enables creation of IntegratedPSSM3 instances. More...
class | Ogre::RTShader::LinearSkinning
| Implement a sub render state which performs hardware skinning. More...
class | Ogre::RTShader::NormalMapLighting
| Normal Map Lighting extension sub render state implementation. More...
class | Ogre::RTShader::NormalMapLightingFactory
| A factory that enables creation of NormalMapLighting instances. 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::PerPixelLighting
| Per pixel Lighting extension sub render state implementation. More...
class | Ogre::RTShader::PerPixelLightingFactory
| A factory that enables creation of PerPixelLighting instances. 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...
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...
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...
struct | Ogre::RTShader::TextureAtlasRecord
class | Ogre::RTShader::TextureAtlasSampler
| Implements texture atlas sampling. More...
class | Ogre::RTShader::TextureAtlasSamplerFactory
| A factory that enables creation of TextureAtlasSampler instances. More...
class | Ogre::RTShader::TriplanarTexturing
| Triplanar Texturing. More...
class | Ogre::RTShader::TriplanarTexturingFactory
| A factory that enables creation of TriplanarMapping instances. 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_ALPHA_TEST "FFP_Alpha_Test"
#define | FFP_FUNC_ASSIGN "FFP_Assign"
#define | FFP_FUNC_CONSTRUCT "FFP_Construct"
#define | FFP_FUNC_CONSTRUCT_SAMPLER_WRAPPER "FFP_Construct_Sampler_Wrapper"
#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_ALPHA_TEST "FFPLIB_AlphaTest"
#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"
#define | SGX_FUNC_ADJOINT_TRANSPOSE_MATRIX "SGX_AdjointTransposeMatrix"
#define | SGX_FUNC_ANTIPODALITY_ADJUSTMENT "SGX_AntipodalityAdjustment"
#define | SGX_FUNC_APPLYSHADOWFACTOR_DIFFUSE "SGX_ApplyShadowFactor_Diffuse"
#define | SGX_FUNC_BLEND_WEIGHT "SGX_BlendWeight"
#define | SGX_FUNC_BUILD_DUAL_QUATERNION_MATRIX "SGX_BuildDualQuaternionMatrix"
#define | SGX_FUNC_CALCULATE_BLEND_NORMAL "SGX_CalculateBlendNormal"
#define | SGX_FUNC_CALCULATE_BLEND_POSITION "SGX_CalculateBlendPosition"
#define | SGX_FUNC_COMPUTE_SHADOW_COLOUR3 "SGX_ComputeShadowFactor_PSSM3"
#define | SGX_FUNC_CONSTRUCT_TBNMATRIX "SGX_ConstructTBNMatrix"
#define | SGX_FUNC_FETCHNORMAL "SGX_FetchNormal"
#define | SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSE "SGX_Light_Directional_Diffuse"
#define | SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR "SGX_Light_Directional_DiffuseSpecular"
#define | SGX_FUNC_LIGHT_POINT_DIFFUSE "SGX_Light_Point_Diffuse"
#define | SGX_FUNC_LIGHT_POINT_DIFFUSESPECULAR "SGX_Light_Point_DiffuseSpecular"
#define | SGX_FUNC_LIGHT_SPOT_DIFFUSE "SGX_Light_Spot_Diffuse"
#define | SGX_FUNC_LIGHT_SPOT_DIFFUSESPECULAR "SGX_Light_Spot_DiffuseSpecular"
#define | SGX_FUNC_MODULATE_SCALAR "SGX_ModulateScalar"
#define | SGX_FUNC_NORMALIZE_DUAL_QUATERNION "SGX_NormalizeDualQuaternion"
#define | SGX_FUNC_TRANSFORMNORMAL "SGX_TransformNormal"
#define | SGX_FUNC_TRANSFORMPOSITION "SGX_TransformPosition"
#define | SGX_LIB_DUAL_QUATERNION "SGXLib_DualQuaternion"
#define | SGX_LIB_INTEGRATEDPSSM "SGXLib_IntegratedPSSM"
#define | SGX_LIB_NORMALMAPLIGHTING "SGXLib_NormalMapLighting"
#define | SGX_LIB_PERPIXELLIGHTING "SGXLib_PerPixelLighting"

## Typedefs
typedef FunctionAtomInstanceList::const_iterator | Ogre::RTShader::FunctionAtomInstanceConstIterator
typedef FunctionAtomInstanceList::iterator | Ogre::RTShader::FunctionAtomInstanceIterator
typedef vector< FunctionAtom * >::type | Ogre::RTShader::FunctionAtomInstanceList
typedef RenderStateList::const_iterator | Ogre::RTShader::RenderStateConstIterator
typedef RenderStateList::iterator | Ogre::RTShader::RenderStateIterator
typedef vector< RenderState * >::type | Ogre::RTShader::RenderStateList
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 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 map< String, TextureAtlasTablePtr >::type | Ogre::RTShader::TextureAtlasMap
typedef vector< TextureAtlasRecord >::type | Ogre::RTShader::TextureAtlasTable
typedef SharedPtr< TextureAtlasTable > | Ogre::RTShader::TextureAtlasTablePtr
typedef UniformParameterList::const_iterator | Ogre::RTShader::UniformParameterConstIterator
typedef UniformParameterList::iterator | Ogre::RTShader::UniformParameterIterator
typedef vector< UniformParameterPtr >::type | Ogre::RTShader::UniformParameterList

## Enumerations
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, Ogre::RTShader::FFP_PS_ALPHA_TEST = 1000 }
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, Ogre::RTShader::FFP_ALPHA_TEST = 1000 }
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 }

## Functions
| Ogre::RTShader::DualQuaternionSkinning::DualQuaternionSkinning ()
| Class default constructor. More...
| Ogre::RTShader::HardwareSkinningTechnique::HardwareSkinningTechnique ()
| Class default constructor. More...
| Ogre::RTShader::LinearSkinning::LinearSkinning ()
| Class default constructor. More...
| Ogre::RTShader::SGScriptTranslator::SGScriptTranslator ()
virtual | Ogre::RTShader::HardwareSkinningTechnique::~HardwareSkinningTechnique ()
virtual bool | Ogre::RTShader::DualQuaternionSkinning::addFunctionInvocations (ProgramSet *programSet)
virtual bool | Ogre::RTShader::LinearSkinning::addFunctionInvocations (ProgramSet *programSet)
virtual bool | Ogre::RTShader::HardwareSkinningTechnique::addFunctionInvocations (ProgramSet *programSet)=0
virtual void | Ogre::RTShader::HardwareSkinningTechnique::copyFrom (const HardwareSkinningTechnique *hardSkin)
ushort | Ogre::RTShader::HardwareSkinningTechnique::getBoneCount ()
| Returns the number of bones in the model assigned to the 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...
ushort | Ogre::RTShader::HardwareSkinningTechnique::getWeightCount ()
| Returns the number of weights/bones affecting a vertex. More...
bool | Ogre::RTShader::HardwareSkinningTechnique::hasCorrectAntipodalityHandling ()
| Only applicable for dual quaternion skinning. More...
bool | Ogre::RTShader::HardwareSkinningTechnique::hasScalingShearingSupport ()
| Only applicable for dual quaternion skinning. More...
virtual void | Ogre::RTShader::SGMaterialSerializerListener::materialEventRaised (MaterialSerializer *ser, MaterialSerializer::SerializeEvent event, bool &skip, const Material *mat)
_OgreRTSSExport void | Ogre::RTShader::operator<< (std::ostream &o, const HardwareSkinning::SkinningData &data)
_OgreRTSSExport void | Ogre::RTShader::operator<< (std::ostream &o, const TextureAtlasSamplerFactory::TextureAtlasAttib &tai)
virtual void | Ogre::RTShader::SGMaterialSerializerListener::passEventRaised (MaterialSerializer *ser, MaterialSerializer::SerializeEvent event, bool &skip, const Pass *tech)
virtual bool | Ogre::RTShader::DualQuaternionSkinning::resolveDependencies (ProgramSet *programSet)
virtual bool | Ogre::RTShader::LinearSkinning::resolveDependencies (ProgramSet *programSet)
virtual bool | Ogre::RTShader::HardwareSkinningTechnique::resolveDependencies (ProgramSet *programSet)=0
virtual bool | Ogre::RTShader::DualQuaternionSkinning::resolveParameters (ProgramSet *programSet)
virtual bool | Ogre::RTShader::LinearSkinning::resolveParameters (ProgramSet *programSet)
virtual bool | Ogre::RTShader::HardwareSkinningTechnique::resolveParameters (ProgramSet *programSet)=0
void | Ogre::RTShader::HardwareSkinningTechnique::setDoBoneCalculations (bool doBoneCalculations)
void | Ogre::RTShader::HardwareSkinningTechnique::setHardwareSkinningParam (ushort boneCount, ushort weightCount, bool correctAntipodalityHandling=false, bool scalingShearingSupport=false)
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)

## Friends
class | Ogre::RTShader::SGMaterialSerializerListener::ShaderGenerator

## Detailed Description

## Macro Definition Documentation

## ◆ FFP_FUNC_ADD

#define FFP_FUNC_ADD "FFP_Add"

## ◆ FFP_FUNC_ADDSIGNED

#define FFP_FUNC_ADDSIGNED "FFP_AddSigned"

## ◆ FFP_FUNC_ADDSMOOTH

#define FFP_FUNC_ADDSMOOTH "FFP_AddSmooth"

## ◆ FFP_FUNC_ALPHA_TEST

#define FFP_FUNC_ALPHA_TEST "FFP_Alpha_Test"

## ◆ FFP_FUNC_ASSIGN

#define FFP_FUNC_ASSIGN "FFP_Assign"

## ◆ FFP_FUNC_CONSTRUCT

#define FFP_FUNC_CONSTRUCT "FFP_Construct"

## ◆ FFP_FUNC_CONSTRUCT_SAMPLER_WRAPPER

#define FFP_FUNC_CONSTRUCT_SAMPLER_WRAPPER "FFP_Construct_Sampler_Wrapper"

## ◆ FFP_FUNC_DOTPRODUCT

#define FFP_FUNC_DOTPRODUCT "FFP_DotProduct"

## ◆ FFP_FUNC_GENERATE_TEXCOORD_ENV_NORMAL

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_NORMAL "FFP_GenerateTexCoord_EnvMap_Normal"

## ◆ FFP_FUNC_GENERATE_TEXCOORD_ENV_REFLECT

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_REFLECT "FFP_GenerateTexCoord_EnvMap_Reflect"

## ◆ FFP_FUNC_GENERATE_TEXCOORD_ENV_SPHERE

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_SPHERE "FFP_GenerateTexCoord_EnvMap_Sphere"

## ◆ FFP_FUNC_GENERATE_TEXCOORD_PROJECTION

#define FFP_FUNC_GENERATE_TEXCOORD_PROJECTION "FFP_GenerateTexCoord_Projection"

## ◆ FFP_FUNC_LERP

#define FFP_FUNC_LERP "FFP_Lerp"

## ◆ FFP_FUNC_LIGHT_DIRECTIONAL_DIFFUSE

#define FFP_FUNC_LIGHT_DIRECTIONAL_DIFFUSE "FFP_Light_Directional_Diffuse"

## ◆ FFP_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR

#define FFP_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR "FFP_Light_Directional_DiffuseSpecular"

## ◆ FFP_FUNC_LIGHT_POINT_DIFFUSE

#define FFP_FUNC_LIGHT_POINT_DIFFUSE "FFP_Light_Point_Diffuse"

## ◆ FFP_FUNC_LIGHT_POINT_DIFFUSESPECULAR

#define FFP_FUNC_LIGHT_POINT_DIFFUSESPECULAR "FFP_Light_Point_DiffuseSpecular"

## ◆ FFP_FUNC_LIGHT_SPOT_DIFFUSE

#define FFP_FUNC_LIGHT_SPOT_DIFFUSE "FFP_Light_Spot_Diffuse"

## ◆ FFP_FUNC_LIGHT_SPOT_DIFFUSESPECULAR

#define FFP_FUNC_LIGHT_SPOT_DIFFUSESPECULAR "FFP_Light_Spot_DiffuseSpecular"

## ◆ FFP_FUNC_MODULATE

#define FFP_FUNC_MODULATE "FFP_Modulate"

## ◆ FFP_FUNC_MODULATEX2

#define FFP_FUNC_MODULATEX2 "FFP_ModulateX2"

## ◆ FFP_FUNC_MODULATEX4

#define FFP_FUNC_MODULATEX4 "FFP_ModulateX4"

## ◆ FFP_FUNC_NORMALIZE

#define FFP_FUNC_NORMALIZE "FFP_Normalize"

## ◆ FFP_FUNC_PIXELFOG_DEPTH

#define FFP_FUNC_PIXELFOG_DEPTH "FFP_PixelFog_Depth"

## ◆ FFP_FUNC_PIXELFOG_EXP

#define FFP_FUNC_PIXELFOG_EXP "FFP_PixelFog_Exp"

## ◆ FFP_FUNC_PIXELFOG_EXP2

#define FFP_FUNC_PIXELFOG_EXP2 "FFP_PixelFog_Exp2"

## ◆ FFP_FUNC_PIXELFOG_LINEAR

#define FFP_FUNC_PIXELFOG_LINEAR "FFP_PixelFog_Linear"

## ◆ FFP_FUNC_SAMPLE_TEXTURE

#define FFP_FUNC_SAMPLE_TEXTURE "FFP_SampleTexture"

## ◆ FFP_FUNC_SAMPLE_TEXTURE_PROJ

#define FFP_FUNC_SAMPLE_TEXTURE_PROJ "FFP_SampleTextureProj"

## ◆ FFP_FUNC_SUBTRACT

#define FFP_FUNC_SUBTRACT "FFP_Subtract"

## ◆ FFP_FUNC_TRANSFORM

#define FFP_FUNC_TRANSFORM "FFP_Transform"

## ◆ FFP_FUNC_TRANSFORM_TEXCOORD

#define FFP_FUNC_TRANSFORM_TEXCOORD "FFP_TransformTexCoord"

## ◆ FFP_FUNC_VERTEXFOG_EXP

#define FFP_FUNC_VERTEXFOG_EXP "FFP_VertexFog_Exp"

## ◆ FFP_FUNC_VERTEXFOG_EXP2

#define FFP_FUNC_VERTEXFOG_EXP2 "FFP_VertexFog_Exp2"

## ◆ FFP_FUNC_VERTEXFOG_LINEAR

#define FFP_FUNC_VERTEXFOG_LINEAR "FFP_VertexFog_Linear"

## ◆ FFP_LIB_ALPHA_TEST

#define FFP_LIB_ALPHA_TEST "FFPLIB_AlphaTest"

## ◆ FFP_LIB_COMMON

#define FFP_LIB_COMMON "FFPLib_Common"

## ◆ FFP_LIB_FOG

#define FFP_LIB_FOG "FFPLib_Fog"

## ◆ FFP_LIB_LIGHTING

#define FFP_LIB_LIGHTING "FFPLib_Lighting"

## ◆ FFP_LIB_TEXTURING

#define FFP_LIB_TEXTURING "FFPLib_Texturing"

## ◆ FFP_LIB_TRANSFORM

#define FFP_LIB_TRANSFORM "FFPLib_Transform"

## ◆ SGX_FUNC_ADJOINT_TRANSPOSE_MATRIX

#define SGX_FUNC_ADJOINT_TRANSPOSE_MATRIX "SGX_AdjointTransposeMatrix"

## ◆ SGX_FUNC_ANTIPODALITY_ADJUSTMENT

#define SGX_FUNC_ANTIPODALITY_ADJUSTMENT "SGX_AntipodalityAdjustment"

## ◆ SGX_FUNC_APPLYSHADOWFACTOR_DIFFUSE

#define SGX_FUNC_APPLYSHADOWFACTOR_DIFFUSE "SGX_ApplyShadowFactor_Diffuse"

## ◆ SGX_FUNC_BLEND_WEIGHT

#define SGX_FUNC_BLEND_WEIGHT "SGX_BlendWeight"

## ◆ SGX_FUNC_BUILD_DUAL_QUATERNION_MATRIX

#define SGX_FUNC_BUILD_DUAL_QUATERNION_MATRIX "SGX_BuildDualQuaternionMatrix"

## ◆ SGX_FUNC_CALCULATE_BLEND_NORMAL

#define SGX_FUNC_CALCULATE_BLEND_NORMAL "SGX_CalculateBlendNormal"

## ◆ SGX_FUNC_CALCULATE_BLEND_POSITION

#define SGX_FUNC_CALCULATE_BLEND_POSITION "SGX_CalculateBlendPosition"

## ◆ SGX_FUNC_COMPUTE_SHADOW_COLOUR3

#define SGX_FUNC_COMPUTE_SHADOW_COLOUR3 "SGX_ComputeShadowFactor_PSSM3"

## ◆ SGX_FUNC_CONSTRUCT_TBNMATRIX

#define SGX_FUNC_CONSTRUCT_TBNMATRIX "SGX_ConstructTBNMatrix"

## ◆ SGX_FUNC_FETCHNORMAL

#define SGX_FUNC_FETCHNORMAL "SGX_FetchNormal"

## ◆ SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSE [1/2]

#define SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSE "SGX_Light_Directional_Diffuse"

## ◆ SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSE [2/2]

#define SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSE "SGX_Light_Directional_Diffuse"

## ◆ SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR [1/2]

#define SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR "SGX_Light_Directional_DiffuseSpecular"

## ◆ SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR [2/2]

#define SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR "SGX_Light_Directional_DiffuseSpecular"

## ◆ SGX_FUNC_LIGHT_POINT_DIFFUSE [1/2]

#define SGX_FUNC_LIGHT_POINT_DIFFUSE "SGX_Light_Point_Diffuse"

## ◆ SGX_FUNC_LIGHT_POINT_DIFFUSE [2/2]

#define SGX_FUNC_LIGHT_POINT_DIFFUSE "SGX_Light_Point_Diffuse"

## ◆ SGX_FUNC_LIGHT_POINT_DIFFUSESPECULAR [1/2]

#define SGX_FUNC_LIGHT_POINT_DIFFUSESPECULAR "SGX_Light_Point_DiffuseSpecular"

## ◆ SGX_FUNC_LIGHT_POINT_DIFFUSESPECULAR [2/2]

#define SGX_FUNC_LIGHT_POINT_DIFFUSESPECULAR "SGX_Light_Point_DiffuseSpecular"

## ◆ SGX_FUNC_LIGHT_SPOT_DIFFUSE [1/2]

#define SGX_FUNC_LIGHT_SPOT_DIFFUSE "SGX_Light_Spot_Diffuse"

## ◆ SGX_FUNC_LIGHT_SPOT_DIFFUSE [2/2]

#define SGX_FUNC_LIGHT_SPOT_DIFFUSE "SGX_Light_Spot_Diffuse"

## ◆ SGX_FUNC_LIGHT_SPOT_DIFFUSESPECULAR [1/2]

#define SGX_FUNC_LIGHT_SPOT_DIFFUSESPECULAR "SGX_Light_Spot_DiffuseSpecular"

## ◆ SGX_FUNC_LIGHT_SPOT_DIFFUSESPECULAR [2/2]

#define SGX_FUNC_LIGHT_SPOT_DIFFUSESPECULAR "SGX_Light_Spot_DiffuseSpecular"

## ◆ SGX_FUNC_MODULATE_SCALAR

#define SGX_FUNC_MODULATE_SCALAR "SGX_ModulateScalar"

## ◆ SGX_FUNC_NORMALIZE_DUAL_QUATERNION

#define SGX_FUNC_NORMALIZE_DUAL_QUATERNION "SGX_NormalizeDualQuaternion"

## ◆ SGX_FUNC_TRANSFORMNORMAL [1/2]

#define SGX_FUNC_TRANSFORMNORMAL "SGX_TransformNormal"

## ◆ SGX_FUNC_TRANSFORMNORMAL [2/2]

#define SGX_FUNC_TRANSFORMNORMAL "SGX_TransformNormal"

## ◆ SGX_FUNC_TRANSFORMPOSITION [1/2]

#define SGX_FUNC_TRANSFORMPOSITION "SGX_TransformPosition"

## ◆ SGX_FUNC_TRANSFORMPOSITION [2/2]

#define SGX_FUNC_TRANSFORMPOSITION "SGX_TransformPosition"

## ◆ SGX_LIB_DUAL_QUATERNION

#define SGX_LIB_DUAL_QUATERNION "SGXLib_DualQuaternion"

## ◆ SGX_LIB_INTEGRATEDPSSM

#define SGX_LIB_INTEGRATEDPSSM "SGXLib_IntegratedPSSM"

## ◆ SGX_LIB_NORMALMAPLIGHTING

#define SGX_LIB_NORMALMAPLIGHTING "SGXLib_NormalMapLighting"

## ◆ SGX_LIB_PERPIXELLIGHTING

#define SGX_LIB_PERPIXELLIGHTING "SGXLib_PerPixelLighting"

## Typedef Documentation

## ◆ FunctionAtomInstanceConstIterator

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

## ◆ FunctionAtomInstanceIterator

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

## ◆ FunctionAtomInstanceList

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

## ◆ RenderStateConstIterator

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

## ◆ RenderStateIterator

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

## ◆ RenderStateList

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

## ◆ ShaderFunctionConstIterator

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

## ◆ ShaderFunctionIterator

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

## ◆ ShaderFunctionList

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

## ◆ ShaderParameterConstIterator

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

## ◆ ShaderParameterIterator

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

## ◆ SubRenderStateAccessorPtr

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

## ◆ SubRenderStateList

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

## ◆ SubRenderStateListConstIterator

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

## ◆ SubRenderStateListIterator

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

## ◆ SubRenderStateSet

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

## ◆ SubRenderStateSetConstIterator

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

## ◆ SubRenderStateSetIterator

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

## ◆ TextureAtlasMap

typedef map<String, TextureAtlasTablePtr>::type Ogre::RTShader::TextureAtlasMap

## ◆ TextureAtlasTable

typedef vector<TextureAtlasRecord>::type Ogre::RTShader::TextureAtlasTable

## ◆ TextureAtlasTablePtr

typedef SharedPtr<TextureAtlasTable> Ogre::RTShader::TextureAtlasTablePtr

## ◆ UniformParameterConstIterator

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

## ◆ UniformParameterIterator

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

## ◆ UniformParameterList

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

## Enumeration Type Documentation

## ◆ FFPFragmentShaderStage

enum Ogre::RTShader::FFPFragmentShaderStage

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 |
FFP_PS_ALPHA_TEST |

## ◆ FFPShaderStage

enum Ogre::RTShader::FFPShaderStage

Enumerator
FFP_PRE_PROCESS |
FFP_TRANSFORM |
FFP_COLOUR |
FFP_LIGHTING |
FFP_TEXTURING |
FFP_FOG |
FFP_POST_PROCESS |
FFP_ALPHA_TEST |

## ◆ FFPVertexShaderStage

enum Ogre::RTShader::FFPVertexShaderStage

Enumerator
FFP_VS_PRE_PROCESS |
FFP_VS_TRANSFORM |
FFP_VS_COLOUR |
FFP_VS_LIGHTING |
FFP_VS_TEXTURING |
FFP_VS_FOG |
FFP_VS_POST_PROCESS |

## Function Documentation

## ◆ DualQuaternionSkinning()

Ogre::RTShader::DualQuaternionSkinning::DualQuaternionSkinning | ( |  | ) |

Class default constructor.

## ◆ HardwareSkinningTechnique()

Ogre::RTShader::HardwareSkinningTechnique::HardwareSkinningTechnique | ( |  | ) |

Class default constructor.

## ◆ LinearSkinning()

Ogre::RTShader::LinearSkinning::LinearSkinning | ( |  | ) |

Class default constructor.

## ◆ SGScriptTranslator()

Ogre::RTShader::SGScriptTranslator::SGScriptTranslator | ( |  | ) |

## ◆ ~HardwareSkinningTechnique()

virtual Ogre::RTShader::HardwareSkinningTechnique::~HardwareSkinningTechnique | ( |  | ) |
| virtual

## ◆ addFunctionInvocations() [1/3]

virtual bool Ogre::RTShader::DualQuaternionSkinning::addFunctionInvocations | ( | ProgramSet * | programSet | ) |
| virtual

See also
  SubRenderState::addFunctionInvocations.

Implements Ogre::RTShader::HardwareSkinningTechnique.

## ◆ addFunctionInvocations() [2/3]

virtual bool Ogre::RTShader::LinearSkinning::addFunctionInvocations | ( | ProgramSet * | programSet | ) |
| virtual

See also
  SubRenderState::addFunctionInvocations.

Implements Ogre::RTShader::HardwareSkinningTechnique.

## ◆ addFunctionInvocations() [3/3]

virtual bool Ogre::RTShader::HardwareSkinningTechnique::addFunctionInvocations | ( | ProgramSet * | programSet | ) |
| pure virtual

See also
  SubRenderState::addFunctionInvocations.

Implemented in Ogre::RTShader::LinearSkinning, and Ogre::RTShader::DualQuaternionSkinning.

## ◆ copyFrom()

virtual void Ogre::RTShader::HardwareSkinningTechnique::copyFrom | ( | const HardwareSkinningTechnique * | hardSkin | ) |
| virtual

See also
  SubRenderState::copyFrom.

## ◆ getBoneCount()

ushort Ogre::RTShader::HardwareSkinningTechnique::getBoneCount | ( |  | ) |

Returns the number of bones in the model assigned to the material.

See also
  setHardwareSkinningParam()

## ◆ getGeneratedSubRenderState()

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

  typeName | The type of the sub-render state to find.

## ◆ getWeightCount()

ushort Ogre::RTShader::HardwareSkinningTechnique::getWeightCount | ( |  | ) |

Returns the number of weights/bones affecting a vertex.

See also
  setHardwareSkinningParam()

## ◆ hasCorrectAntipodalityHandling()

bool Ogre::RTShader::HardwareSkinningTechnique::hasCorrectAntipodalityHandling | ( |  | ) |

Only applicable for dual quaternion skinning.

See also
  setHardwareSkinningParam()

## ◆ hasScalingShearingSupport()

bool Ogre::RTShader::HardwareSkinningTechnique::hasScalingShearingSupport | ( |  | ) |

Only applicable for dual quaternion skinning.

See also
  setHardwareSkinningParam()

## ◆ materialEventRaised()

virtual void Ogre::RTShader::SGMaterialSerializerListener::materialEventRaised | ( | MaterialSerializer * | ser,
|  | MaterialSerializer::SerializeEvent | event,
|  | bool & | skip,
|  | const Material * | mat
| ) |  |
| virtual

See also
  MaterialSerializer::Listener::materialEventRaised

Reimplemented from Ogre::MaterialSerializer::Listener.

## ◆ operator<<() [1/2]

_OgreRTSSExport void Ogre::RTShader::operator<< | ( | std::ostream & | o,
|  | const HardwareSkinning::SkinningData & | data
| ) |  |

## ◆ operator<<() [2/2]

_OgreRTSSExport void Ogre::RTShader::operator<< | ( | std::ostream & | o,
|  | const TextureAtlasSamplerFactory::TextureAtlasAttib & | tai
| ) |  |

## ◆ passEventRaised()

virtual void Ogre::RTShader::SGMaterialSerializerListener::passEventRaised | ( | MaterialSerializer * | ser,
|  | MaterialSerializer::SerializeEvent | event,
|  | bool & | skip,
|  | const Pass * | tech
| ) |  |
| virtual

See also
  MaterialSerializer::Listener::passEventRaised

Reimplemented from Ogre::MaterialSerializer::Listener.

## ◆ resolveDependencies() [1/3]

virtual bool Ogre::RTShader::DualQuaternionSkinning::resolveDependencies | ( | ProgramSet * | programSet | ) |
| virtual

See also
  SubRenderState::resolveDependencies.

Implements Ogre::RTShader::HardwareSkinningTechnique.

## ◆ resolveDependencies() [2/3]

virtual bool Ogre::RTShader::LinearSkinning::resolveDependencies | ( | ProgramSet * | programSet | ) |
| virtual

See also
  SubRenderState::resolveDependencies.

Implements Ogre::RTShader::HardwareSkinningTechnique.

## ◆ resolveDependencies() [3/3]

virtual bool Ogre::RTShader::HardwareSkinningTechnique::resolveDependencies | ( | ProgramSet * | programSet | ) |
| pure virtual

See also
  SubRenderState::resolveDependencies.

Implemented in Ogre::RTShader::LinearSkinning, and Ogre::RTShader::DualQuaternionSkinning.

## ◆ resolveParameters() [1/3]

virtual bool Ogre::RTShader::DualQuaternionSkinning::resolveParameters | ( | ProgramSet * | programSet | ) |
| virtual

See also
  SubRenderState::resolveParameters.

Implements Ogre::RTShader::HardwareSkinningTechnique.

## ◆ resolveParameters() [2/3]

virtual bool Ogre::RTShader::LinearSkinning::resolveParameters | ( | ProgramSet * | programSet | ) |
| virtual

See also
  SubRenderState::resolveParameters.

Implements Ogre::RTShader::HardwareSkinningTechnique.

## ◆ resolveParameters() [3/3]

virtual bool Ogre::RTShader::HardwareSkinningTechnique::resolveParameters | ( | ProgramSet * | programSet | ) |
| pure virtual

See also
  SubRenderState::resolveParameters.

Implemented in Ogre::RTShader::LinearSkinning, and Ogre::RTShader::DualQuaternionSkinning.

## ◆ setDoBoneCalculations()

void Ogre::RTShader::HardwareSkinningTechnique::setDoBoneCalculations | ( | bool | doBoneCalculations | ) |

## ◆ setHardwareSkinningParam()

void Ogre::RTShader::HardwareSkinningTechnique::setHardwareSkinningParam | ( | ushort | boneCount,
|  | ushort | weightCount,
|  | bool | correctAntipodalityHandling = `false`,
|  | bool | scalingShearingSupport = `false`
| ) |  |

See also
  HardwareSkinning::setHardwareSkinningParam.

## ◆ techniqueEventRaised()

virtual void Ogre::RTShader::SGMaterialSerializerListener::techniqueEventRaised | ( | MaterialSerializer * | ser,
|  | MaterialSerializer::SerializeEvent | event,
|  | bool & | skip,
|  | const Technique * | tech
| ) |  |
| virtual

See also
  MaterialSerializer::Listener::techniqueEventRaised

Reimplemented from Ogre::MaterialSerializer::Listener.

## ◆ textureUnitStateEventRaised()

virtual void Ogre::RTShader::SGMaterialSerializerListener::textureUnitStateEventRaised | ( | MaterialSerializer * | ser,
|  | MaterialSerializer::SerializeEvent | event,
|  | bool & | skip,
|  | const TextureUnitState * | textureUnit
| ) |  |
| virtual

See also
  MaterialSerializer::Listener::textureUnitStateEventRaised

Reimplemented from Ogre::MaterialSerializer::Listener.

## ◆ translate()

virtual void Ogre::RTShader::SGScriptTranslator::translate | ( | ScriptCompiler * | compiler,
|  | const AbstractNodePtr & | node
| ) |  |
| virtual

See also
  ScriptTranslator::translate.

Implements Ogre::ScriptTranslator.

## Friends

## ◆ ShaderGenerator

friend class ShaderGenerator
| friend