OGRE  1.10.12
Object-Oriented Graphics Rendering Engine
RTShaderSystem

Real Time Shader System: enables GPU program generation during the runtime of a process. More...

Classes

class  Ogre::RTShader::AssignmentAtom
 shorthand for "lhs = rhs;" insted of using FFP_Assign(rhs, lhs) More...
 
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::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< SubRenderStateAccessorOgre::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< TextureAtlasTableOgre::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::LinearSkinning::addFunctionInvocations (ProgramSet *programSet)
 
virtual bool Ogre::RTShader::DualQuaternionSkinning::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 SubRenderStateOgre::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::LinearSkinning::resolveDependencies (ProgramSet *programSet)
 
virtual bool Ogre::RTShader::DualQuaternionSkinning::resolveDependencies (ProgramSet *programSet)
 
virtual bool Ogre::RTShader::HardwareSkinningTechnique::resolveDependencies (ProgramSet *programSet)=0
 
virtual bool Ogre::RTShader::LinearSkinning::resolveParameters (ProgramSet *programSet)
 
virtual bool Ogre::RTShader::DualQuaternionSkinning::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

Real Time Shader System: enables GPU program generation during the runtime of a process.

Macro Definition Documentation

◆ SGX_LIB_DUAL_QUATERNION

#define SGX_LIB_DUAL_QUATERNION   "SGXLib_DualQuaternion"

◆ SGX_FUNC_BLEND_WEIGHT

#define SGX_FUNC_BLEND_WEIGHT   "SGX_BlendWeight"

◆ SGX_FUNC_ANTIPODALITY_ADJUSTMENT

#define SGX_FUNC_ANTIPODALITY_ADJUSTMENT   "SGX_AntipodalityAdjustment"

◆ SGX_FUNC_CALCULATE_BLEND_POSITION

#define SGX_FUNC_CALCULATE_BLEND_POSITION   "SGX_CalculateBlendPosition"

◆ SGX_FUNC_CALCULATE_BLEND_NORMAL

#define SGX_FUNC_CALCULATE_BLEND_NORMAL   "SGX_CalculateBlendNormal"

◆ SGX_FUNC_NORMALIZE_DUAL_QUATERNION

#define SGX_FUNC_NORMALIZE_DUAL_QUATERNION   "SGX_NormalizeDualQuaternion"

◆ SGX_FUNC_ADJOINT_TRANSPOSE_MATRIX

#define SGX_FUNC_ADJOINT_TRANSPOSE_MATRIX   "SGX_AdjointTransposeMatrix"

◆ SGX_FUNC_BUILD_DUAL_QUATERNION_MATRIX

#define SGX_FUNC_BUILD_DUAL_QUATERNION_MATRIX   "SGX_BuildDualQuaternionMatrix"

◆ SGX_LIB_INTEGRATEDPSSM

#define SGX_LIB_INTEGRATEDPSSM   "SGXLib_IntegratedPSSM"

◆ SGX_FUNC_COMPUTE_SHADOW_COLOUR3

#define SGX_FUNC_COMPUTE_SHADOW_COLOUR3   "SGX_ComputeShadowFactor_PSSM3"

◆ SGX_FUNC_APPLYSHADOWFACTOR_DIFFUSE

#define SGX_FUNC_APPLYSHADOWFACTOR_DIFFUSE   "SGX_ApplyShadowFactor_Diffuse"

◆ SGX_FUNC_MODULATE_SCALAR

#define SGX_FUNC_MODULATE_SCALAR   "SGX_ModulateScalar"

◆ SGX_LIB_NORMALMAPLIGHTING

#define SGX_LIB_NORMALMAPLIGHTING   "SGXLib_NormalMapLighting"

◆ SGX_FUNC_CONSTRUCT_TBNMATRIX

#define SGX_FUNC_CONSTRUCT_TBNMATRIX   "SGX_ConstructTBNMatrix"

◆ SGX_FUNC_FETCHNORMAL

#define SGX_FUNC_FETCHNORMAL   "SGX_FetchNormal"

◆ SGX_LIB_PERPIXELLIGHTING

#define SGX_LIB_PERPIXELLIGHTING   "SGXLib_PerPixelLighting"

◆ SGX_FUNC_TRANSFORMNORMAL

#define SGX_FUNC_TRANSFORMNORMAL   "SGX_TransformNormal"

◆ SGX_FUNC_TRANSFORMPOSITION

#define SGX_FUNC_TRANSFORMPOSITION   "SGX_TransformPosition"

◆ SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSE

#define SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSE   "SGX_Light_Directional_Diffuse"

◆ SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR

#define SGX_FUNC_LIGHT_DIRECTIONAL_DIFFUSESPECULAR   "SGX_Light_Directional_DiffuseSpecular"

◆ SGX_FUNC_LIGHT_POINT_DIFFUSE

#define SGX_FUNC_LIGHT_POINT_DIFFUSE   "SGX_Light_Point_Diffuse"

