|
OGRE
1.9.0
|
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 | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz) |
| 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, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz) |
| 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, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| 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) |
| void | writeSceneBlendFactor (const SceneBlendFactor sbf_src, const SceneBlendFactor sbf_dest) |
| 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.
|
protected |
Keyword-mapped attribute parsers.
Definition at line 205 of file OgreMaterialSerializer.h.
|
protected |
Definition at line 277 of file OgreMaterialSerializer.h.
|
private |
Definition at line 379 of file OgreMaterialSerializer.h.
|
private |
Definition at line 380 of file OgreMaterialSerializer.h.
|
protected |
Listeners list of this Serializer.
Definition at line 237 of file OgreMaterialSerializer.h.
|
protected |
Definition at line 239 of file OgreMaterialSerializer.h.
|
protected |
Definition at line 238 of file OgreMaterialSerializer.h.
| Enumerator | |
|---|---|
| MSE_PRE_WRITE | |
| MSE_WRITE_BEGIN | |
| MSE_WRITE_END | |
| MSE_POST_WRITE | |
Definition at line 111 of file OgreMaterialSerializer.h.
| Ogre::MaterialSerializer::MaterialSerializer | ( | ) |
default constructor
Referenced by Ogre::MaterialSerializer::Listener::gpuProgramRefEventRaised(), Ogre::MaterialSerializer::Listener::materialEventRaised(), Ogre::MaterialSerializer::Listener::passEventRaised(), Ogre::MaterialSerializer::Listener::techniqueEventRaised(), and Ogre::MaterialSerializer::Listener::textureUnitStateEventRaised().
|
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.
References mBuffer, and mGpuProgramBuffer.
| void Ogre::MaterialSerializer::clearQueue | ( | ) |
Clears the internal buffer.
|
protected |
| void Ogre::MaterialSerializer::endSection | ( | unsigned short | level, |
| const bool | useMainBuffer = true ) |
Definition at line 395 of file OgreMaterialSerializer.h.
References mBuffer, and mGpuProgramBuffer.
| 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. |
|
protected |
Internal method for saving a program definition which has been built up.
|
protected |
Internal methods that invokes registered listeners callback.
|
protected |
Internal methods that invokes registered listeners callback.
|
protected |
Internal methods that invokes registered listeners callback.
|
protected |
Internal methods that invokes registered listeners callback.
|
protected |
Internal methods that invokes registered listeners callback.
| const String & Ogre::MaterialSerializer::getQueuedAsString | ( | ) | const |
Returns a string representing the parsed material(s)
|
protected |
internal method for finding & invoking an attribute parser.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
| void Ogre::MaterialSerializer::parseScript | ( | DataStreamPtr & | stream, |
| const String & | groupName ) |
Parses a Material script file passed as a stream.
|
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. |
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.
References mBuffer, and mGpuProgramBuffer.
|
protected |
| void Ogre::MaterialSerializer::writeComment | ( | unsigned short | level, |
| const String & | comment, | ||
| const bool | useMainBuffer = true ) |
Definition at line 431 of file OgreMaterialSerializer.h.
References mBuffer, and mGpuProgramBuffer.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| void Ogre::MaterialSerializer::writeValue | ( | const String & | val, |
| const bool | useMainBuffer = true ) |
Definition at line 417 of file OgreMaterialSerializer.h.
References mBuffer, and mGpuProgramBuffer.
|
protected |
|
private |
Definition at line 377 of file OgreMaterialSerializer.h.
Referenced by beginSection(), endSection(), writeAttribute(), writeComment(), and writeValue().
|
private |
Definition at line 382 of file OgreMaterialSerializer.h.
|
private |
Definition at line 378 of file OgreMaterialSerializer.h.
Referenced by beginSection(), endSection(), writeAttribute(), writeComment(), and writeValue().
|
private |
Definition at line 381 of file OgreMaterialSerializer.h.
|
protected |
Definition at line 240 of file OgreMaterialSerializer.h.
|
protected |
Parsers for the material section of a script.
Definition at line 222 of file OgreMaterialSerializer.h.
|
protected |
Parsers for the pass section of a script.
Definition at line 226 of file OgreMaterialSerializer.h.
|
protected |
Parsers for the program definition section of a script.
Definition at line 232 of file OgreMaterialSerializer.h.
|
protected |
Parsers for the program definition section of a script.
Definition at line 234 of file OgreMaterialSerializer.h.
|
protected |
Parsers for the program reference section of a script.
Definition at line 230 of file OgreMaterialSerializer.h.
|
protected |
Parsers for the root of the material script.
Definition at line 220 of file OgreMaterialSerializer.h.
|
protected |
Definition at line 207 of file OgreMaterialSerializer.h.
|
protected |
Parsers for the technique section of a script.
Definition at line 224 of file OgreMaterialSerializer.h.
|
protected |
Parsers for the texture unit section of a script.
Definition at line 228 of file OgreMaterialSerializer.h.
1.13.2