#include <OgreMaterialSerializer.h>
Public Methods | |
MaterialSerializer () | |
default constructor | |
virtual | ~MaterialSerializer () |
default destructor | |
void | queueForExport (const Material *pMat, bool clearQueued=false, bool exportDefaults=false) |
Queue an in-memory Material to the internal buffer for export. | |
void | exportQueued (const String &filename) |
Exports queued material(s) to a named material script file. | |
void | exportMaterial (const Material *pMat, const String &filename, bool exportDefaults=false) |
Exports an in-memory Material to the named material script file. | |
const String & | getQueuedAsString () const |
Returns a string representing the parsed material(s). | |
void | clearQueue () |
Clears the internal buffer. | |
void | parseScript (DataChunk &chunk, const String &filename="") |
Parses a Material script file passed as a chunk. | |
Protected Types | |
typedef std::map< String, ATTRIBUTE_PARSER > | AttribParserList |
Keyword-mapped attribute parsers. | |
typedef std::multimap< TextureUnitState::TextureEffectType, TextureUnitState::TextureEffect > | EffectMap |
Protected Methods | |
bool | parseScriptLine (String &line) |
internal method for parsing a material | |
bool | invokeParser (String &line, AttribParserList &parsers) |
internal method for finding & invoking an attribute parser. | |
void | finishProgramDefinition (void) |
Internal method for saving a program definition which has been built up. | |
void | writeMaterial (const Material *pMat) |
void | writeTechnique (const Technique *pTech) |
void | writePass (const Pass *pPass) |
void | writeTextureUnit (const TextureUnitState *pTex) |
void | writeSceneBlendFactor (const SceneBlendFactor sbf_src, const SceneBlendFactor sbf_dest) |
void | writeSceneBlendFactor (const SceneBlendFactor sbf) |
void | writeCompareFunction (const CompareFunction cf) |
void | writeColourValue (const ColourValue &colour, bool writeAlpha=false) |
void | writeLayerBlendOperationEx (const LayerBlendOperationEx op) |
void | writeLayerBlendSource (const LayerBlendSource lbs) |
void | writeRotationEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex) |
void | writeTransformEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex) |
void | writeScrollEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex) |
void | writeEnvironmentMapEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex) |
String | convertFiltering (FilterOptions fo) |
Protected Attributes | |
MaterialScriptContext | mScriptContext |
AttribParserList | mRootAttribParsers |
Parsers for the root of the material script. | |
AttribParserList | mMaterialAttribParsers |
Parsers for the material section of a script. | |
AttribParserList | mTechniqueAttribParsers |
Parsers for the technique section of a script. | |
AttribParserList | mPassAttribParsers |
Parsers for the pass section of a script. | |
AttribParserList | mTextureUnitAttribParsers |
Parsers for the texture unit section of a script. | |
AttribParserList | mProgramRefAttribParsers |
Parsers for the program reference 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. | |
Private Methods | |
void | beginSection (unsigned short level) |
void | endSection (unsigned short level) |
void | writeAttribute (unsigned short level, const String &att) |
void | writeValue (const String &val) |
void | writeComment (unsigned short level, const String &comment) |
Private Attributes | |
String | mBuffer |
bool | mDefaults |
Definition at line 88 of file OgreMaterialSerializer.h.
|
Keyword-mapped attribute parsers.
Definition at line 92 of file OgreMaterialSerializer.h. |
|
Definition at line 135 of file OgreMaterialSerializer.h. Referenced by writeTextureUnit(). |
|
|
default destructor
Definition at line 147 of file OgreMaterialSerializer.h. |
|
Definition at line 173 of file OgreMaterialSerializer.h. Referenced by writeMaterial(), writePass(), writeTechnique(), and writeTextureUnit(). |
|
Clears the internal buffer.
Definition at line 2355 of file OgreMaterialSerializer.cpp. References mBuffer. Referenced by exportMaterial(), exportQueued(), and queueForExport(). |
|
Definition at line 2675 of file OgreMaterialSerializer.cpp. References Ogre::FilterOptions, Ogre::FO_ANISOTROPIC, Ogre::FO_LINEAR, Ogre::FO_NONE, Ogre::FO_POINT, and Ogre::String. Referenced by writeTextureUnit(). |
|
Definition at line 182 of file OgreMaterialSerializer.h. Referenced by writeMaterial(), writePass(), writeTechnique(), and writeTextureUnit(). |
|
Exports an in-memory Material to the named material script file.
Definition at line 2320 of file OgreMaterialSerializer.cpp. References clearQueue(), exportQueued(), mDefaults, Ogre::String, and writeMaterial(). |
|
Exports queued material(s) to a named material script file.
Definition at line 2328 of file OgreMaterialSerializer.cpp. References clearQueue(), Except, Ogre::LML_CRITICAL, mBuffer, and Ogre::String. Referenced by exportMaterial(). |
|
|
Returns a string representing the parsed material(s).
Definition at line 2360 of file OgreMaterialSerializer.cpp. References mBuffer, and Ogre::String. |
|
internal method for finding & invoking an attribute parser.
Definition at line 2297 of file OgreMaterialSerializer.cpp. References Ogre::logParseError(), mScriptContext, Ogre::String, and Ogre::StringVector. Referenced by parseScriptLine(). |
|
Parses a Material script file passed as a chunk.
Definition at line 1988 of file OgreMaterialSerializer.cpp. References Ogre::MaterialScriptContext::filename, Ogre::DataChunk::getLine(), Ogre::DataChunk::isEOF(), Ogre::MaterialScriptContext::lineNo, Ogre::logParseError(), Ogre::MaterialScriptContext::material, mScriptContext, Ogre::MSS_NONE, parseScriptLine(), Ogre::MaterialScriptContext::pass, Ogre::MaterialScriptContext::passLev, Ogre::MaterialScriptContext::program, Ogre::MaterialScriptContext::section, Ogre::MaterialScriptContext::stateLev, Ogre::String, Ogre::MaterialScriptContext::techLev, Ogre::MaterialScriptContext::technique, and Ogre::MaterialScriptContext::textureUnit. Referenced by Ogre::MaterialManager::parseAllSources(), and Ogre::MaterialManager::parseScript(). |
|
|
Queue an in-memory Material to the internal buffer for export.
Definition at line 2346 of file OgreMaterialSerializer.cpp. References clearQueue(), mDefaults, and writeMaterial(). |
|
Definition at line 192 of file OgreMaterialSerializer.h. References Ogre::String. Referenced by writeEnvironmentMapEffect(), writeMaterial(), writePass(), writeRotationEffect(), writeScrollEffect(), writeTechnique(), writeTextureUnit(), and writeTransformEffect(). |
|
Definition at line 3075 of file OgreMaterialSerializer.cpp. References Ogre::ColourValue::a, Ogre::ColourValue::b, Ogre::ColourValue::g, Ogre::ColourValue::r, and writeValue(). Referenced by writePass(), and writeTextureUnit(). |
|
Definition at line 207 of file OgreMaterialSerializer.h. References Ogre::String. |
|
Definition at line 3044 of file OgreMaterialSerializer.cpp. References Ogre::CMPF_ALWAYS_FAIL, Ogre::CMPF_ALWAYS_PASS, Ogre::CMPF_EQUAL, Ogre::CMPF_GREATER, Ogre::CMPF_GREATER_EQUAL, Ogre::CMPF_LESS, Ogre::CMPF_LESS_EQUAL, Ogre::CMPF_NOT_EQUAL, Ogre::CompareFunction, and writeValue(). Referenced by writePass(), and writeTextureUnit(). |
|
Definition at line 2905 of file OgreMaterialSerializer.cpp. References Ogre::TextureUnitState::TextureEffect::subtype, writeAttribute(), and writeValue(). Referenced by writeTextureUnit(). |
|
Definition at line 3084 of file OgreMaterialSerializer.cpp. References Ogre::LayerBlendOperationEx, Ogre::LBX_ADD, Ogre::LBX_ADD_SIGNED, Ogre::LBX_ADD_SMOOTH, Ogre::LBX_BLEND_CURRENT_ALPHA, Ogre::LBX_BLEND_DIFFUSE_ALPHA, Ogre::LBX_BLEND_MANUAL, Ogre::LBX_BLEND_TEXTURE_ALPHA, Ogre::LBX_DOTPRODUCT, Ogre::LBX_MODULATE, Ogre::LBX_MODULATE_X2, Ogre::LBX_MODULATE_X4, Ogre::LBX_SOURCE1, Ogre::LBX_SOURCE2, Ogre::LBX_SUBTRACT, and writeValue(). Referenced by writeTextureUnit(). |
|
Definition at line 3133 of file OgreMaterialSerializer.cpp. References Ogre::LayerBlendSource, Ogre::LBS_CURRENT, Ogre::LBS_DIFFUSE, Ogre::LBS_MANUAL, Ogre::LBS_SPECULAR, Ogre::LBS_TEXTURE, and writeValue(). Referenced by writeTextureUnit(). |
|
Definition at line 2365 of file OgreMaterialSerializer.cpp. References beginSection(), endSection(), Ogre::Material::getLodDistanceIterator(), Ogre::Material::getName(), Ogre::Material::getReceiveShadows(), Ogre::Material::getTransparencyCastsShadows(), Ogre::LML_CRITICAL, mDefaults, Ogre::Real, Ogre::String, writeAttribute(), writeTechnique(), and writeValue(). Referenced by exportMaterial(), and queueForExport(). |
|
|
Definition at line 2925 of file OgreMaterialSerializer.cpp. References Ogre::TextureUnitState::TextureEffect::arg1, writeAttribute(), and writeValue(). Referenced by writeTextureUnit(). |
|
|
Definition at line 3029 of file OgreMaterialSerializer.cpp. References Ogre::SBF_ONE, Ogre::SBF_ONE_MINUS_SOURCE_ALPHA, Ogre::SBF_ONE_MINUS_SOURCE_COLOUR, Ogre::SBF_SOURCE_ALPHA, Ogre::SBF_SOURCE_COLOUR, Ogre::SceneBlendFactor, and writeValue(). Referenced by writePass(), and writeTextureUnit(). |
|
Definition at line 2982 of file OgreMaterialSerializer.cpp. References Ogre::TextureUnitState::TextureEffect::arg1, Ogre::TextureUnitState::TextureEffect::arg2, writeAttribute(), and writeValue(). Referenced by writeTextureUnit(). |
|
Definition at line 2419 of file OgreMaterialSerializer.cpp. References beginSection(), endSection(), writeAttribute(), and writePass(). Referenced by writeMaterial(). |
|
|
|
Definition at line 202 of file OgreMaterialSerializer.h. References Ogre::String. Referenced by writeColourValue(), writeCompareFunction(), writeEnvironmentMapEffect(), writeLayerBlendOperationEx(), writeLayerBlendSource(), writeMaterial(), writePass(), writeRotationEffect(), writeSceneBlendFactor(), writeScrollEffect(), writeTextureUnit(), and writeTransformEffect(). |
|
Definition at line 170 of file OgreMaterialSerializer.h. Referenced by clearQueue(), exportQueued(), getQueuedAsString(), MaterialSerializer(), and writeTextureUnit(). |
|
Definition at line 171 of file OgreMaterialSerializer.h. Referenced by exportMaterial(), queueForExport(), writeMaterial(), writePass(), and writeTextureUnit(). |
|
Parsers for the material section of a script.
Definition at line 109 of file OgreMaterialSerializer.h. Referenced by MaterialSerializer(), and parseScriptLine(). |
|
Parsers for the pass section of a script.
Definition at line 113 of file OgreMaterialSerializer.h. Referenced by MaterialSerializer(), and parseScriptLine(). |
|
Parsers for the program definition section of a script.
Definition at line 119 of file OgreMaterialSerializer.h. Referenced by MaterialSerializer(), and parseScriptLine(). |
|
Parsers for the program definition section of a script.
Definition at line 121 of file OgreMaterialSerializer.h. Referenced by finishProgramDefinition(), and MaterialSerializer(). |
|
Parsers for the program reference section of a script.
Definition at line 117 of file OgreMaterialSerializer.h. Referenced by MaterialSerializer(), and parseScriptLine(). |
|
Parsers for the root of the material script.
Definition at line 107 of file OgreMaterialSerializer.h. Referenced by MaterialSerializer(), and parseScriptLine(). |
|
Definition at line 94 of file OgreMaterialSerializer.h. Referenced by finishProgramDefinition(), invokeParser(), MaterialSerializer(), parseScript(), and parseScriptLine(). |
|
Parsers for the technique section of a script.
Definition at line 111 of file OgreMaterialSerializer.h. Referenced by MaterialSerializer(), and parseScriptLine(). |
|
Parsers for the texture unit section of a script.
Definition at line 115 of file OgreMaterialSerializer.h. Referenced by MaterialSerializer(), and parseScriptLine(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:12 2004