◆ SGX_FUNC_LIGHT_POINT_DIFFUSESPECULAR

#define SGX_FUNC_LIGHT_POINT_DIFFUSESPECULAR   "SGX_Light_Point_DiffuseSpecular"

◆ SGX_FUNC_LIGHT_SPOT_DIFFUSE

#define SGX_FUNC_LIGHT_SPOT_DIFFUSE   "SGX_Light_Spot_Diffuse"

◆ SGX_FUNC_LIGHT_SPOT_DIFFUSESPECULAR

#define SGX_FUNC_LIGHT_SPOT_DIFFUSESPECULAR   "SGX_Light_Spot_DiffuseSpecular"

◆ FFP_LIB_COMMON

#define FFP_LIB_COMMON   "FFPLib_Common"

◆ FFP_FUNC_ASSIGN

#define FFP_FUNC_ASSIGN   "FFP_Assign"
Deprecated:
use ShaderFunction::addAssignmentAtom

◆ FFP_FUNC_CONSTRUCT

#define FFP_FUNC_CONSTRUCT   "FFP_Construct"
Deprecated:
use ShaderFunction::addAssignmentAtom with ParameterFactory::createConstParam

◆ FFP_FUNC_MODULATE

#define FFP_FUNC_MODULATE   "FFP_Modulate"

◆ FFP_FUNC_ADD

#define FFP_FUNC_ADD   "FFP_Add"

◆ FFP_FUNC_SUBTRACT

#define FFP_FUNC_SUBTRACT   "FFP_Subtract"

◆ FFP_FUNC_LERP

#define FFP_FUNC_LERP   "FFP_Lerp"

◆ FFP_FUNC_DOTPRODUCT

#define FFP_FUNC_DOTPRODUCT   "FFP_DotProduct"

◆ FFP_FUNC_NORMALIZE

#define FFP_FUNC_NORMALIZE   "FFP_Normalize"

◆ FFP_LIB_TRANSFORM

#define FFP_LIB_TRANSFORM   "FFPLib_Transform"

◆ FFP_FUNC_TRANSFORM

#define FFP_FUNC_TRANSFORM   "FFP_Transform"

◆ FFP_LIB_LIGHTING

#define FFP_LIB_LIGHTING   "FFPLib_Lighting"

◆ 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_LIB_TEXTURING

#define FFP_LIB_TEXTURING   "FFPLib_Texturing"

◆ FFP_FUNC_TRANSFORM_TEXCOORD

#define FFP_FUNC_TRANSFORM_TEXCOORD   "FFP_TransformTexCoord"

◆ FFP_FUNC_GENERATE_TEXCOORD_ENV_NORMAL

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_NORMAL   "FFP_GenerateTexCoord_EnvMap_Normal"

◆ FFP_FUNC_GENERATE_TEXCOORD_ENV_SPHERE

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_SPHERE   "FFP_GenerateTexCoord_EnvMap_Sphere"

◆ FFP_FUNC_GENERATE_TEXCOORD_ENV_REFLECT

#define FFP_FUNC_GENERATE_TEXCOORD_ENV_REFLECT   "FFP_GenerateTexCoord_EnvMap_Reflect"

◆ FFP_FUNC_GENERATE_TEXCOORD_PROJECTION

#define FFP_FUNC_GENERATE_TEXCOORD_PROJECTION   "FFP_GenerateTexCoord_Projection"

◆ FFP_FUNC_SAMPLE_TEXTURE

#define FFP_FUNC_SAMPLE_TEXTURE   "FFP_SampleTexture"

◆ FFP_FUNC_CONSTRUCT_SAMPLER_WRAPPER

#define FFP_FUNC_CONSTRUCT_SAMPLER_WRAPPER   "FFP_Construct_Sampler_Wrapper"

◆ FFP_FUNC_SAMPLE_TEXTURE_PROJ

#define FFP_FUNC_SAMPLE_TEXTURE_PROJ   "FFP_SampleTextureProj"

◆ FFP_FUNC_MODULATEX2

#define FFP_FUNC_MODULATEX2   "FFP_ModulateX2"

◆ FFP_FUNC_MODULATEX4

#define FFP_FUNC_MODULATEX4   "FFP_ModulateX4"

◆ FFP_FUNC_ADDSIGNED

#define FFP_FUNC_ADDSIGNED   "FFP_AddSigned"

◆ FFP_FUNC_ADDSMOOTH

#define FFP_FUNC_ADDSMOOTH   "FFP_AddSmooth"

◆ FFP_LIB_FOG

#define FFP_LIB_FOG   "FFPLib_Fog"

◆ FFP_FUNC_VERTEXFOG_LINEAR

#define FFP_FUNC_VERTEXFOG_LINEAR   "FFP_VertexFog_Linear"

◆ 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_PIXELFOG_DEPTH

#define FFP_FUNC_PIXELFOG_DEPTH   "FFP_PixelFog_Depth"

◆ FFP_FUNC_PIXELFOG_LINEAR

