Ogre::RTShader::ShaderGenerator Class Reference
Core » RTShader

Shader generator system main interface. More...

`#include <OgreShaderGenerator.h>`

Inheritance diagram for Ogre::RTShader::ShaderGenerator:
[legend]

## Classes

struct | MatGroupPair_less
class | SGMaterial
| Shader generator material wrapper class. More...
class | SGPass
| Shader generator pass wrapper class. More...
class | SGRenderObjectListener
| Shader generator RenderObjectListener sub class. More...
class | SGSceneManagerListener
| Shader generator scene manager sub class. More...
class | SGScheme
| Shader generator scheme class. More...
class | SGScriptTranslatorManager
| Shader generator ScriptTranslatorManager sub class. More...
class | SGTechnique
| Shader generator technique wrapper class. More...

## Public Types

typedef std::pair< RenderState *, bool > | RenderStateCreateOrRetrieveResult

## Public Member Functions

void | addSceneManager (SceneManager *sceneMgr)
| Add a scene manager to the shader generator scene managers list. More...
void | addSubRenderStateFactory (SubRenderStateFactory *factory)
| Add sub render state factory. More...
bool | cloneShaderBasedTechniques (const String &srcMaterialName, const String &srcGroupName, const String &dstMaterialName, const String &dstGroupName)
| Clone all shader based techniques from one material to another. More...
RenderStateCreateOrRetrieveResult | createOrRetrieveRenderState (const String &schemeName)
| Returns a requested render state. More...
void | createScheme (const String &schemeName)
| Create a scheme. More...
bool | createShaderBasedTechnique (const String &materialName, const String &srcTechniqueSchemeName, const String &dstTechniqueSchemeName, bool overProgrammable=false)
| Create shader based technique from a given technique. More...
bool | createShaderBasedTechnique (const String &materialName, const String &groupName, const String &srcTechniqueSchemeName, const String &dstTechniqueSchemeName, bool overProgrammable=false)
| Create shader based technique from a given technique. More...
SubRenderState * | createSubRenderState (const String &type)
| Create an instance of sub render state from a given type. More...
void | destroySubRenderState (SubRenderState *subRenderState)
| Destroy an instance of sub render state. More...
void | flushShaderCache ()
| Flush the shader cache. More...
SceneManager * | getActiveSceneManager ()
| Get the active scene manager that is doint the actual scene rendering. More...
bool | getCreateShaderOverProgrammablePass () const
| Returns whether shaders are created for passes with shaders. More...
size_t | getFragmentShaderCount () const
| Return the current number of generated fragment shaders. More...
const String & | getFragmentShaderProfiles () const
| Get the output fragment shader target profiles. More...
const StringVector & | getFragmentShaderProfilesList () const
| Get the output fragment shader target profiles as list of strings. More...
SGMaterialSerializerListener * | getMaterialSerializerListener ()
| Return custom material Serializer of the shader generator. More...
size_t | getNumSubRenderStateFactories () const
| Returns the number of existing factories. More...
RenderState * | getRenderState (const String &schemeName)
| Return a global render state associated with the given scheme name. More...
RenderState * | getRenderState (const String &schemeName, const String &materialName, unsigned short passIndex)
| Get render state of specific pass. More...
RenderState * | getRenderState (const String &schemeName, const String &materialName, const String &groupName, unsigned short passIndex)
| Get render state of specific pass. More...
const String & | getRTShaderScheme (size_t index) const
| Returns the scheme name used in the for RT shader generation by index. More...
size_t | getRTShaderSchemeCount () const
| Returns the amount of schemes used in the for RT shader generation. More...
const String & | getShaderCachePath () const
| Get the output shader cache path. More...
SubRenderStateFactory * | getSubRenderStateFactory (size_t index)
| Returns a sub render state factory by index. More...
SubRenderStateFactory * | getSubRenderStateFactory (const String &type)
| Returns a sub render state factory by name. More...
const String & | getTargetLanguage () const
| Return the target shader language currently in use. More...
size_t | getVertexShaderCount () const
| Return the current number of generated vertex shaders. More...
VSOutputCompactPolicy | getVertexShaderOutputsCompactPolicy () const
| Get the vertex shader outputs compaction policy. More...
const String & | getVertexShaderProfiles () const
| Get the output vertex shader target profiles. More...
const StringVector & | getVertexShaderProfilesList () const
| Get the output vertex shader target profiles as list of strings. More...
bool | hasRenderState (const String &schemeName) const
| Tells if a given render state exists. More...
bool | hasShaderBasedTechnique (const String &materialName, const String &srcTechniqueSchemeName, const String &dstTechniqueSchemeName) const
| Checks if a shader based technique has been created for a given technique. More...
bool | hasShaderBasedTechnique (const String &materialName, const String &groupName, const String &srcTechniqueSchemeName, const String &dstTechniqueSchemeName) const
| Checks if a shader based technique has been created for a given technique. More...
void | invalidateMaterial (const String &schemeName, const String &materialName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
| Invalidate specific material scheme. More...
void | invalidateScheme (const String &schemeName)
| Invalidate a given scheme. More...
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info More...
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
void * | operator new[] (size_t sz)
bool | removeAllShaderBasedTechniques (const String &materialName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
| Remove all shader based techniques of the given material. More...
void | removeAllShaderBasedTechniques ()
| Remove all shader based techniques that created by this shader generator. More...
void | removeSceneManager (SceneManager *sceneMgr)
| Remove a scene manager from the shader generator scene managers list. More...
bool | removeShaderBasedTechnique (const String &materialName, const String &srcTechniqueSchemeName, const String &dstTechniqueSchemeName)
| Remove shader based technique from a given technique. More...
bool | removeShaderBasedTechnique (const String &materialName, const String &groupName, const String &srcTechniqueSchemeName, const String &dstTechniqueSchemeName)
| Remove shader based technique from a given technique. More...
void | removeSubRenderStateFactory (SubRenderStateFactory *factory)
| Remove sub render state factory. More...
void | setCreateShaderOverProgrammablePass (bool value)
| Sets whether shaders are created for passes with shaders. More...
void | setFragmentShaderProfiles (const String &fragmentShaderProfiles)
| Set the output fragment shader target profiles. More...
void | setShaderCachePath (const String &cachePath)
| Set the output shader cache path. More...
void | setTargetLanguage (const String &shaderLanguage)
| Set the target shader language. More...
void | setVertexShaderOutputsCompactPolicy (VSOutputCompactPolicy policy)
| Set the vertex shader outputs compaction policy. More...
void | setVertexShaderProfiles (const String &vertexShaderProfiles)
| Set the output vertex shader target profiles. More...
bool | validateMaterial (const String &schemeName, const String &materialName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
| Validate specific material scheme. More...
bool | validateScheme (const String &schemeName)
| Validate a given scheme. More...

## Static Public Member Functions

static void | destroy ()
| Destroy the Shader Generator instance. More...
static ShaderGenerator & | getSingleton ()
| Override standard Singleton retrieval. More...
static ShaderGenerator * | getSingletonPtr ()
| Override standard Singleton retrieval. More...
static bool | initialize ()
| Initialize the Shader Generator System. More...

## Static Public Attributes

static String | DEFAULT_SCHEME_NAME
| Default material scheme of the shader generator. More...

## Protected Types

typedef std::pair< String, String > | MatGroupPair
typedef SceneManagerMap::const_iterator | SceneManagerConstIterator
typedef SceneManagerMap::iterator | SceneManagerIterator
typedef map< String, SceneManager * >::type | SceneManagerMap
typedef std::pair< SGScheme *, bool > | SchemeCreateOrRetrieveResult
typedef SGMaterialMap::const_iterator | SGMaterialConstIterator
typedef SGMaterialMap::iterator | SGMaterialIterator
typedef map< MatGroupPair, SGMaterial *, MatGroupPair_less >::type | SGMaterialMap
typedef SGPassList::const_iterator | SGPassConstIterator
typedef SGPassList::iterator | SGPassIterator
typedef vector< SGPass * >::type | SGPassList
typedef SGSchemeMap::const_iterator | SGSchemeConstIterator
typedef SGSchemeMap::iterator | SGSchemeIterator
typedef map< String, SGScheme * >::type | SGSchemeMap
typedef SGScriptTranslatorMap::const_iterator | SGScriptTranslatorConstIterator
typedef SGScriptTranslatorMap::iterator | SGScriptTranslatorIterator
typedef map< String, ScriptTranslator * >::type | SGScriptTranslatorMap
typedef SGTechniqueList::const_iterator | SGTechniqueConstIterator
typedef SGTechniqueList::iterator | SGTechniqueIterator
typedef vector< SGTechnique * >::type | SGTechniqueList
typedef map< SGTechnique *, SGTechnique * >::type | SGTechniqueMap
typedef SGTechniqueMap::iterator | SGTechniqueMapIterator
typedef SubRenderStateFactoryMap::const_iterator | SubRenderStateFactoryConstIterator
typedef SubRenderStateFactoryMap::iterator | SubRenderStateFactoryIterator
typedef map< String, SubRenderStateFactory * >::type | SubRenderStateFactoryMap

## Protected Member Functions

| ShaderGenerator ()
| Class default constructor. More...
| ~ShaderGenerator ()
| Class destructor. More...
void | _destroy ()
| Destory the shader generator instance. More...
bool | _initialize ()
| Initialize the shader generator instance. More...
bool | addCustomScriptTranslator (const String &key, ScriptTranslator *translator)
| Add custom script translator. More...
SchemeCreateOrRetrieveResult | createOrRetrieveScheme (const String &schemeName)
| Returns a requested scheme. More...
SubRenderState * | createSubRenderState (ScriptCompiler *compiler, PropertyAbstractNode *prop, Pass *pass, SGScriptTranslator *translator)
| Create an instance of the SubRenderState based on script properties using the current sub render state factories. More...
SubRenderState * | createSubRenderState (ScriptCompiler *compiler, PropertyAbstractNode *prop, TextureUnitState *texState, SGScriptTranslator *translator)
| Create an instance of the SubRenderState based on script properties using the current sub render state factories. More...
void | createSubRenderStateExFactories ()
| Create sub render state core extensions factories. More...
void | destroySubRenderStateExFactories ()
| Destroy sub render state core extensions factories. More...
SGMaterialIterator | findMaterialEntryIt (const String &materialName, const String &groupName)
| Finds an entry iterator in the mMaterialEntriesMap map. More...
SGMaterialConstIterator | findMaterialEntryIt (const String &materialName, const String &groupName) const
Technique * | findSourceTechnique (const String &materialName, const String &groupName, const String &srcTechniqueSchemeName, bool allowProgrammable)
| Find source technique to generate shader based technique based on it. More...
bool | getIsFinalizing () const
| Used to check if finalizing. More...
size_t | getNumTranslators () const
| Return number of script translators. More...
ScriptTranslator * | getTranslator (const AbstractNodePtr &node)
| Return a matching script translator. More...
bool | isProgrammable (Technique *tech) const
| Checks if a given technique has passes with shaders. More...
void | notifyRenderSingleObject (Renderable *rend, const Pass *pass, const AutoParamDataSource *source, const LightList *pLightList, bool suppressRenderStateChanges)
| Called from the sub class of the RenderObjectLister when single object is rendered. More...
void | preFindVisibleObjects (SceneManager *source, SceneManager::IlluminationRenderStage irs, Viewport *v)
| Called from the sub class of the SceneManager::Listener when finding visible object process starts. More...
bool | removeCustomScriptTranslator (const String &key)
| Remove custom script translator. More...
void | serializePassAttributes (MaterialSerializer *ser, SGPass *passEntry)
| This method called by instance of SGMaterialSerializerListener and serialize a given pass entry attributes. More...
void | serializeTextureUnitStateAttributes (MaterialSerializer *ser, SGPass *passEntry, const TextureUnitState *srcTextureUnit)
| This method called by instance of SGMaterialSerializerListener and serialize a given textureUnitState entry attributes. More...

## Protected Attributes

SceneManager * | mActiveSceneMgr
bool | mActiveViewportValid
SGScriptTranslator | mCoreScriptTranslator
bool | mCreateShaderOverProgrammablePass
FFPRenderStateBuilder * | mFFPRenderStateBuilder
String | mFragmentShaderProfiles
StringVector | mFragmentShaderProfilesList
FileSystemLayer * | mFSLayer
bool | mIsFinalizing
int | mLightCount [3]
SGMaterialMap | mMaterialEntriesMap
SGMaterialSerializerListener * | mMaterialSerializerListener
ProgramManager * | mProgramManager
ProgramWriterManager * | mProgramWriterManager
SGRenderObjectListener * | mRenderObjectListener
SGSceneManagerListener * | mSceneManagerListener
SceneManagerMap | mSceneManagerMap
SGSchemeMap | mSchemeEntriesMap
SGScriptTranslatorManager * | mScriptTranslatorManager
SGScriptTranslatorMap | mScriptTranslatorsMap
String | mShaderCachePath
String | mShaderLanguage
SubRenderStateFactoryMap | mSubRenderStateExFactories
SubRenderStateFactoryMap | mSubRenderStateFactories
SGTechniqueMap | mTechniqueEntriesMap
String | mVertexShaderProfiles
StringVector | mVertexShaderProfilesList
VSOutputCompactPolicy | mVSOutputCompactPolicy
| OGRE_AUTO_MUTEX

## Static Protected Attributes

static ShaderGenerator * | msSingleton

## Friends

class | FFPRenderStateBuilder
class | SGMaterialSerializerListener
class | SGPass
class | SGScriptTranslator
class | SGScriptTranslatorManager

## Detailed Description

Shader generator system main interface.

This singleton based class enables automatic generation of shader code based on existing material techniques.

Definition at line 53 of file OgreShaderGenerator.h.

## Member Typedef Documentation

## MatGroupPair

typedef std::pair<String,String> Ogre::RTShader::ShaderGenerator::MatGroupPair

protected

Definition at line 470 of file OgreShaderGenerator.h.

## RenderStateCreateOrRetrieveResult

typedef std::pair<RenderState*, bool> Ogre::RTShader::ShaderGenerator::RenderStateCreateOrRetrieveResult

Definition at line 198 of file OgreShaderGenerator.h.

## SceneManagerConstIterator

typedef SceneManagerMap::const_iterator Ogre::RTShader::ShaderGenerator::SceneManagerConstIterator

protected

Definition at line 843 of file OgreShaderGenerator.h.

## SceneManagerIterator

typedef SceneManagerMap::iterator Ogre::RTShader::ShaderGenerator::SceneManagerIterator

protected

Definition at line 842 of file OgreShaderGenerator.h.

## SceneManagerMap

typedef map<String, SceneManager*>::type Ogre::RTShader::ShaderGenerator::SceneManagerMap

protected

Definition at line 841 of file OgreShaderGenerator.h.

## SchemeCreateOrRetrieveResult

typedef std::pair<SGScheme*, bool> Ogre::RTShader::ShaderGenerator::SchemeCreateOrRetrieveResult

protected

Definition at line 941 of file OgreShaderGenerator.h.

## SGMaterialConstIterator

typedef SGMaterialMap::const_iterator Ogre::RTShader::ShaderGenerator::SGMaterialConstIterator

protected

Definition at line 496 of file OgreShaderGenerator.h.

## SGMaterialIterator

typedef SGMaterialMap::iterator Ogre::RTShader::ShaderGenerator::SGMaterialIterator

protected

Definition at line 495 of file OgreShaderGenerator.h.

## SGMaterialMap

typedef map<MatGroupPair, SGMaterial*, MatGroupPair_less>::type Ogre::RTShader::ShaderGenerator::SGMaterialMap

protected

Definition at line 494 of file OgreShaderGenerator.h.

## SGPassConstIterator

typedef SGPassList::const_iterator Ogre::RTShader::ShaderGenerator::SGPassConstIterator

protected

Definition at line 485 of file OgreShaderGenerator.h.

## SGPassIterator

typedef SGPassList::iterator Ogre::RTShader::ShaderGenerator::SGPassIterator

protected

Definition at line 484 of file OgreShaderGenerator.h.

## SGPassList

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

protected

Definition at line 483 of file OgreShaderGenerator.h.

## SGSchemeConstIterator

typedef SGSchemeMap::const_iterator Ogre::RTShader::ShaderGenerator::SGSchemeConstIterator

protected

Definition at line 500 of file OgreShaderGenerator.h.

## SGSchemeIterator

typedef SGSchemeMap::iterator Ogre::RTShader::ShaderGenerator::SGSchemeIterator

protected

Definition at line 499 of file OgreShaderGenerator.h.

## SGSchemeMap

typedef map<String, SGScheme*>::type Ogre::RTShader::ShaderGenerator::SGSchemeMap

protected

Definition at line 498 of file OgreShaderGenerator.h.

## SGScriptTranslatorConstIterator

typedef SGScriptTranslatorMap::const_iterator Ogre::RTShader::ShaderGenerator::SGScriptTranslatorConstIterator

protected

Definition at line 504 of file OgreShaderGenerator.h.

## SGScriptTranslatorIterator

typedef SGScriptTranslatorMap::iterator Ogre::RTShader::ShaderGenerator::SGScriptTranslatorIterator

protected

Definition at line 503 of file OgreShaderGenerator.h.

## SGScriptTranslatorMap

typedef map<String, ScriptTranslator*>::type Ogre::RTShader::ShaderGenerator::SGScriptTranslatorMap

protected

Definition at line 502 of file OgreShaderGenerator.h.

## SGTechniqueConstIterator

typedef SGTechniqueList::const_iterator Ogre::RTShader::ShaderGenerator::SGTechniqueConstIterator

protected

Definition at line 489 of file OgreShaderGenerator.h.

## SGTechniqueIterator

typedef SGTechniqueList::iterator Ogre::RTShader::ShaderGenerator::SGTechniqueIterator

protected

Definition at line 488 of file OgreShaderGenerator.h.

## SGTechniqueList

typedef vector<SGTechnique*>::type Ogre::RTShader::ShaderGenerator::SGTechniqueList

protected

Definition at line 487 of file OgreShaderGenerator.h.

## SGTechniqueMap

typedef map<SGTechnique*, SGTechnique*>::type Ogre::RTShader::ShaderGenerator::SGTechniqueMap

protected

Definition at line 491 of file OgreShaderGenerator.h.

## SGTechniqueMapIterator

typedef SGTechniqueMap::iterator Ogre::RTShader::ShaderGenerator::SGTechniqueMapIterator

protected

Definition at line 492 of file OgreShaderGenerator.h.

## SubRenderStateFactoryConstIterator

typedef SubRenderStateFactoryMap::const_iterator Ogre::RTShader::ShaderGenerator::SubRenderStateFactoryConstIterator

protected

Definition at line 838 of file OgreShaderGenerator.h.

## SubRenderStateFactoryIterator

typedef SubRenderStateFactoryMap::iterator Ogre::RTShader::ShaderGenerator::SubRenderStateFactoryIterator

protected

Definition at line 837 of file OgreShaderGenerator.h.

## SubRenderStateFactoryMap

typedef map<String, SubRenderStateFactory*>::type Ogre::RTShader::ShaderGenerator::SubRenderStateFactoryMap

protected

Definition at line 836 of file OgreShaderGenerator.h.

## Constructor & Destructor Documentation

## ShaderGenerator()

Ogre::RTShader::ShaderGenerator::ShaderGenerator | ( |  | ) |

protected

Class default constructor.

## ~ShaderGenerator()

Ogre::RTShader::ShaderGenerator::~ShaderGenerator | ( |  | ) |

protected

Class destructor.

## Member Function Documentation

## _destroy()

void Ogre::RTShader::ShaderGenerator::_destroy | ( |  | ) |

protected

Destory the shader generator instance.

## _initialize()

bool Ogre::RTShader::ShaderGenerator::_initialize | ( |  | ) |

protected

Initialize the shader generator instance.

## addCustomScriptTranslator()

bool Ogre::RTShader::ShaderGenerator::addCustomScriptTranslator | ( | const String & | key,
|  | ScriptTranslator * | translator
| ) |  |

protected

Add custom script translator.

Return true upon success.

Parameters

  key | The key name of the given translator.
  translator | The translator to associate with the given key.

## addSceneManager()

void Ogre::RTShader::ShaderGenerator::addSceneManager | ( | SceneManager * | sceneMgr | ) |

Add a scene manager to the shader generator scene managers list.

Parameters

  sceneMgr | The scene manager to add to the list.

## addSubRenderStateFactory()

void Ogre::RTShader::ShaderGenerator::addSubRenderStateFactory | ( | SubRenderStateFactory * | factory | ) |

Add sub render state factory.

Plugins or 3d party applications may implement sub classes of SubRenderState interface. Add the matching factory will allow the application to create instances of these sub classes.

Parameters

  factory | The factory to add.

## cloneShaderBasedTechniques()

bool Ogre::RTShader::ShaderGenerator::cloneShaderBasedTechniques | ( | const String & | srcMaterialName,
|  | const String & | srcGroupName,
|  | const String & | dstMaterialName,
|  | const String & | dstGroupName
| ) |  |

Clone all shader based techniques from one material to another.

This function can be used in conjunction with the Material::clone() function to copy both material properties and RTSS state from one material to another.

Parameters

  srcMaterialName | The source material name.
  srcGroupName | The source group name.
  dstMaterialName | The destination material name.
  dstGroupName | The destination group name.

Returns
  True if successful

## createOrRetrieveRenderState()

RenderStateCreateOrRetrieveResult Ogre::RTShader::ShaderGenerator::createOrRetrieveRenderState | ( | const String & | schemeName | ) |

Returns a requested render state.

If the render state does not exist this function creates it.

Parameters

  schemeName | The scheme name to retrieve.

## createOrRetrieveScheme()

SchemeCreateOrRetrieveResult Ogre::RTShader::ShaderGenerator::createOrRetrieveScheme | ( | const String & | schemeName | ) |

protected

Returns a requested scheme.

If the scheme does not exist this function creates it.

Parameters

  schemeName | The scheme name to retrieve.

## createScheme()

void Ogre::RTShader::ShaderGenerator::createScheme | ( | const String & | schemeName | ) |

Create a scheme.

Parameters

  schemeName | The scheme name to create.

## createShaderBasedTechnique() [1/2]

bool Ogre::RTShader::ShaderGenerator::createShaderBasedTechnique | ( | const String & | materialName,
|  | const String & | srcTechniqueSchemeName,
|  | const String & | dstTechniqueSchemeName,
|  | bool | overProgrammable = `false`
| ) |  |

Create shader based technique from a given technique.

Return true upon success. Failure may occur if the source technique is not FFP pure, or different source technique is mapped to the requested destination scheme.

Parameters

  materialName | The source material name.
  srcTechniqueSchemeName | The source technique scheme name.
  dstTechniqueSchemeName | The destination shader based technique scheme name.
  overProgrammable | If true a shader will be created even if the material has shaders

## createShaderBasedTechnique() [2/2]

bool Ogre::RTShader::ShaderGenerator::createShaderBasedTechnique | ( | const String & | materialName,
|  | const String & | groupName,
|  | const String & | srcTechniqueSchemeName,
|  | const String & | dstTechniqueSchemeName,
|  | bool | overProgrammable = `false`
| ) |  |

Create shader based technique from a given technique.

Return true upon success. Failure may occur if the source technique is not FFP pure, or different source technique is mapped to the requested destination scheme.

Parameters

  materialName | The source material name.
  groupName | The source group name.
  srcTechniqueSchemeName | The source technique scheme name.
  dstTechniqueSchemeName | The destination shader based technique scheme name.
  overProgrammable | If true a shader will be created even if the material has shaders

## createSubRenderState() [1/3]

SubRenderState* Ogre::RTShader::ShaderGenerator::createSubRenderState | ( | const String & | type | ) |

Create an instance of sub render state from a given type.

Parameters

  type | The type of sub render state to create.

## createSubRenderState() [2/3]

SubRenderState* Ogre::RTShader::ShaderGenerator::createSubRenderState | ( | ScriptCompiler * | compiler,
|  | PropertyAbstractNode * | prop,
|  | Pass * | pass,
|  | SGScriptTranslator * | translator
| ) |  |

protected

Create an instance of the SubRenderState based on script properties using the current sub render state factories.

See also
  SubRenderStateFactory::createInstance

Parameters

  compiler | The compiler instance.
  prop | The abstract property node.
  pass | The pass that is the parent context of this node.
  translator | The translator for the specific SubRenderState

## createSubRenderState() [3/3]

SubRenderState* Ogre::RTShader::ShaderGenerator::createSubRenderState | ( | ScriptCompiler * | compiler,
|  | PropertyAbstractNode * | prop,
|  | TextureUnitState * | texState,
|  | SGScriptTranslator * | translator
| ) |  |

protected

Create an instance of the SubRenderState based on script properties using the current sub render state factories.

See also
  SubRenderStateFactory::createInstance

Parameters

  compiler | The compiler instance.
  prop | The abstract property node.
  texState | The texture unit state that is the parent context of this node.
  translator | The translator for the specific SubRenderState

## createSubRenderStateExFactories()

void Ogre::RTShader::ShaderGenerator::createSubRenderStateExFactories | ( |  | ) |

protected

Create sub render state core extensions factories.

## destroy()

static void Ogre::RTShader::ShaderGenerator::destroy | ( |  | ) |

static

Destroy the Shader Generator instance.

## destroySubRenderState()

void Ogre::RTShader::ShaderGenerator::destroySubRenderState | ( | SubRenderState * | subRenderState | ) |

Destroy an instance of sub render state.

Parameters

  subRenderState | The instance to destroy.

## destroySubRenderStateExFactories()

void Ogre::RTShader::ShaderGenerator::destroySubRenderStateExFactories | ( |  | ) |

protected

Destroy sub render state core extensions factories.

## findMaterialEntryIt() [1/2]

SGMaterialIterator Ogre::RTShader::ShaderGenerator::findMaterialEntryIt | ( | const String & | materialName,
|  | const String & | groupName
| ) |  |

protected

Finds an entry iterator in the mMaterialEntriesMap map.

This function is able to find materials with group specified as AUTODETECT_RESOURCE_GROUP_NAME

## findMaterialEntryIt() [2/2]

SGMaterialConstIterator Ogre::RTShader::ShaderGenerator::findMaterialEntryIt | ( | const String & | materialName,
|  | const String & | groupName
| ) |  | const

protected

## findSourceTechnique()

Technique* Ogre::RTShader::ShaderGenerator::findSourceTechnique | ( | const String & | materialName,
|  | const String & | groupName,
|  | const String & | srcTechniqueSchemeName,
|  | bool | allowProgrammable
| ) |  |

protected

Find source technique to generate shader based technique based on it.

## flushShaderCache()

void Ogre::RTShader::ShaderGenerator::flushShaderCache | ( |  | ) |

Flush the shader cache.

This operation will cause all active sachems to be invalidated and will destroy any CPU/GPU program that created by this shader generator.

## getActiveSceneManager()

SceneManager* Ogre::RTShader::ShaderGenerator::getActiveSceneManager | ( |  | ) |

Get the active scene manager that is doint the actual scene rendering.

This attribute will be update on the call to preFindVisibleObjects.

## getCreateShaderOverProgrammablePass()

bool Ogre::RTShader::ShaderGenerator::getCreateShaderOverProgrammablePass | ( |  | ) | const

Returns whether shaders are created for passes with shaders.

See also
  setCreateShaderOverProgrammablePass().

Definition at line 451 of file OgreShaderGenerator.h.

## getFragmentShaderCount()

size_t Ogre::RTShader::ShaderGenerator::getFragmentShaderCount | ( |  | ) | const

Return the current number of generated fragment shaders.

## getFragmentShaderProfiles()

const String& Ogre::RTShader::ShaderGenerator::getFragmentShaderProfiles | ( |  | ) | const

Get the output fragment shader target profiles.

Definition at line 161 of file OgreShaderGenerator.h.

## getFragmentShaderProfilesList()

const StringVector& Ogre::RTShader::ShaderGenerator::getFragmentShaderProfilesList | ( |  | ) | const

Get the output fragment shader target profiles as list of strings.

Definition at line 166 of file OgreShaderGenerator.h.

## getIsFinalizing()

bool Ogre::RTShader::ShaderGenerator::getIsFinalizing | ( |  | ) | const

protected

Used to check if finalizing.

## getMaterialSerializerListener()

SGMaterialSerializerListener* Ogre::RTShader::ShaderGenerator::getMaterialSerializerListener | ( |  | ) |

Return custom material Serializer of the shader generator.

This is useful when you'd like to export certain material that contains shader generator effects. I.E - when writing an exporter you may want mark your material as shader generated material so in the next time you will load it by your application it will automatically generate shaders with custom attributes you wanted. To do it you'll have to do the following steps:

1. Create shader based technique for you material via the createShaderBasedTechnique() method.
2. Create MaterialSerializer instance.
3. Add the return instance of serializer listener to the MaterialSerializer.
4. Call one of the export methods of MaterialSerializer.

## getNumSubRenderStateFactories()

size_t Ogre::RTShader::ShaderGenerator::getNumSubRenderStateFactories | ( |  | ) | const

Returns the number of existing factories.

## getNumTranslators()

size_t Ogre::RTShader::ShaderGenerator::getNumTranslators | ( |  | ) | const

protected

Return number of script translators.

## getRenderState() [1/3]

RenderState* Ogre::RTShader::ShaderGenerator::getRenderState | ( | const String & | schemeName | ) |

Return a global render state associated with the given scheme name.

Modifying this render state will affect all techniques that belongs to that scheme. This is the best way to apply global changes to all techniques. After altering the render state one should call invalidateScheme method in order to regenerate shaders.

Parameters

  schemeName | The destination scheme name.

## getRenderState() [2/3]

RenderState* Ogre::RTShader::ShaderGenerator::getRenderState | ( | const String & | schemeName,
|  | const String & | materialName,
|  | unsigned short | passIndex
| ) |  |

Get render state of specific pass.

Using this method allows the user to customize the behavior of a specific pass.

Parameters

  schemeName | The destination scheme name.
  materialName | The specific material name.
  passIndex | The pass index.

## getRenderState() [3/3]

RenderState* Ogre::RTShader::ShaderGenerator::getRenderState | ( | const String & | schemeName,
|  | const String & | materialName,
|  | const String & | groupName,
|  | unsigned short | passIndex
| ) |  |

Get render state of specific pass.

Using this method allows the user to customize the behavior of a specific pass.

Parameters

  schemeName | The destination scheme name.
  materialName | The specific material name.
  groupName | The specific material name.
  passIndex | The pass index.

## getRTShaderScheme()

const String& Ogre::RTShader::ShaderGenerator::getRTShaderScheme | ( | size_t | index | ) | const

Returns the scheme name used in the for RT shader generation by index.

## getRTShaderSchemeCount()

size_t Ogre::RTShader::ShaderGenerator::getRTShaderSchemeCount | ( |  | ) | const

Returns the amount of schemes used in the for RT shader generation.

## getShaderCachePath()

const String& Ogre::RTShader::ShaderGenerator::getShaderCachePath | ( |  | ) | const

Get the output shader cache path.

Definition at line 179 of file OgreShaderGenerator.h.

## getSingleton()

static ShaderGenerator& Ogre::RTShader::ShaderGenerator::getSingleton | ( |  | ) |

static

Override standard Singleton retrieval.

Remarks
  Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll.

  This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.

## getSingletonPtr()

static ShaderGenerator* Ogre::RTShader::ShaderGenerator::getSingletonPtr | ( |  | ) |

static

Override standard Singleton retrieval.

Remarks
  Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll.

  This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.

## getSubRenderStateFactory() [1/2]

SubRenderStateFactory* Ogre::RTShader::ShaderGenerator::getSubRenderStateFactory | ( | size_t | index | ) |

Returns a sub render state factory by index.

Note
  index must be lower than the value returned by getNumSubRenderStateFactories()

## getSubRenderStateFactory() [2/2]

SubRenderStateFactory* Ogre::RTShader::ShaderGenerator::getSubRenderStateFactory | ( | const String & | type | ) |

Returns a sub render state factory by name.

## getTargetLanguage()

const String& Ogre::RTShader::ShaderGenerator::getTargetLanguage | ( |  | ) | const

Return the target shader language currently in use.

Definition at line 133 of file OgreShaderGenerator.h.

## getTranslator()

ScriptTranslator* Ogre::RTShader::ShaderGenerator::getTranslator | ( | const AbstractNodePtr & | node | ) |

protected

Return a matching script translator.

## getVertexShaderCount()

size_t Ogre::RTShader::ShaderGenerator::getVertexShaderCount | ( |  | ) | const

Return the current number of generated vertex shaders.

## getVertexShaderOutputsCompactPolicy()

VSOutputCompactPolicy Ogre::RTShader::ShaderGenerator::getVertexShaderOutputsCompactPolicy | ( |  | ) | const

Get the vertex shader outputs compaction policy.

See also
  VSOutputCompactPolicy.

Definition at line 438 of file OgreShaderGenerator.h.

## getVertexShaderProfiles()

const String& Ogre::RTShader::ShaderGenerator::getVertexShaderProfiles | ( |  | ) | const

Get the output vertex shader target profiles.

Definition at line 144 of file OgreShaderGenerator.h.

## getVertexShaderProfilesList()

const StringVector& Ogre::RTShader::ShaderGenerator::getVertexShaderProfilesList | ( |  | ) | const

Get the output vertex shader target profiles as list of strings.

Definition at line 149 of file OgreShaderGenerator.h.

## hasRenderState()

bool Ogre::RTShader::ShaderGenerator::hasRenderState | ( | const String & | schemeName | ) | const

Tells if a given render state exists.

Parameters

  schemeName | The scheme name to check.

## hasShaderBasedTechnique() [1/2]

bool Ogre::RTShader::ShaderGenerator::hasShaderBasedTechnique | ( | const String & | materialName,
|  | const String & | srcTechniqueSchemeName,
|  | const String & | dstTechniqueSchemeName
| ) |  | const

Checks if a shader based technique has been created for a given technique.

Return true if exist. False if not.

Parameters

  materialName | The source material name.
  srcTechniqueSchemeName | The source technique scheme name.
  dstTechniqueSchemeName | The destination shader based technique scheme name.

## hasShaderBasedTechnique() [2/2]

bool Ogre::RTShader::ShaderGenerator::hasShaderBasedTechnique | ( | const String & | materialName,
|  | const String & | groupName,
|  | const String & | srcTechniqueSchemeName,
|  | const String & | dstTechniqueSchemeName
| ) |  | const

Checks if a shader based technique has been created for a given technique.

Return true if exist. False if not.

Parameters

  materialName | The source material name.
  groupName | The source group name.
  srcTechniqueSchemeName | The source technique scheme name.
  dstTechniqueSchemeName | The destination shader based technique scheme name.

## initialize()

static bool Ogre::RTShader::ShaderGenerator::initialize | ( |  | ) |

static

Initialize the Shader Generator System.

Return true upon success.

## invalidateMaterial()

void Ogre::RTShader::ShaderGenerator::invalidateMaterial | ( | const String & | schemeName,
|  | const String & | materialName,
|  | const String & | groupName = `ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME`
| ) |  |

Invalidate specific material scheme.

This action will lead to shader regeneration of the technique belongs to the given scheme name.

Parameters

  schemeName | The scheme to invalidate.
  materialName | The material to invalidate.
  groupName | The source group name.

## invalidateScheme()

void Ogre::RTShader::ShaderGenerator::invalidateScheme | ( | const String & | schemeName | ) |

Invalidate a given scheme.

This action will lead to shader regeneration of all techniques belongs to the given scheme name.

Parameters

  schemeName | The scheme to invalidate.

## isProgrammable()

bool Ogre::RTShader::ShaderGenerator::isProgrammable | ( | Technique * | tech | ) | const

protected

Checks if a given technique has passes with shaders.

## notifyRenderSingleObject()

void Ogre::RTShader::ShaderGenerator::notifyRenderSingleObject | ( | Renderable * | rend,
|  | const Pass * | pass,
|  | const AutoParamDataSource * | source,
|  | const LightList * | pLightList,
|  | bool | suppressRenderStateChanges
| ) |  |

protected

Called from the sub class of the RenderObjectLister when single object is rendered.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) |

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## preFindVisibleObjects()

void Ogre::RTShader::ShaderGenerator::preFindVisibleObjects | ( | SceneManager * | source,
|  | SceneManager::IlluminationRenderStage | irs,
|  | Viewport * | v
| ) |  |

protected

Called from the sub class of the SceneManager::Listener when finding visible object process starts.

## removeAllShaderBasedTechniques() [1/2]

bool Ogre::RTShader::ShaderGenerator::removeAllShaderBasedTechniques | ( | const String & | materialName,
|  | const String & | groupName = `ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME`
| ) |  |

Remove all shader based techniques of the given material.

Return true upon success.

Parameters

  materialName | The source material name.
  groupName | The source group name.

## removeAllShaderBasedTechniques() [2/2]

void Ogre::RTShader::ShaderGenerator::removeAllShaderBasedTechniques | ( |  | ) |

Remove all shader based techniques that created by this shader generator.

## removeCustomScriptTranslator()

bool Ogre::RTShader::ShaderGenerator::removeCustomScriptTranslator | ( | const String & | key | ) |

protected

Remove custom script translator.

Return true upon success.

Parameters

  key | The key name of the translator to remove.

## removeSceneManager()

void Ogre::RTShader::ShaderGenerator::removeSceneManager | ( | SceneManager * | sceneMgr | ) |

Remove a scene manager from the shader generator scene managers list.

Parameters

  sceneMgr | The scene manager to remove from the list.

## removeShaderBasedTechnique() [1/2]

bool Ogre::RTShader::ShaderGenerator::removeShaderBasedTechnique | ( | const String & | materialName,
|  | const String & | srcTechniqueSchemeName,
|  | const String & | dstTechniqueSchemeName
| ) |  |

Remove shader based technique from a given technique.

Return true upon success. Failure may occur if the given source technique was not previously registered successfully using the createShaderBasedTechnique method.

Parameters

  materialName | The source material name.
  srcTechniqueSchemeName | The source technique scheme name.
  dstTechniqueSchemeName | The destination shader based technique scheme name.

## removeShaderBasedTechnique() [2/2]

bool Ogre::RTShader::ShaderGenerator::removeShaderBasedTechnique | ( | const String & | materialName,
|  | const String & | groupName,
|  | const String & | srcTechniqueSchemeName,
|  | const String & | dstTechniqueSchemeName
| ) |  |

Remove shader based technique from a given technique.

Return true upon success. Failure may occur if the given source technique was not previously registered successfully using the createShaderBasedTechnique method.

Parameters

  materialName | The source material name.
  groupName | The source group name.
  srcTechniqueSchemeName | The source technique scheme name.
  dstTechniqueSchemeName | The destination shader based technique scheme name.

## removeSubRenderStateFactory()

void Ogre::RTShader::ShaderGenerator::removeSubRenderStateFactory | ( | SubRenderStateFactory * | factory | ) |

Remove sub render state factory.

Parameters

  factory | The factory to remove.

## serializePassAttributes()

void Ogre::RTShader::ShaderGenerator::serializePassAttributes | ( | MaterialSerializer * | ser,
|  | SGPass * | passEntry
| ) |  |

protected

This method called by instance of SGMaterialSerializerListener and serialize a given pass entry attributes.

Parameters

  ser | The material serializer.
  passEntry | The SGPass instance.

## serializeTextureUnitStateAttributes()

void Ogre::RTShader::ShaderGenerator::serializeTextureUnitStateAttributes | ( | MaterialSerializer * | ser,
|  | SGPass * | passEntry,
|  | const TextureUnitState * | srcTextureUnit
| ) |  |

protected

This method called by instance of SGMaterialSerializerListener and serialize a given textureUnitState entry attributes.

Parameters

  ser | The material serializer.
  passEntry | The SGPass instance.
  srcTextureUnit | The TextureUnitState being serialized.

## setCreateShaderOverProgrammablePass()

void Ogre::RTShader::ShaderGenerator::setCreateShaderOverProgrammablePass | ( | bool | value | ) |

Sets whether shaders are created for passes with shaders.

Note that this only refers to when the system parses the materials itself. Not for when calling the createShaderBasedTechnique() function directly

Parameters

  value | The value to set this attribute pass.

Definition at line 446 of file OgreShaderGenerator.h.

## setFragmentShaderProfiles()

void Ogre::RTShader::ShaderGenerator::setFragmentShaderProfiles | ( | const String & | fragmentShaderProfiles | ) |

Set the output fragment shader target profiles.

Parameters

  fragmentShaderProfiles | The target profiles for the fragment shader.

## setShaderCachePath()

void Ogre::RTShader::ShaderGenerator::setShaderCachePath | ( | const String & | cachePath | ) |

Set the output shader cache path.

Generated shader code will be written to this path. In case of empty cache path shaders will be generated directly from system memory.

Parameters

  cachePath | The cache path of the shader. The default is empty cache path.

## setTargetLanguage()

void Ogre::RTShader::ShaderGenerator::setTargetLanguage | ( | const String & | shaderLanguage | ) |

Set the target shader language.

Parameters

  shaderLanguage | The output shader language to use.

Remarks
  The default shader language is cg.

## setVertexShaderOutputsCompactPolicy()

void Ogre::RTShader::ShaderGenerator::setVertexShaderOutputsCompactPolicy | ( | VSOutputCompactPolicy | policy | ) |

Set the vertex shader outputs compaction policy.

See also
  VSOutputCompactPolicy.

Parameters

  policy | The policy to set.

Definition at line 433 of file OgreShaderGenerator.h.

## setVertexShaderProfiles()

void Ogre::RTShader::ShaderGenerator::setVertexShaderProfiles | ( | const String & | vertexShaderProfiles | ) |

Set the output vertex shader target profiles.

Parameters

  vertexShaderProfiles | The target profiles for the vertex shader.

## validateMaterial()

bool Ogre::RTShader::ShaderGenerator::validateMaterial | ( | const String & | schemeName,
|  | const String & | materialName,
|  | const String & | groupName = `ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME`
| ) |  |

Validate specific material scheme.

This action will generate shader programs for the technique of the given scheme name.

Parameters

  schemeName | The scheme to validate.
  materialName | The material to validate.
  groupName | The source group name.

## validateScheme()

bool Ogre::RTShader::ShaderGenerator::validateScheme | ( | const String & | schemeName | ) |

Validate a given scheme.

This action will generate shader programs for all techniques of the given scheme name.

Parameters

  schemeName | The scheme to validate.

## Friends And Related Function Documentation

## FFPRenderStateBuilder

friend class FFPRenderStateBuilder

friend

Definition at line 1011 of file OgreShaderGenerator.h.

## SGMaterialSerializerListener

friend class SGMaterialSerializerListener

friend

Definition at line 1014 of file OgreShaderGenerator.h.

## SGPass

friend class SGPass

friend

Definition at line 1010 of file OgreShaderGenerator.h.

## SGScriptTranslator

friend class SGScriptTranslator

friend

Definition at line 1013 of file OgreShaderGenerator.h.

## SGScriptTranslatorManager

friend class SGScriptTranslatorManager

friend

Definition at line 1012 of file OgreShaderGenerator.h.

## Member Data Documentation

## DEFAULT_SCHEME_NAME

String Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME

static

Default material scheme of the shader generator.

Definition at line 463 of file OgreShaderGenerator.h.

## mActiveSceneMgr

SceneManager* Ogre::RTShader::ShaderGenerator::mActiveSceneMgr

protected

Definition at line 954 of file OgreShaderGenerator.h.

## mActiveViewportValid

bool Ogre::RTShader::ShaderGenerator::mActiveViewportValid

protected

Definition at line 1000 of file OgreShaderGenerator.h.

## mCoreScriptTranslator

SGScriptTranslator Ogre::RTShader::ShaderGenerator::mCoreScriptTranslator

protected

Definition at line 968 of file OgreShaderGenerator.h.

## mCreateShaderOverProgrammablePass

bool Ogre::RTShader::ShaderGenerator::mCreateShaderOverProgrammablePass

protected

Definition at line 1006 of file OgreShaderGenerator.h.

## mFFPRenderStateBuilder

FFPRenderStateBuilder* Ogre::RTShader::ShaderGenerator::mFFPRenderStateBuilder

protected

Definition at line 988 of file OgreShaderGenerator.h.

## mFragmentShaderProfiles

String Ogre::RTShader::ShaderGenerator::mFragmentShaderProfiles

protected

Definition at line 976 of file OgreShaderGenerator.h.

## mFragmentShaderProfilesList

StringVector Ogre::RTShader::ShaderGenerator::mFragmentShaderProfilesList

protected

Definition at line 978 of file OgreShaderGenerator.h.

## mFSLayer

FileSystemLayer* Ogre::RTShader::ShaderGenerator::mFSLayer

protected

Definition at line 986 of file OgreShaderGenerator.h.

## mIsFinalizing

bool Ogre::RTShader::ShaderGenerator::mIsFinalizing

protected

Definition at line 1008 of file OgreShaderGenerator.h.

## mLightCount

int Ogre::RTShader::ShaderGenerator::mLightCount[3]

protected

Definition at line 1002 of file OgreShaderGenerator.h.

## mMaterialEntriesMap

SGMaterialMap Ogre::RTShader::ShaderGenerator::mMaterialEntriesMap

protected

Definition at line 990 of file OgreShaderGenerator.h.

## mMaterialSerializerListener

SGMaterialSerializerListener* Ogre::RTShader::ShaderGenerator::mMaterialSerializerListener

protected

Definition at line 964 of file OgreShaderGenerator.h.

## mProgramManager

ProgramManager* Ogre::RTShader::ShaderGenerator::mProgramManager

protected

Definition at line 982 of file OgreShaderGenerator.h.

## mProgramWriterManager

ProgramWriterManager* Ogre::RTShader::ShaderGenerator::mProgramWriterManager

protected

Definition at line 984 of file OgreShaderGenerator.h.

## mRenderObjectListener

SGRenderObjectListener* Ogre::RTShader::ShaderGenerator::mRenderObjectListener

protected

Definition at line 958 of file OgreShaderGenerator.h.

## mSceneManagerListener

SGSceneManagerListener* Ogre::RTShader::ShaderGenerator::mSceneManagerListener

protected

Definition at line 960 of file OgreShaderGenerator.h.

## mSceneManagerMap

SceneManagerMap Ogre::RTShader::ShaderGenerator::mSceneManagerMap

protected

Definition at line 956 of file OgreShaderGenerator.h.

## mSchemeEntriesMap

SGSchemeMap Ogre::RTShader::ShaderGenerator::mSchemeEntriesMap

protected

Definition at line 992 of file OgreShaderGenerator.h.

## mScriptTranslatorManager

SGScriptTranslatorManager* Ogre::RTShader::ShaderGenerator::mScriptTranslatorManager

protected

Definition at line 962 of file OgreShaderGenerator.h.

## mScriptTranslatorsMap

SGScriptTranslatorMap Ogre::RTShader::ShaderGenerator::mScriptTranslatorsMap

protected

Definition at line 966 of file OgreShaderGenerator.h.

## mShaderCachePath

String Ogre::RTShader::ShaderGenerator::mShaderCachePath

protected

Definition at line 980 of file OgreShaderGenerator.h.

## mShaderLanguage

String Ogre::RTShader::ShaderGenerator::mShaderLanguage

protected

Definition at line 970 of file OgreShaderGenerator.h.

## msSingleton

ShaderGenerator * Ogre::Singleton< ShaderGenerator >::msSingleton

static protected inherited

Definition at line 75 of file OgreSingleton.h.

## mSubRenderStateExFactories

SubRenderStateFactoryMap Ogre::RTShader::ShaderGenerator::mSubRenderStateExFactories

protected

Definition at line 998 of file OgreShaderGenerator.h.

## mSubRenderStateFactories

SubRenderStateFactoryMap Ogre::RTShader::ShaderGenerator::mSubRenderStateFactories

protected

Definition at line 996 of file OgreShaderGenerator.h.

## mTechniqueEntriesMap

SGTechniqueMap Ogre::RTShader::ShaderGenerator::mTechniqueEntriesMap

protected

Definition at line 994 of file OgreShaderGenerator.h.

## mVertexShaderProfiles

String Ogre::RTShader::ShaderGenerator::mVertexShaderProfiles

protected

Definition at line 972 of file OgreShaderGenerator.h.

## mVertexShaderProfilesList

StringVector Ogre::RTShader::ShaderGenerator::mVertexShaderProfilesList

protected

Definition at line 974 of file OgreShaderGenerator.h.

## mVSOutputCompactPolicy

VSOutputCompactPolicy Ogre::RTShader::ShaderGenerator::mVSOutputCompactPolicy

protected

Definition at line 1004 of file OgreShaderGenerator.h.

## OGRE_AUTO_MUTEX

Ogre::RTShader::ShaderGenerator::OGRE_AUTO_MUTEX

protected

Definition at line 952 of file OgreShaderGenerator.h.

The documentation for this class was generated from the following file:

- OgreShaderGenerator.h

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