29 #ifndef __SCRIPTTRANSLATOR_H_
30 #define __SCRIPTTRANSLATOR_H_
64 static AbstractNodeList::const_iterator getNodeAt(
const AbstractNodeList &nodes,
int index);
78 static bool getColour(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end,
ColourValue *result,
int maxEntries = 4);
84 static bool getMatrix4(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end,
Matrix4 *m);
86 static bool getInts(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end,
int *vals,
int count);
88 static bool getFloats(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end,
float *vals,
int count);
92 static bool getConstantType(AbstractNodeList::const_iterator i,
GpuConstantType *op);
280 virtual size_t getNumTranslators()
const;
virtual ScriptTranslator * getTranslator(const AbstractNodePtr &)=0
Returns a manager for the given object abstract node, or null if it is not supported.
Class defining a single pass of a Technique (of a Material), i.e.
Ogre::ParticleEmitter * mEmitter
The ScriptTranslatorManager manages the lifetime and access to script translators.
TechniqueTranslator mTechniqueTranslator
PassTranslator mPassTranslator
Object representing one render to a RenderTarget or Viewport in the Ogre Composition framework...
Class representing colour.
float Real
Software floating point type.
Object representing one pass or operation in a composition sequence.
This class translates script AST (abstract syntax tree) into Ogre resources.
CompositorTranslator mCompositorTranslator
Abstract class defining the interface to be implemented by particle affectors.
Ogre::ParticleAffector * mAffector
GpuProgramTranslator mGpuProgramTranslator
Ogre::ParticleSystem * mSystem
Base composition technique, can be subclassed in plugins.
MaterialTranslator mMaterialTranslator
Class encapsulating a standard 4x4 homogeneous matrix.
Class representing a Compositor object.
Class representing the state of a single texture unit during a Pass of a Technique, of a Material.
TextureUnitTranslator mTextureUnitTranslator
map< String, String >::type AliasTextureNamePairList
Alias / Texture name pair (first = alias, second = texture name)
CompositionTechniqueTranslator mCompositionTechniqueTranslator
CompareFunction
Comparison functions used for the depth/stencil buffer operations and others.
TextureSourceTranslator mTextureSourceTranslator
CompositionTargetPass * mTarget
CompositionTechnique * mTechnique
list< AbstractNodePtr >::type AbstractNodeList
Ogre::AliasTextureNamePairList mTextureAliases
virtual size_t getNumTranslators() const =0
Returns the number of translators being managed.
ParticleEmitterTranslator mParticleEmitterTranslator
This class manages the builtin translators.
CompositionPassTranslator mCompositionPassTranslator
SceneBlendFactor
Blending factors for manually blending objects with the scene.
Class encapsulates rendering properties of an object.
Abstract class defining the interface to be implemented by particle emitters.
ParticleAffectorTranslator mParticleAffectorTranslator
SharedParamsTranslator mSharedParamsTranslator
Reference-counted shared pointer, used for objects where implicit destruction is required.
GpuConstantType
Enumeration of the types of constant we may encounter in programs.
StencilOperation
Enum describing the various actions which can be taken on the stencil buffer.
virtual ~ScriptTranslatorManager()
Class representing an approach to rendering this particular Material.
This specific abstract node represents a script object.
Class defining particle system based special effects.
CompositionTargetPassTranslator mCompositionTargetPassTranslator
ParticleSystemTranslator mParticleSystemTranslator
This is the main class for the compiler.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
virtual ~ScriptTranslator()