#define FFP_FUNC_PIXELFOG_LINEAR   "FFP_PixelFog_Linear"

◆ 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_LIB_ALPHA_TEST

#define FFP_LIB_ALPHA_TEST   "FFPLib_AlphaTest"

◆ FFP_FUNC_ALPHA_TEST

#define FFP_FUNC_ALPHA_TEST   "FFP_Alpha_Test"

Typedef Documentation

◆ TextureAtlasTable

◆ TextureAtlasTablePtr

◆ TextureAtlasMap

◆ ShaderFunctionList

◆ ShaderFunctionIterator

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

◆ ShaderFunctionConstIterator

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

◆ FunctionAtomInstanceList

◆ FunctionAtomInstanceIterator

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

◆ FunctionAtomInstanceConstIterator

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

◆ ShaderParameterIterator

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

◆ ShaderParameterConstIterator

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

◆ UniformParameterList

◆ UniformParameterIterator

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

◆ UniformParameterConstIterator

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

◆ RenderStateList

◆ RenderStateIterator

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

◆ RenderStateConstIterator

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

◆ SubRenderStateAccessorPtr

◆ SubRenderStateList

◆ SubRenderStateListIterator

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

◆ SubRenderStateListConstIterator

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

◆ SubRenderStateSet

◆ SubRenderStateSetIterator

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

◆ SubRenderStateSetConstIterator

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

Enumeration Type Documentation

◆ 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 

◆ 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

Enumerator
FFP_PRE_PROCESS 
FFP_TRANSFORM 
FFP_COLOUR 
FFP_LIGHTING 
FFP_TEXTURING 
FFP_FOG 
FFP_POST_PROCESS 
FFP_ALPHA_TEST 

Function Documentation

◆ DualQuaternionSkinning()

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

Class default constructor.

◆ resolveParameters() [1/3]

virtual bool Ogre::RTShader::DualQuaternionSkinning::resolveParameters ( ProgramSet programSet)
virtual
See also
SubRenderState::resolveParameters.

Implements Ogre::RTShader::HardwareSkinningTechnique.

◆ resolveDependencies() [1/3]

virtual bool Ogre::RTShader::DualQuaternionSkinning::resolveDependencies ( ProgramSet programSet)
virtual
See also
SubRenderState::resolveDependencies.

Implements Ogre::RTShader::HardwareSkinningTechnique.

◆ addFunctionInvocations() [1/3]

virtual bool Ogre::RTShader::DualQuaternionSkinning::addFunctionInvocations ( ProgramSet programSet)
virtual
See also
SubRenderState::addFunctionInvocations.

Implements Ogre::RTShader::HardwareSkinningTechnique.

◆ operator<<() [1/2]

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

◆ HardwareSkinningTechnique()

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

Class default constructor.

◆ ~HardwareSkinningTechnique()

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

◆ copyFrom()

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

◆ setHardwareSkinningParam()

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

◆ getBoneCount()

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

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

See also
setHardwareSkinningParam()

◆ 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()

◆ setDoBoneCalculations()

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

◆ resolveParameters() [2/3]

virtual bool Ogre::RTShader::HardwareSkinningTechnique::resolveParameters ( ProgramSet programSet)
pure virtual
See also
SubRenderState::resolveParameters.

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

◆ resolveDependencies() [2/3]

virtual bool Ogre::RTShader::HardwareSkinningTechnique::resolveDependencies ( ProgramSet programSet)
pure virtual
See also
SubRenderState::resolveDependencies.

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

◆ addFunctionInvocations() [2/3]

virtual bool Ogre::RTShader::HardwareSkinningTechnique::addFunctionInvocations ( ProgramSet programSet)
pure virtual
See also
SubRenderState::addFunctionInvocations.

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

◆ LinearSkinning()

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

Class default constructor.

◆ resolveParameters() [3/3]

virtual bool Ogre::RTShader::LinearSkinning::resolveParameters ( ProgramSet programSet)
virtual
See also
SubRenderState::resolveParameters.

Implements Ogre::RTShader::HardwareSkinningTechnique.

◆ resolveDependencies() [3/3]

virtual bool Ogre::RTShader::LinearSkinning::resolveDependencies ( ProgramSet programSet)
virtual
See also
SubRenderState::resolveDependencies.

Implements Ogre::RTShader::HardwareSkinningTechnique.

◆ addFunctionInvocations() [3/3]

virtual bool Ogre::RTShader::LinearSkinning::addFunctionInvocations ( ProgramSet programSet)
virtual
See also
SubRenderState::addFunctionInvocations.

Implements Ogre::RTShader::HardwareSkinningTechnique.

◆ operator<<() [2/2]

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

◆ materialEventRaised()

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

◆ techniqueEventRaised()

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

◆ passEventRaised()

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

◆ textureUnitStateEventRaised()

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

◆ SGScriptTranslator()

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

◆ translate()

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

◆ 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
typeNameThe type of the sub-render state to find.

Friends

◆ ShaderGenerator

friend class ShaderGenerator
friend