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 More... | |
virtual | ~MaterialSerializer () |
default destructor More... | |
void | addListener (Listener *listener) |
Register a listener to this Serializer. More... | |
void | beginSection (unsigned short level, const bool useMainBuffer=true) |
void | clearQueue () |
Clears the internal buffer. More... | |
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. More... | |
void | exportQueued (const String &filename, const bool includeProgDef=false, const String &programFilename="") |
Exports queued material(s) to a named material script file. More... | |
const String & | getQueuedAsString () const |
Returns a string representing the parsed material(s) 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) |
void | parseScript (DataStreamPtr &stream, const String &groupName) |
Parses a Material script file passed as a stream. More... | |
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. More... | |
String | quoteWord (const String &val) |
void | removeListener (Listener *listener) |
Remove a listener from this Serializer. More... | |
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. More... | |
typedef multimap < TextureUnitState::TextureEffectType, TextureUnitState::TextureEffect > ::type | EffectMap |
typedef vector< Listener * >::type | ListenerList |
Listeners list of this Serializer. More... | |
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. More... | |
void | fireGpuProgramRefEvent (SerializeEvent event, bool &skip, const String &attrib, const GpuProgramPtr &program, const GpuProgramParametersSharedPtr ¶ms, GpuProgramParameters *defaultParams) |
Internal methods that invokes registered listeners callback. More... | |
void | fireMaterialEvent (SerializeEvent event, bool &skip, const Material *mat) |
Internal methods that invokes registered listeners callback. More... | |
void | firePassEvent (SerializeEvent event, bool &skip, const Pass *pass) |
Internal methods that invokes registered listeners callback. More... | |
void | fireTechniqueEvent (SerializeEvent event, bool &skip, const Technique *tech) |
Internal methods that invokes registered listeners callback. More... | |
void | fireTextureUnitStateEvent (SerializeEvent event, bool &skip, const TextureUnitState *textureUnit) |
Internal methods that invokes registered listeners callback. More... | |
bool | invokeParser (String &line, AttribParserList &parsers) |
internal method for finding & invoking an attribute parser. More... | |
bool | parseScriptLine (String &line) |
internal method for parsing a material More... | |
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, 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. More... | |
AttribParserList | mPassAttribParsers |
Parsers for the pass section of a script. More... | |
AttribParserList | mProgramAttribParsers |
Parsers for the program definition section of a script. More... | |
AttribParserList | mProgramDefaultParamAttribParsers |
Parsers for the program definition section of a script. More... | |
AttribParserList | mProgramRefAttribParsers |
Parsers for the program reference section of a script. More... | |
AttribParserList | mRootAttribParsers |
Parsers for the root of the material script. More... | |
MaterialScriptContext | mScriptContext |
AttribParserList | mTechniqueAttribParsers |
Parsers for the technique section of a script. More... | |
AttribParserList | mTextureUnitAttribParsers |
Parsers for the texture unit section of a script. More... | |
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
|
inlinevirtual |
default destructor
Definition at line 321 of file OgreMaterialSerializer.h.
void Ogre::MaterialSerializer::addListener | ( | Listener * | listener | ) |
Register a listener to this Serializer.
|
inline |
Definition at line 385 of file OgreMaterialSerializer.h.
void Ogre::MaterialSerializer::clearQueue | ( | ) |
Clears the internal buffer.
|
protected |
|
inline |
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. |
|
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.
|
inlineinherited |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 90 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.
|
inline |
Definition at line 406 of file OgreMaterialSerializer.h.
|
protected |
|
inline |
Definition at line 431 of file OgreMaterialSerializer.h.
|
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 |
|
inline |
Definition at line 417 of file OgreMaterialSerializer.h.
|
protected |
|
private |
Definition at line 377 of file OgreMaterialSerializer.h.
|
private |
Definition at line 382 of file OgreMaterialSerializer.h.
|
private |
Definition at line 378 of file OgreMaterialSerializer.h.
|
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.