OgreMaterialSerializer.h
Go to the documentation of this file.
/*
-----------------------------------------------------------------------------
This source file is part of OGRE
(Object-oriented Graphics Rendering Engine)
For the latest info, see http://www.ogre3d.org/
Copyright (c) 2000-2013 Torus Knot Software Ltd
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-----------------------------------------------------------------------------
*/
#ifndef __MaterialSerializer_H__
#define __MaterialSerializer_H__
#include "OgrePrerequisites.h"
#include "OgreMaterial.h"
#include "OgreBlendMode.h"
#include "OgreTextureUnitState.h"
#include "OgreGpuProgram.h"
#include "OgreStringVector.h"
#include "OgreHeaderPrefix.h"
namespace Ogre {
enum MaterialScriptSection
{
MSS_NONE,
MSS_MATERIAL,
MSS_TECHNIQUE,
MSS_PASS,
MSS_TEXTUREUNIT,
MSS_PROGRAM_REF,
MSS_PROGRAM,
MSS_DEFAULT_PARAMETERS,
MSS_TEXTURESOURCE
};
struct MaterialScriptProgramDefinition
{
String name;
GpuProgramType progType;
String language;
String source;
String syntax;
bool supportsSkeletalAnimation;
bool supportsMorphAnimation;
ushort supportsPoseAnimation; // number of simultaneous poses supported
bool usesVertexTextureFetch;
vector<std::pair<String, String> >::type customParameters;
};
struct MaterialScriptContext
{
MaterialScriptSection section;
String groupName;
MaterialPtr material;
Technique* technique;
Pass* pass;
TextureUnitState* textureUnit;
GpuProgramPtr program;
bool isVertexProgramShadowCaster;
bool isFragmentProgramShadowCaster;
bool isVertexProgramShadowReceiver;
bool isFragmentProgramShadowReceiver;
GpuProgramParametersSharedPtr programParams;
ushort numAnimationParametrics;
MaterialScriptProgramDefinition* programDef;
int techLev, //Keep track of what tech, pass, and state level we are in
passLev,
stateLev;
StringVector defaultParamLines;
size_t lineNo;
String filename;
AliasTextureNamePairList textureAliases;
};
typedef bool (*ATTRIBUTE_PARSER)(String& params, MaterialScriptContext& context);
class _OgreExport MaterialSerializer : public SerializerAlloc
{
public:
// Material serialize event.
enum SerializeEvent
{
MSE_PRE_WRITE,
MSE_WRITE_BEGIN,
MSE_WRITE_END,
MSE_POST_WRITE
};
class Listener
{
public:
virtual ~Listener() {}
virtual void materialEventRaised(MaterialSerializer* ser,
SerializeEvent event, bool& skip, const Material* mat)
{ (void)ser; (void)event; (void)skip; (void)mat; }
virtual void techniqueEventRaised(MaterialSerializer* ser,
SerializeEvent event, bool& skip, const Technique* tech)
{ (void)ser; (void)event; (void)skip; (void)tech; }
virtual void passEventRaised(MaterialSerializer* ser,
SerializeEvent event, bool& skip, const Pass* pass)
{ (void)ser; (void)event; (void)skip; (void)pass; }
void gpuProgramRefEventRaised(MaterialSerializer* ser,
SerializeEvent event, bool& skip,
const String& attrib,
const GpuProgramPtr& program,
const GpuProgramParametersSharedPtr& params,
GpuProgramParameters* defaultParams)
{
(void)ser;
(void)event;
(void)skip;
(void)attrib;
(void)program;
(void)params;
(void)defaultParams;
}
virtual void textureUnitStateEventRaised(MaterialSerializer* ser,
SerializeEvent event, bool& skip, const TextureUnitState* textureUnit)
{
(void)ser;
(void)event;
(void)skip;
(void)textureUnit;
}
};
protected:
typedef map<String, ATTRIBUTE_PARSER>::type AttribParserList;
MaterialScriptContext mScriptContext;
bool parseScriptLine(String& line);
bool invokeParser(String& line, AttribParserList& parsers);
void finishProgramDefinition(void);
AttribParserList mRootAttribParsers;
AttribParserList mMaterialAttribParsers;
AttribParserList mTechniqueAttribParsers;
AttribParserList mPassAttribParsers;
AttribParserList mTextureUnitAttribParsers;
AttribParserList mProgramRefAttribParsers;
AttribParserList mProgramAttribParsers;
AttribParserList mProgramDefaultParamAttribParsers;
typedef vector<Listener*>::type ListenerList;
typedef ListenerList::iterator ListenerListIterator;
typedef ListenerList::const_iterator ListenerListConstIterator;
ListenerList mListeners;
void writeMaterial(const MaterialPtr& pMat, const String& materialName = "");
void writeTechnique(const Technique* pTech);
void writePass(const Pass* pPass);
void writeVertexProgramRef(const Pass* pPass);
void writeShadowCasterVertexProgramRef(const Pass* pPass);
void writeShadowCasterFragmentProgramRef(const Pass* pPass);
void writeShadowReceiverVertexProgramRef(const Pass* pPass);
void writeShadowReceiverFragmentProgramRef(const Pass* pPass);
void writeFragmentProgramRef(const Pass* pPass);
void writeGpuProgramRef(const String& attrib, const GpuProgramPtr& program, const GpuProgramParametersSharedPtr& params);
void writeGpuPrograms(void);
void writeGPUProgramParameters(const GpuProgramParametersSharedPtr& params, GpuProgramParameters* defaultParams,
const unsigned short level = 4, const bool useMainBuffer = true);
void writeNamedGpuProgramParameters(const GpuProgramParametersSharedPtr& params, GpuProgramParameters* defaultParams,
const unsigned short level = 4, const bool useMainBuffer = true);
void writeLowLevelGpuProgramParameters(const GpuProgramParametersSharedPtr& params, GpuProgramParameters* defaultParams,
const unsigned short level = 4, const bool useMainBuffer = true);
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& params, GpuProgramParameters* defaultParams,
const unsigned short level, const bool useMainBuffer);
void writeTextureUnit(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 writeCompareFunction(const CompareFunction cf);
void writeColourValue(const ColourValue &colour, bool writeAlpha = false);
void writeLayerBlendOperationEx(const LayerBlendOperationEx op);
void writeLayerBlendSource(const LayerBlendSource lbs);
typedef multimap<TextureUnitState::TextureEffectType, TextureUnitState::TextureEffect>::type EffectMap;
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);
void fireMaterialEvent(SerializeEvent event, bool& skip, const Material* mat);
void fireTechniqueEvent(SerializeEvent event, bool& skip, const Technique* tech);
void firePassEvent(SerializeEvent event, bool& skip, const Pass* pass);
void fireGpuProgramRefEvent(SerializeEvent event, bool& skip,
const String& attrib,
const GpuProgramPtr& program,
const GpuProgramParametersSharedPtr& params,
GpuProgramParameters* defaultParams);
void fireTextureUnitStateEvent(SerializeEvent event, bool& skip, const TextureUnitState* textureUnit);
public:
MaterialSerializer();
virtual ~MaterialSerializer() {}
void queueForExport(const MaterialPtr& pMat, bool clearQueued = false,
bool exportDefaults = false, const String& materialName = "");
void exportQueued(const String& filename, const bool includeProgDef = false, const String& programFilename = "");
void exportMaterial(const MaterialPtr& pMat, const String& filename, bool exportDefaults = false,
const bool includeProgDef = false, const String& programFilename = "",
const String& materialName = "");
const String &getQueuedAsString() const;
void clearQueue();
void parseScript(DataStreamPtr& stream, const String& groupName);
void addListener(Listener* listener);
void removeListener(Listener* listener);
private:
String mBuffer;
String mGpuProgramBuffer;
typedef set<String>::type GpuProgramDefinitionContainer;
typedef GpuProgramDefinitionContainer::iterator GpuProgramDefIterator;
GpuProgramDefinitionContainer mGpuProgramDefinitionContainer;
bool mDefaults;
public:
void beginSection(unsigned short level, const bool useMainBuffer = true)
{
String& buffer = (useMainBuffer ? mBuffer : mGpuProgramBuffer);
buffer += "\n";
for (unsigned short i = 0; i < level; ++i)
{
buffer += "\t";
}
buffer += "{";
}
void endSection(unsigned short level, const bool useMainBuffer = true)
{
String& buffer = (useMainBuffer ? mBuffer : mGpuProgramBuffer);
buffer += "\n";
for (unsigned short i = 0; i < level; ++i)
{
buffer += "\t";
}
buffer += "}";
}
void writeAttribute(unsigned short level, const String& att, const bool useMainBuffer = true)
{
String& buffer = (useMainBuffer ? mBuffer : mGpuProgramBuffer);
buffer += "\n";
for (unsigned short i = 0; i < level; ++i)
{
buffer += "\t";
}
buffer += att;
}
void writeValue(const String& val, const bool useMainBuffer = true)
{
String& buffer = (useMainBuffer ? mBuffer : mGpuProgramBuffer);
buffer += (" " + val);
}
String quoteWord(const String& val)
{
if (val.find_first_of(" \t") != String::npos)
return ("\"" + val + "\"");
else return val;
}
void writeComment(unsigned short level, const String& comment, const bool useMainBuffer = true)
{
String& buffer = (useMainBuffer ? mBuffer : mGpuProgramBuffer);
buffer += "\n";
for (unsigned short i = 0; i < level; ++i)
{
buffer += "\t";
}
buffer += "// " + comment;
}
};
}
#include "OgreHeaderSuffix.h"
#endif
Ogre::MaterialScriptContext::lineNo
size_t lineNo
Error reporting state.
Definition: OgreMaterialSerializer.h:98
Ogre::MaterialScriptProgramDefinition::language
String language
Definition: OgreMaterialSerializer.h:65
Ogre::MaterialSerializer::mPassAttribParsers
AttribParserList mPassAttribParsers
Parsers for the pass section of a script.
Definition: OgreMaterialSerializer.h:226
Ogre::MaterialSerializer::mMaterialAttribParsers
AttribParserList mMaterialAttribParsers
Parsers for the material section of a script.
Definition: OgreMaterialSerializer.h:222
Ogre::MaterialScriptContext::section
MaterialScriptSection section
Definition: OgreMaterialSerializer.h:77
Ogre::MaterialScriptContext::filename
String filename
Definition: OgreMaterialSerializer.h:99
Ogre::MaterialSerializer
Class for serializing Materials to / from a .material script.
Definition: OgreMaterialSerializer.h:106
Ogre::ATTRIBUTE_PARSER
bool(* ATTRIBUTE_PARSER)(String &params, MaterialScriptContext &context)
Function def for material attribute parser; return value determines if the next line should be {...
Definition: OgreMaterialSerializer.h:103
Ogre::Pass
Class defining a single pass of a Technique (of a Material), i.e.
Definition: OgrePass.h:80
_OgreExport
#define _OgreExport
Definition: OgrePlatform.h:257
Ogre::LayerBlendSource
LayerBlendSource
List of valid sources of values for blending operations used in TextureUnitState::setColourOperation ...
Definition: OgreBlendMode.h:112
Ogre::MSS_PROGRAM_REF
Definition: OgreMaterialSerializer.h:55
Ogre::MaterialSerializer::GpuProgramDefinitionContainer
set< String >::type GpuProgramDefinitionContainer
Definition: OgreMaterialSerializer.h:379
Ogre::MaterialScriptProgramDefinition::supportsPoseAnimation
ushort supportsPoseAnimation
Definition: OgreMaterialSerializer.h:70
Ogre::MaterialSerializer::mProgramRefAttribParsers
AttribParserList mProgramRefAttribParsers
Parsers for the program reference section of a script.
Definition: OgreMaterialSerializer.h:230
Ogre::MaterialSerializer::Listener::passEventRaised
virtual void passEventRaised(MaterialSerializer *ser, SerializeEvent event, bool &skip, const Pass *pass)
Called when pass section event raised.
Definition: OgreMaterialSerializer.h:156
Ogre::MSS_TECHNIQUE
Definition: OgreMaterialSerializer.h:52
Ogre::MaterialScriptProgramDefinition::supportsSkeletalAnimation
bool supportsSkeletalAnimation
Definition: OgreMaterialSerializer.h:68
Ogre::MaterialSerializer::Listener
Class that allows listening in on the various stages of material serialization process.
Definition: OgreMaterialSerializer.h:122
Ogre::MaterialSerializer::mListeners
ListenerList mListeners
Definition: OgreMaterialSerializer.h:240
Ogre::MaterialSerializer::mGpuProgramBuffer
String mGpuProgramBuffer
Definition: OgreMaterialSerializer.h:378
Ogre::ColourValue
Class representing colour.
Definition: OgreColourValue.h:57
Ogre::MaterialScriptContext::program
GpuProgramPtr program
Definition: OgreMaterialSerializer.h:83
OgreTextureUnitState.h
Ogre::StringVector
vector< String >::type StringVector
Definition: OgreStringVector.h:45
Ogre::MaterialScriptContext::programDef
MaterialScriptProgramDefinition * programDef
Definition: OgreMaterialSerializer.h:90
Ogre::MSS_NONE
Definition: OgreMaterialSerializer.h:50
Ogre::MaterialSerializer::mRootAttribParsers
AttribParserList mRootAttribParsers
Parsers for the root of the material script.
Definition: OgreMaterialSerializer.h:220
Ogre::MSS_TEXTUREUNIT
Definition: OgreMaterialSerializer.h:54
Ogre::GpuProgramParameters::AutoConstantEntry
Structure recording the use of an automatic parameter.
Definition: OgreGpuProgramParams.h:1215
Ogre::MaterialSerializer::mDefaults
bool mDefaults
Definition: OgreMaterialSerializer.h:382
Ogre::MaterialSerializer::Listener::textureUnitStateEventRaised
virtual void textureUnitStateEventRaised(MaterialSerializer *ser, SerializeEvent event, bool &skip, const TextureUnitState *textureUnit)
Called when texture unit state section event raised.
Definition: OgreMaterialSerializer.h:193
Ogre::MaterialScriptProgramDefinition::supportsMorphAnimation
bool supportsMorphAnimation
Definition: OgreMaterialSerializer.h:69
Ogre::MaterialScriptContext::isFragmentProgramShadowReceiver
bool isFragmentProgramShadowReceiver
When referencing, are we in context of shadow caster.
Definition: OgreMaterialSerializer.h:87
Ogre::MaterialSerializer::MSE_PRE_WRITE
Definition: OgreMaterialSerializer.h:113
Ogre::MaterialSerializer::AttribParserList
map< String, ATTRIBUTE_PARSER >::type AttribParserList
Keyword-mapped attribute parsers.
Definition: OgreMaterialSerializer.h:205
Ogre::MaterialScriptContext::isFragmentProgramShadowCaster
bool isFragmentProgramShadowCaster
When referencing, are we in context of shadow caster.
Definition: OgreMaterialSerializer.h:85
Ogre::MaterialScriptContext::textureAliases
AliasTextureNamePairList textureAliases
Definition: OgreMaterialSerializer.h:100
Ogre::MaterialSerializer::ListenerListConstIterator
ListenerList::const_iterator ListenerListConstIterator
Definition: OgreMaterialSerializer.h:239
Ogre::MSS_MATERIAL
Definition: OgreMaterialSerializer.h:51
Ogre::TextureUnitState
Class representing the state of a single texture unit during a Pass of a Technique, of a Material.
Definition: OgreTextureUnitState.h:62
Ogre::MaterialSerializer::quoteWord
String quoteWord(const String &val)
Definition: OgreMaterialSerializer.h:423
OgrePrerequisites.h
Ogre::MaterialScriptContext::groupName
String groupName
Definition: OgreMaterialSerializer.h:78
Ogre::MaterialSerializer::MSE_WRITE_END
Definition: OgreMaterialSerializer.h:115
Ogre::AliasTextureNamePairList
map< String, String >::type AliasTextureNamePairList
Alias / Texture name pair (first = alias, second = texture name)
Definition: OgreCommon.h:553
Ogre::MaterialScriptContext::programParams
GpuProgramParametersSharedPtr programParams
When referencing, are we in context of shadow caster.
Definition: OgreMaterialSerializer.h:88
Ogre::MaterialSerializer::MSE_WRITE_BEGIN
Definition: OgreMaterialSerializer.h:114
Ogre::MaterialScriptContext::defaultParamLines
StringVector defaultParamLines
Definition: OgreMaterialSerializer.h:95
Ogre::MaterialScriptContext::pass
Pass * pass
Definition: OgreMaterialSerializer.h:81
Ogre::MaterialScriptContext::textureUnit
TextureUnitState * textureUnit
Definition: OgreMaterialSerializer.h:82
Ogre::MaterialSerializer::EffectMap
multimap< TextureUnitState::TextureEffectType, TextureUnitState::TextureEffect >::type EffectMap
Definition: OgreMaterialSerializer.h:277
OgreStringVector.h
Ogre::CompareFunction
CompareFunction
Comparison functions used for the depth/stencil buffer operations and others.
Definition: OgreCommon.h:64
Ogre::MaterialScriptProgramDefinition::customParameters
vector< std::pair< String, String > >::type customParameters
Definition: OgreMaterialSerializer.h:72
Ogre::MaterialSerializer::GpuProgramDefIterator
GpuProgramDefinitionContainer::iterator GpuProgramDefIterator
Definition: OgreMaterialSerializer.h:380
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::MaterialSerializer::mProgramDefaultParamAttribParsers
AttribParserList mProgramDefaultParamAttribParsers
Parsers for the program definition section of a script.
Definition: OgreMaterialSerializer.h:234
Ogre::MaterialSerializer::SerializeEvent
SerializeEvent
Definition: OgreMaterialSerializer.h:111
Ogre::MaterialSerializer::~MaterialSerializer
virtual ~MaterialSerializer()
default destructor
Definition: OgreMaterialSerializer.h:321
Ogre::MSS_PASS
Definition: OgreMaterialSerializer.h:53
Ogre::MaterialSerializer::ListenerList
vector< Listener * >::type ListenerList
Listeners list of this Serializer.
Definition: OgreMaterialSerializer.h:237
Ogre::set
Definition: OgrePrerequisites.h:519
Ogre::MaterialScriptContext
Struct for holding the script context while parsing.
Definition: OgreMaterialSerializer.h:75
Ogre::MaterialSerializer::mScriptContext
MaterialScriptContext mScriptContext
Definition: OgreMaterialSerializer.h:207
Ogre::MaterialSerializer::mProgramAttribParsers
AttribParserList mProgramAttribParsers
Parsers for the program definition section of a script.
Definition: OgreMaterialSerializer.h:232
Ogre::GpuProgramType
GpuProgramType
Enumerates the types of programs which can run on the GPU.
Definition: OgreGpuProgram.h:50
Ogre::MaterialSerializer::writeValue
void writeValue(const String &val, const bool useMainBuffer=true)
Definition: OgreMaterialSerializer.h:417
Ogre::MaterialScriptSection
MaterialScriptSection
Enum to identify material sections.
Definition: OgreMaterialSerializer.h:48
Ogre::MaterialSerializer::Listener::gpuProgramRefEventRaised
void gpuProgramRefEventRaised(MaterialSerializer *ser, SerializeEvent event, bool &skip, const String &attrib, const GpuProgramPtr &program, const GpuProgramParametersSharedPtr &params, GpuProgramParameters *defaultParams)
Called when GPU program reference section event raised.
Definition: OgreMaterialSerializer.h:170
Ogre::MaterialScriptProgramDefinition::source
String source
Definition: OgreMaterialSerializer.h:66
Ogre::MSS_PROGRAM
Definition: OgreMaterialSerializer.h:56
Ogre::MaterialSerializer::beginSection
void beginSection(unsigned short level, const bool useMainBuffer=true)
Definition: OgreMaterialSerializer.h:385
OgreHeaderSuffix.h
Ogre::multimap::type
std::multimap< K, V, P, A > type
Definition: OgrePrerequisites.h:550
Ogre::MaterialScriptContext::material
MaterialPtr material
Definition: OgreMaterialSerializer.h:79
Ogre::LayerBlendOperationEx
LayerBlendOperationEx
Expert list of valid texture blending operations, for use with TextureUnitState::setColourOperationEx...
Definition: OgreBlendMode.h:75
Ogre::MaterialSerializer::writeAttribute
void writeAttribute(unsigned short level, const String &att, const bool useMainBuffer=true)
Definition: OgreMaterialSerializer.h:406
Ogre::MaterialScriptProgramDefinition::name
String name
Definition: OgreMaterialSerializer.h:63
Ogre::SceneBlendFactor
SceneBlendFactor
Blending factors for manually blending objects with the scene.
Definition: OgreBlendMode.h:234
Ogre::FilterOptions
FilterOptions
Filtering options for textures / mipmaps.
Definition: OgreCommon.h:100
Ogre::MaterialScriptProgramDefinition::progType
GpuProgramType progType
Definition: OgreMaterialSerializer.h:64
Ogre::MaterialSerializer::mGpuProgramDefinitionContainer
GpuProgramDefinitionContainer mGpuProgramDefinitionContainer
Definition: OgreMaterialSerializer.h:381
Ogre
Definition: OgreAndroidLogListener.h:34
Ogre::Material
Class encapsulates rendering properties of an object.
Definition: OgreMaterial.h:88
Ogre::MaterialSerializer::mTechniqueAttribParsers
AttribParserList mTechniqueAttribParsers
Parsers for the technique section of a script.
Definition: OgreMaterialSerializer.h:224
Ogre::MaterialScriptContext::isVertexProgramShadowCaster
bool isVertexProgramShadowCaster
Used when referencing a program, not when defining it.
Definition: OgreMaterialSerializer.h:84
Ogre::SharedPtr< Material >
Ogre::vector
Definition: OgrePrerequisites.h:491
Ogre::MaterialScriptProgramDefinition::usesVertexTextureFetch
bool usesVertexTextureFetch
Definition: OgreMaterialSerializer.h:71
OgreHeaderPrefix.h
OgreBlendMode.h
Ogre::MaterialScriptContext::technique
Technique * technique
Definition: OgreMaterialSerializer.h:80
Ogre::Technique
Class representing an approach to rendering this particular Material.
Definition: OgreTechnique.h:53
Ogre::map
Definition: OgrePrerequisites.h:533
Ogre::MaterialSerializer::Listener::techniqueEventRaised
virtual void techniqueEventRaised(MaterialSerializer *ser, SerializeEvent event, bool &skip, const Technique *tech)
Called when technique section event raised.
Definition: OgreMaterialSerializer.h:145
Ogre::ushort
unsigned short ushort
Definition: OgrePrerequisites.h:113
Ogre::MSS_DEFAULT_PARAMETERS
Definition: OgreMaterialSerializer.h:57
OgreMaterial.h
Ogre::MaterialSerializer::endSection
void endSection(unsigned short level, const bool useMainBuffer=true)
Definition: OgreMaterialSerializer.h:395
Ogre::MaterialSerializer::Listener::~Listener
virtual ~Listener()
Definition: OgreMaterialSerializer.h:125
Ogre::MaterialSerializer::ListenerListIterator
ListenerList::iterator ListenerListIterator
Definition: OgreMaterialSerializer.h:238
OgreGpuProgram.h
Ogre::MaterialSerializer::mTextureUnitAttribParsers
AttribParserList mTextureUnitAttribParsers
Parsers for the texture unit section of a script.
Definition: OgreMaterialSerializer.h:228
Ogre::MaterialScriptContext::numAnimationParametrics
ushort numAnimationParametrics
Definition: OgreMaterialSerializer.h:89
Ogre::MaterialSerializer::mBuffer
String mBuffer
Definition: OgreMaterialSerializer.h:377
Ogre::AllocatedObject
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Definition: OgreMemoryAllocatedObject.h:58
Ogre::MaterialScriptContext::isVertexProgramShadowReceiver
bool isVertexProgramShadowReceiver
When referencing, are we in context of shadow caster.
Definition: OgreMaterialSerializer.h:86
Ogre::MaterialScriptContext::techLev
int techLev
This is used while defining a program.
Definition: OgreMaterialSerializer.h:92
Ogre::GpuProgramParameters
Collects together the program parameters used for a GpuProgram.
Definition: OgreGpuProgramParams.h:702
Ogre::MaterialScriptProgramDefinition
Struct for holding a program definition which is in progress.
Definition: OgreMaterialSerializer.h:61
Ogre::MaterialSerializer::writeComment
void writeComment(unsigned short level, const String &comment, const bool useMainBuffer=true)
Definition: OgreMaterialSerializer.h:431
Ogre::MaterialScriptProgramDefinition::syntax
String syntax
Definition: OgreMaterialSerializer.h:67
Ogre::MSS_TEXTURESOURCE
Definition: OgreMaterialSerializer.h:58
Ogre::MaterialSerializer::Listener::materialEventRaised
virtual void materialEventRaised(MaterialSerializer *ser, SerializeEvent event, bool &skip, const Material *mat)
Called when material section event raised.
Definition: OgreMaterialSerializer.h:134
Ogre::TextureUnitState::TextureEffect
Internal structure defining a texture effect.
Definition: OgreTextureUnitState.h:160

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