Class for serializing Materials to / from a .material script. More...
#include <OgreMaterialSerializer.h>

Classes | |
| class | Listener |
| Class that allows listening in on the various stages of material serialization process. More... | |
Public Types | |
| enum | SerializeEvent { MSE_PRE_WRITE, MSE_WRITE_BEGIN, MSE_WRITE_END, MSE_POST_WRITE } |
Public Member Functions | |
| MaterialSerializer () | |
| default constructor | |
| virtual | ~MaterialSerializer () |
| default destructor | |
| void | addListener (Listener *listener) |
| Register a listener to this Serializer. | |
| void | beginSection (unsigned short level, const bool useMainBuffer=true) |
| void | clearQueue () |
| Clears the internal buffer. | |
| void | endSection (unsigned short level, const bool useMainBuffer=true) |
| void | exportMaterial (const MaterialPtr &pMat, const String &filename, bool exportDefaults=false, const bool includeProgDef=false, const String &programFilename="", const String &materialName="") |
| Exports a single in-memory Material to the named material script file. | |
| void | exportQueued (const String &filename, const bool includeProgDef=false, const String &programFilename="") |
| Exports queued material(s) to a named material script file. | |
| const String & | getQueuedAsString () const |
| Returns a string representing the parsed material(s) | |
| 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 | |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void * | operator new[] (size_t sz) |
| void | parseScript (DataStreamPtr &stream, const String &groupName) |
| Parses a Material script file passed as a stream. | |
| void | queueForExport (const MaterialPtr &pMat, bool clearQueued=false, bool exportDefaults=false, const String &materialName="") |
| Queue an in-memory Material to the internal buffer for export. | |
| String | quoteWord (const String &val) |
| void | removeListener (Listener *listener) |
| Remove a listener from this Serializer. | |
| void | writeAttribute (unsigned short level, const String &att, const bool useMainBuffer=true) |
| void | writeComment (unsigned short level, const String &comment, const bool useMainBuffer=true) |
| void | writeValue (const String &val, const bool useMainBuffer=true) |
Protected Types | |
| typedef map< String, ATTRIBUTE_PARSER >::type | AttribParserList |
| Keyword-mapped attribute parsers. | |
| typedef multimap < TextureUnitState::TextureEffectType, TextureUnitState::TextureEffect > ::type | EffectMap |
| typedef vector< Listener * >::type | ListenerList |
| Listeners list of this Serializer. | |
| typedef ListenerList::const_iterator | ListenerListConstIterator |
| typedef ListenerList::iterator | ListenerListIterator |
Protected Member Functions | |
| String | convertFiltering (FilterOptions fo) |
| void | finishProgramDefinition (void) |
| Internal method for saving a program definition which has been built up. | |
| void | fireGpuProgramRefEvent (SerializeEvent event, bool &skip, const String &attrib, const GpuProgramPtr &program, const GpuProgramParametersSharedPtr ¶ms, GpuProgramParameters *defaultParams) |
| Internal methods that invokes registered listeners callback. | |
| void | fireMaterialEvent (SerializeEvent event, bool &skip, const Material *mat) |
| Internal methods that invokes registered listeners callback. | |
| void | firePassEvent (SerializeEvent event, bool &skip, const Pass *pass) |
| Internal methods that invokes registered listeners callback. | |
| void | fireTechniqueEvent (SerializeEvent event, bool &skip, const Technique *tech) |
| Internal methods that invokes registered listeners callback. | |
| void | fireTextureUnitStateEvent (SerializeEvent event, bool &skip, const TextureUnitState *textureUnit) |
| Internal methods that invokes registered listeners callback. | |
| bool | invokeParser (String &line, AttribParserList &parsers) |
| internal method for finding & invoking an attribute parser. | |
| bool | parseScriptLine (String &line) |
| internal method for parsing a material | |
| void | writeColourValue (const ColourValue &colour, bool writeAlpha=false) |
| void | writeCompareFunction (const CompareFunction cf) |
| void | writeEnvironmentMapEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex) |
| void | writeFragmentProgramRef (const Pass *pPass) |
| void | writeGpuProgramParameter (const String &commandName, const String &identifier, const GpuProgramParameters::AutoConstantEntry *autoEntry, const GpuProgramParameters::AutoConstantEntry *defaultAutoEntry, bool isFloat, bool isDouble, size_t physicalIndex, size_t physicalSize, const GpuProgramParametersSharedPtr ¶ms, GpuProgramParameters *defaultParams, const unsigned short level, const bool useMainBuffer) |
| void | writeGPUProgramParameters (const GpuProgramParametersSharedPtr ¶ms, GpuProgramParameters *defaultParams, const unsigned short level=4, const bool useMainBuffer=true) |
| void | writeGpuProgramRef (const String &attrib, const GpuProgramPtr &program, const GpuProgramParametersSharedPtr ¶ms) |
| void | writeGpuPrograms (void) |
| void | writeLayerBlendOperationEx (const LayerBlendOperationEx op) |
| void | writeLayerBlendSource (const LayerBlendSource lbs) |
| void | writeLowLevelGpuProgramParameters (const GpuProgramParametersSharedPtr ¶ms, GpuProgramParameters *defaultParams, const unsigned short level=4, const bool useMainBuffer=true) |
| void | writeMaterial (const MaterialPtr &pMat, const String &materialName="") |
| void | writeNamedGpuProgramParameters (const GpuProgramParametersSharedPtr ¶ms, GpuProgramParameters *defaultParams, const unsigned short level=4, const bool useMainBuffer=true) |
| void | writePass (const Pass *pPass) |
| void | writeRotationEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex) |
| void | writeSceneBlendFactor (const SceneBlendFactor c_src, const SceneBlendFactor c_dest, const SceneBlendFactor a_src, const SceneBlendFactor a_dest) |
| void | writeSceneBlendFactor (const SceneBlendFactor sbf_src, const SceneBlendFactor sbf_dest) |
| void | writeSceneBlendFactor (const SceneBlendFactor sbf) |
| void | writeScrollEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex) |
| void | writeShadowCasterFragmentProgramRef (const Pass *pPass) |
| void | writeShadowCasterVertexProgramRef (const Pass *pPass) |
| void | writeShadowReceiverFragmentProgramRef (const Pass *pPass) |
| void | writeShadowReceiverVertexProgramRef (const Pass *pPass) |
| void | writeTechnique (const Technique *pTech) |
| void | writeTextureUnit (const TextureUnitState *pTex) |
| void | writeTransformEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex) |
| void | writeVertexProgramRef (const Pass *pPass) |
Protected Attributes | |
| ListenerList | mListeners |
| AttribParserList | mMaterialAttribParsers |
| Parsers for the material section of a script. | |
| AttribParserList | mPassAttribParsers |
| Parsers for the pass section of a script. | |
| AttribParserList | mProgramAttribParsers |
| Parsers for the program definition section of a script. | |
| AttribParserList | mProgramDefaultParamAttribParsers |
| Parsers for the program definition section of a script. | |
| AttribParserList | mProgramRefAttribParsers |
| Parsers for the program reference section of a script. | |
| AttribParserList | mRootAttribParsers |
| Parsers for the root of the material script. | |
| MaterialScriptContext | mScriptContext |
| AttribParserList | mTechniqueAttribParsers |
| Parsers for the technique section of a script. | |
| AttribParserList | mTextureUnitAttribParsers |
| Parsers for the texture unit section of a script. | |
Private Types | |
| typedef set< String >::type | GpuProgramDefinitionContainer |
| typedef GpuProgramDefinitionContainer::iterator | GpuProgramDefIterator |
Private Attributes | |
| String | mBuffer |
| bool | mDefaults |
| String | mGpuProgramBuffer |
| GpuProgramDefinitionContainer | mGpuProgramDefinitionContainer |
Class for serializing Materials to / from a .material script.
Definition at line 106 of file OgreMaterialSerializer.h.
typedef map<String, ATTRIBUTE_PARSER>::type Ogre::MaterialSerializer::AttribParserList [protected] |
Keyword-mapped attribute parsers.
Definition at line 205 of file OgreMaterialSerializer.h.
typedef multimap<TextureUnitState::TextureEffectType, TextureUnitState::TextureEffect>::type Ogre::MaterialSerializer::EffectMap [protected] |
Definition at line 277 of file OgreMaterialSerializer.h.
typedef set<String>::type Ogre::MaterialSerializer::GpuProgramDefinitionContainer [private] |
Definition at line 379 of file OgreMaterialSerializer.h.
typedef GpuProgramDefinitionContainer::iterator Ogre::MaterialSerializer::GpuProgramDefIterator [private] |
Definition at line 380 of file OgreMaterialSerializer.h.
typedef vector<Listener*>::type Ogre::MaterialSerializer::ListenerList [protected] |
Listeners list of this Serializer.
Definition at line 237 of file OgreMaterialSerializer.h.
typedef ListenerList::const_iterator Ogre::MaterialSerializer::ListenerListConstIterator [protected] |
Definition at line 239 of file OgreMaterialSerializer.h.
typedef ListenerList::iterator Ogre::MaterialSerializer::ListenerListIterator [protected] |
Definition at line 238 of file OgreMaterialSerializer.h.
Definition at line 111 of file OgreMaterialSerializer.h.
default constructor
| virtual Ogre::MaterialSerializer::~MaterialSerializer | ( | ) | [virtual] |
default destructor
Definition at line 321 of file OgreMaterialSerializer.h.
| void Ogre::MaterialSerializer::addListener | ( | Listener * | listener | ) |
Register a listener to this Serializer.
| void Ogre::MaterialSerializer::beginSection | ( | unsigned short | level, |
| const bool | useMainBuffer = true |
||
| ) |
Definition at line 385 of file OgreMaterialSerializer.h.
| void Ogre::MaterialSerializer::clearQueue | ( | ) |
Clears the internal buffer.
| String Ogre::MaterialSerializer::convertFiltering | ( | FilterOptions | fo | ) | [protected] |
| void Ogre::MaterialSerializer::endSection | ( | unsigned short | level, |
| const bool | useMainBuffer = true |
||
| ) |
Definition at line 395 of file OgreMaterialSerializer.h.
| void Ogre::MaterialSerializer::exportMaterial | ( | const MaterialPtr & | pMat, |
| const String & | filename, | ||
| bool | exportDefaults = false, |
||
| const bool | includeProgDef = false, |
||
| const String & | programFilename = "", |
||
| const String & | materialName = "" |
||
| ) |
Exports a single in-memory Material to the named material script file.
| exportDefaults | if true then exports all values including defaults |
| includeProgDef | if true includes Gpu shader program definitions in the export material script otherwise if false then program definitions will be exported to a separate file with name programFilename if programFilename is not empty |
| programFilename | the file name of the vertex / fragment program script to be exported. This is only used if includeProgDef is false. |
| materialName | Allow exporting the given material under a different name. In case of empty string the original material name will be used. |
| void Ogre::MaterialSerializer::exportQueued | ( | const String & | filename, |
| const bool | includeProgDef = false, |
||
| const String & | programFilename = "" |
||
| ) |
Exports queued material(s) to a named material script file.
| filename | the file name of the material script to be exported |
| includeProgDef | If true, vertex program and fragment program definitions will be written at the top of the material script |
| programFilename | the file name of the vertex / fragment program script to be exported. This is only used if there are program definitions to be exported and includeProgDef is false when calling queueForExport. |
| void Ogre::MaterialSerializer::finishProgramDefinition | ( | void | ) | [protected] |
Internal method for saving a program definition which has been built up.
| void Ogre::MaterialSerializer::fireGpuProgramRefEvent | ( | SerializeEvent | event, |
| bool & | skip, | ||
| const String & | attrib, | ||
| const GpuProgramPtr & | program, | ||
| const GpuProgramParametersSharedPtr & | params, | ||
| GpuProgramParameters * | defaultParams | ||
| ) | [protected] |
Internal methods that invokes registered listeners callback.
| void Ogre::MaterialSerializer::fireMaterialEvent | ( | SerializeEvent | event, |
| bool & | skip, | ||
| const Material * | mat | ||
| ) | [protected] |
Internal methods that invokes registered listeners callback.
| void Ogre::MaterialSerializer::firePassEvent | ( | SerializeEvent | event, |
| bool & | skip, | ||
| const Pass * | pass | ||
| ) | [protected] |
Internal methods that invokes registered listeners callback.
| void Ogre::MaterialSerializer::fireTechniqueEvent | ( | SerializeEvent | event, |
| bool & | skip, | ||
| const Technique * | tech | ||
| ) | [protected] |
Internal methods that invokes registered listeners callback.
| void Ogre::MaterialSerializer::fireTextureUnitStateEvent | ( | SerializeEvent | event, |
| bool & | skip, | ||
| const TextureUnitState * | textureUnit | ||
| ) | [protected] |
Internal methods that invokes registered listeners callback.
| const String& Ogre::MaterialSerializer::getQueuedAsString | ( | ) | const |
Returns a string representing the parsed material(s)
| bool Ogre::MaterialSerializer::invokeParser | ( | String & | line, |
| AttribParserList & | parsers | ||
| ) | [protected] |
internal method for finding & invoking an attribute parser.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
| void * | |||
| ) | [inherited] |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
| const char * | , | ||
| int | , | ||
| const char * | |||
| ) | [inherited] |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, |
| const char * | , | ||
| int | , | ||
| const char * | |||
| ) | [inherited] |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
| 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.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
| void * | ptr | ||
| ) | [inherited] |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
| 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.
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
| void Ogre::MaterialSerializer::parseScript | ( | DataStreamPtr & | stream, |
| const String & | groupName | ||
| ) |
Parses a Material script file passed as a stream.
| bool Ogre::MaterialSerializer::parseScriptLine | ( | String & | line | ) | [protected] |
internal method for parsing a material
| void Ogre::MaterialSerializer::queueForExport | ( | const MaterialPtr & | pMat, |
| bool | clearQueued = false, |
||
| bool | exportDefaults = false, |
||
| const String & | materialName = "" |
||
| ) |
Queue an in-memory Material to the internal buffer for export.
| pMat | Material pointer |
| clearQueued | If true, any materials already queued will be removed |
| exportDefaults | If true, attributes which are defaulted will be included in the script exported, otherwise they will be omitted |
| materialName | Allow exporting the given material under a different name. In case of empty string the original material name will be used. |
| String Ogre::MaterialSerializer::quoteWord | ( | const String & | val | ) |
Definition at line 423 of file OgreMaterialSerializer.h.
| void Ogre::MaterialSerializer::removeListener | ( | Listener * | listener | ) |
Remove a listener from this Serializer.
| void Ogre::MaterialSerializer::writeAttribute | ( | unsigned short | level, |
| const String & | att, | ||
| const bool | useMainBuffer = true |
||
| ) |
Definition at line 406 of file OgreMaterialSerializer.h.
| void Ogre::MaterialSerializer::writeColourValue | ( | const ColourValue & | colour, |
| bool | writeAlpha = false |
||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeComment | ( | unsigned short | level, |
| const String & | comment, | ||
| const bool | useMainBuffer = true |
||
| ) |
Definition at line 431 of file OgreMaterialSerializer.h.
| void Ogre::MaterialSerializer::writeCompareFunction | ( | const CompareFunction | cf | ) | [protected] |
| void Ogre::MaterialSerializer::writeEnvironmentMapEffect | ( | const TextureUnitState::TextureEffect & | effect, |
| const TextureUnitState * | pTex | ||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeFragmentProgramRef | ( | const Pass * | pPass | ) | [protected] |
| void Ogre::MaterialSerializer::writeGpuProgramParameter | ( | const String & | commandName, |
| const String & | identifier, | ||
| const GpuProgramParameters::AutoConstantEntry * | autoEntry, | ||
| const GpuProgramParameters::AutoConstantEntry * | defaultAutoEntry, | ||
| bool | isFloat, | ||
| bool | isDouble, | ||
| size_t | physicalIndex, | ||
| size_t | physicalSize, | ||
| const GpuProgramParametersSharedPtr & | params, | ||
| GpuProgramParameters * | defaultParams, | ||
| const unsigned short | level, | ||
| const bool | useMainBuffer | ||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeGPUProgramParameters | ( | const GpuProgramParametersSharedPtr & | params, |
| GpuProgramParameters * | defaultParams, | ||
| const unsigned short | level = 4, |
||
| const bool | useMainBuffer = true |
||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeGpuProgramRef | ( | const String & | attrib, |
| const GpuProgramPtr & | program, | ||
| const GpuProgramParametersSharedPtr & | params | ||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeGpuPrograms | ( | void | ) | [protected] |
| void Ogre::MaterialSerializer::writeLayerBlendOperationEx | ( | const LayerBlendOperationEx | op | ) | [protected] |
| void Ogre::MaterialSerializer::writeLayerBlendSource | ( | const LayerBlendSource | lbs | ) | [protected] |
| void Ogre::MaterialSerializer::writeLowLevelGpuProgramParameters | ( | const GpuProgramParametersSharedPtr & | params, |
| GpuProgramParameters * | defaultParams, | ||
| const unsigned short | level = 4, |
||
| const bool | useMainBuffer = true |
||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeMaterial | ( | const MaterialPtr & | pMat, |
| const String & | materialName = "" |
||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeNamedGpuProgramParameters | ( | const GpuProgramParametersSharedPtr & | params, |
| GpuProgramParameters * | defaultParams, | ||
| const unsigned short | level = 4, |
||
| const bool | useMainBuffer = true |
||
| ) | [protected] |
| void Ogre::MaterialSerializer::writePass | ( | const Pass * | pPass | ) | [protected] |
| void Ogre::MaterialSerializer::writeRotationEffect | ( | const TextureUnitState::TextureEffect & | effect, |
| const TextureUnitState * | pTex | ||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeSceneBlendFactor | ( | const SceneBlendFactor | c_src, |
| const SceneBlendFactor | c_dest, | ||
| const SceneBlendFactor | a_src, | ||
| const SceneBlendFactor | a_dest | ||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeSceneBlendFactor | ( | const SceneBlendFactor | sbf_src, |
| const SceneBlendFactor | sbf_dest | ||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeSceneBlendFactor | ( | const SceneBlendFactor | sbf | ) | [protected] |
| void Ogre::MaterialSerializer::writeScrollEffect | ( | const TextureUnitState::TextureEffect & | effect, |
| const TextureUnitState * | pTex | ||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeShadowCasterFragmentProgramRef | ( | const Pass * | pPass | ) | [protected] |
| void Ogre::MaterialSerializer::writeShadowCasterVertexProgramRef | ( | const Pass * | pPass | ) | [protected] |
| void Ogre::MaterialSerializer::writeShadowReceiverFragmentProgramRef | ( | const Pass * | pPass | ) | [protected] |
| void Ogre::MaterialSerializer::writeShadowReceiverVertexProgramRef | ( | const Pass * | pPass | ) | [protected] |
| void Ogre::MaterialSerializer::writeTechnique | ( | const Technique * | pTech | ) | [protected] |
| void Ogre::MaterialSerializer::writeTextureUnit | ( | const TextureUnitState * | pTex | ) | [protected] |
| void Ogre::MaterialSerializer::writeTransformEffect | ( | const TextureUnitState::TextureEffect & | effect, |
| const TextureUnitState * | pTex | ||
| ) | [protected] |
| void Ogre::MaterialSerializer::writeValue | ( | const String & | val, |
| const bool | useMainBuffer = true |
||
| ) |
Definition at line 417 of file OgreMaterialSerializer.h.
| void Ogre::MaterialSerializer::writeVertexProgramRef | ( | const Pass * | pPass | ) | [protected] |
String Ogre::MaterialSerializer::mBuffer [private] |
Definition at line 377 of file OgreMaterialSerializer.h.
bool Ogre::MaterialSerializer::mDefaults [private] |
Definition at line 382 of file OgreMaterialSerializer.h.
Definition at line 378 of file OgreMaterialSerializer.h.
Definition at line 381 of file OgreMaterialSerializer.h.
ListenerList Ogre::MaterialSerializer::mListeners [protected] |
Definition at line 240 of file OgreMaterialSerializer.h.
Parsers for the material section of a script.
Definition at line 222 of file OgreMaterialSerializer.h.
Parsers for the pass section of a script.
Definition at line 226 of file OgreMaterialSerializer.h.
Parsers for the program definition section of a script.
Definition at line 232 of file OgreMaterialSerializer.h.
Parsers for the program definition section of a script.
Definition at line 234 of file OgreMaterialSerializer.h.
Parsers for the program reference section of a script.
Definition at line 230 of file OgreMaterialSerializer.h.
Parsers for the root of the material script.
Definition at line 220 of file OgreMaterialSerializer.h.
Definition at line 207 of file OgreMaterialSerializer.h.
Parsers for the technique section of a script.
Definition at line 224 of file OgreMaterialSerializer.h.
Parsers for the texture unit section of a script.
Definition at line 228 of file OgreMaterialSerializer.h.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:41:20