OgreScriptCompiler.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 __SCRIPTCOMPILER_H_
#define __SCRIPTCOMPILER_H_
#include "OgreSharedPtr.h"
#include "OgreMaterial.h"
#include "OgreHighLevelGpuProgram.h"
#include "OgreCompositor.h"
#include "OgreCompositionPass.h"
#include "OgreAny.h"
#include "OgreHeaderPrefix.h"
namespace Ogre
{
enum ConcreteNodeType
{
CNT_VARIABLE,
CNT_VARIABLE_ASSIGN,
CNT_WORD,
CNT_IMPORT,
CNT_QUOTE,
CNT_LBRACE,
CNT_RBRACE,
CNT_COLON
};
struct ConcreteNode;
typedef SharedPtr<ConcreteNode> ConcreteNodePtr;
typedef list<ConcreteNodePtr>::type ConcreteNodeList;
typedef SharedPtr<ConcreteNodeList> ConcreteNodeListPtr;
struct ConcreteNode : public ScriptCompilerAlloc
{
String token, file;
unsigned int line;
ConcreteNodeType type;
ConcreteNodeList children;
ConcreteNode *parent;
};
enum AbstractNodeType
{
ANT_UNKNOWN,
ANT_ATOM,
ANT_OBJECT,
ANT_PROPERTY,
ANT_IMPORT,
ANT_VARIABLE_SET,
ANT_VARIABLE_ACCESS
};
class AbstractNode;
typedef SharedPtr<AbstractNode> AbstractNodePtr;
typedef list<AbstractNodePtr>::type AbstractNodeList;
typedef SharedPtr<AbstractNodeList> AbstractNodeListPtr;
class _OgreExport AbstractNode : public AbstractNodeAlloc
{
public:
String file;
unsigned int line;
AbstractNodeType type;
AbstractNode *parent;
Any context; // A holder for translation context data
public:
AbstractNode(AbstractNode *ptr);
virtual ~AbstractNode(){}
virtual AbstractNode *clone() const = 0;
virtual String getValue() const = 0;
};
class _OgreExport AtomAbstractNode : public AbstractNode
{
public:
String value;
uint32 id;
public:
AtomAbstractNode(AbstractNode *ptr);
AbstractNode *clone() const;
String getValue() const;
private:
void parseNumber() const;
};
class _OgreExport ObjectAbstractNode : public AbstractNode
{
private:
map<String,String>::type mEnv;
public:
String name, cls;
vector<String>::type bases;
uint32 id;
bool abstract;
AbstractNodeList children;
AbstractNodeList values;
AbstractNodeList overrides; // For use when processing object inheritance and overriding
public:
ObjectAbstractNode(AbstractNode *ptr);
AbstractNode *clone() const;
String getValue() const;
void addVariable(const String &name);
void setVariable(const String &name, const String &value);
std::pair<bool,String> getVariable(const String &name) const;
const map<String,String>::type &getVariables() const;
};
class _OgreExport PropertyAbstractNode : public AbstractNode
{
public:
String name;
uint32 id;
AbstractNodeList values;
public:
PropertyAbstractNode(AbstractNode *ptr);
AbstractNode *clone() const;
String getValue() const;
};
class _OgreExport ImportAbstractNode : public AbstractNode
{
public:
String target, source;
public:
ImportAbstractNode();
AbstractNode *clone() const;
String getValue() const;
};
class _OgreExport VariableAccessAbstractNode : public AbstractNode
{
public:
String name;
public:
VariableAccessAbstractNode(AbstractNode *ptr);
AbstractNode *clone() const;
String getValue() const;
};
class ScriptCompilerEvent;
class ScriptCompilerListener;
class _OgreExport ScriptCompiler : public ScriptCompilerAlloc
{
public: // Externally accessible types
//typedef map<String,uint32>::type IdMap;
typedef HashMap<String,uint32> IdMap;
// The container for errors
struct Error : public ScriptCompilerAlloc
{
String file, message;
int line;
uint32 code;
};
typedef SharedPtr<Error> ErrorPtr;
typedef list<ErrorPtr>::type ErrorList;
// These are the built-in error codes
enum{
CE_STRINGEXPECTED,
CE_NUMBEREXPECTED,
CE_FEWERPARAMETERSEXPECTED,
CE_VARIABLEEXPECTED,
CE_UNDEFINEDVARIABLE,
CE_OBJECTNAMEEXPECTED,
CE_OBJECTALLOCATIONERROR,
CE_INVALIDPARAMETERS,
CE_DUPLICATEOVERRIDE,
CE_UNEXPECTEDTOKEN,
CE_OBJECTBASENOTFOUND,
CE_UNSUPPORTEDBYRENDERSYSTEM,
CE_REFERENCETOANONEXISTINGOBJECT
};
static String formatErrorCode(uint32 code);
public:
ScriptCompiler();
virtual ~ScriptCompiler() {}
bool compile(const String &str, const String &source, const String &group);
bool compile(const ConcreteNodeListPtr &nodes, const String &group);
AbstractNodeListPtr _generateAST(const String &str, const String &source, bool doImports = false, bool doObjects = false, bool doVariables = false);
bool _compile(AbstractNodeListPtr nodes, const String &group, bool doImports = true, bool doObjects = true, bool doVariables = true);
void addError(uint32 code, const String &file, int line, const String &msg = "");
void setListener(ScriptCompilerListener *listener);
ScriptCompilerListener *getListener();
const String &getResourceGroup() const;
void addNameExclusion(const String &type);
void removeNameExclusion(const String &type);
bool _fireEvent(ScriptCompilerEvent *evt, void *retval);
private: // Tree processing
AbstractNodeListPtr convertToAST(const ConcreteNodeListPtr &nodes);
void processImports(AbstractNodeListPtr &nodes);
AbstractNodeListPtr loadImportPath(const String &name);
AbstractNodeListPtr locateTarget(AbstractNodeList *nodes, const String &target);
void processObjects(AbstractNodeList *nodes, const AbstractNodeListPtr &top);
void processVariables(AbstractNodeList *nodes);
void overlayObject(const AbstractNodePtr &source, ObjectAbstractNode *dest);
bool isNameExcluded(const String &cls, AbstractNode *parent);
void initWordMap();
private:
// Resource group
String mGroup;
// The word -> id conversion table
IdMap mIds;
// This is an environment map
typedef map<String,String>::type Environment;
Environment mEnv;
typedef map<String,AbstractNodeListPtr>::type ImportCacheMap;
ImportCacheMap mImports; // The set of imported scripts to avoid circular dependencies
typedef multimap<String,String>::type ImportRequestMap;
ImportRequestMap mImportRequests; // This holds the target objects for each script to be imported
// This stores the imports of the scripts, so they are separated and can be treated specially
AbstractNodeList mImportTable;
// Error list
ErrorList mErrors;
// The listener
ScriptCompilerListener *mListener;
private: // Internal helper classes and processors
class AbstractTreeBuilder
{
private:
AbstractNodeListPtr mNodes;
AbstractNode *mCurrent;
ScriptCompiler *mCompiler;
public:
AbstractTreeBuilder(ScriptCompiler *compiler);
const AbstractNodeListPtr &getResult() const;
void visit(ConcreteNode *node);
static void visit(AbstractTreeBuilder *visitor, const ConcreteNodeList &nodes);
};
friend class AbstractTreeBuilder;
public: // Public translator definitions
// This enum are built-in word id values
enum
{
ID_ON = 1,
ID_OFF = 2,
ID_TRUE = 1,
ID_FALSE = 2,
ID_YES = 1,
ID_NO = 2
};
};
class ScriptCompilerEvent
{
public:
String mType;
ScriptCompilerEvent(const String &type):mType(type){}
virtual ~ScriptCompilerEvent(){}
private: // Non-copyable
ScriptCompilerEvent(const ScriptCompilerEvent&);
ScriptCompilerEvent &operator = (const ScriptCompilerEvent&);
};
class _OgreExport ScriptCompilerListener
{
public:
ScriptCompilerListener();
virtual ~ScriptCompilerListener() {}
virtual ConcreteNodeListPtr importFile(ScriptCompiler *compiler, const String &name);
virtual void preConversion(ScriptCompiler *compiler, ConcreteNodeListPtr nodes);
virtual bool postConversion(ScriptCompiler *compiler, const AbstractNodeListPtr&);
virtual void handleError(ScriptCompiler *compiler, uint32 code, const String &file, int line, const String &msg);
virtual bool handleEvent(ScriptCompiler *compiler, ScriptCompilerEvent *evt, void *retval);
};
class ScriptTranslator;
class ScriptTranslatorManager;
class _OgreExport ScriptCompilerManager : public Singleton<ScriptCompilerManager>, public ScriptLoader, public ScriptCompilerAlloc
{
private:
OGRE_AUTO_MUTEX;
// A list of patterns loaded by this compiler manager
StringVector mScriptPatterns;
// A pointer to the listener used for compiling scripts
ScriptCompilerListener *mListener;
// Stores a map from object types to the translators that handle them
vector<ScriptTranslatorManager*>::type mManagers;
// A pointer to the built-in ScriptTranslatorManager
ScriptTranslatorManager *mBuiltinTranslatorManager;
// A pointer to the specific compiler instance used
OGRE_THREAD_POINTER(ScriptCompiler, mScriptCompiler);
public:
ScriptCompilerManager();
virtual ~ScriptCompilerManager();
void setListener(ScriptCompilerListener *listener);
ScriptCompilerListener *getListener();
void addTranslatorManager(ScriptTranslatorManager *man);
void removeTranslatorManager(ScriptTranslatorManager *man);
void clearTranslatorManagers();
ScriptTranslator *getTranslator(const AbstractNodePtr &node);
void addScriptPattern(const String &pattern);
const StringVector& getScriptPatterns(void) const;
void parseScript(DataStreamPtr& stream, const String& groupName);
Real getLoadingOrder(void) const;
static ScriptCompilerManager& getSingleton(void);
static ScriptCompilerManager* getSingletonPtr(void);
};
// Standard event types
class _OgreExport PreApplyTextureAliasesScriptCompilerEvent : public ScriptCompilerEvent
{
public:
Material *mMaterial;
AliasTextureNamePairList *mAliases;
static String eventType;
PreApplyTextureAliasesScriptCompilerEvent(Material *material, AliasTextureNamePairList *aliases)
:ScriptCompilerEvent(eventType), mMaterial(material), mAliases(aliases){}
};
class _OgreExport ProcessResourceNameScriptCompilerEvent : public ScriptCompilerEvent
{
public:
enum ResourceType
{
TEXTURE,
MATERIAL,
GPU_PROGRAM,
COMPOSITOR
};
ResourceType mResourceType;
String mName;
static String eventType;
ProcessResourceNameScriptCompilerEvent(ResourceType resourceType, const String &name)
:ScriptCompilerEvent(eventType), mResourceType(resourceType), mName(name){}
};
class _OgreExport ProcessNameExclusionScriptCompilerEvent : public ScriptCompilerEvent
{
public:
String mClass;
AbstractNode *mParent;
static String eventType;
ProcessNameExclusionScriptCompilerEvent(const String &cls, AbstractNode *parent)
:ScriptCompilerEvent(eventType), mClass(cls), mParent(parent){}
};
class _OgreExport CreateMaterialScriptCompilerEvent : public ScriptCompilerEvent
{
public:
String mFile, mName, mResourceGroup;
static String eventType;
CreateMaterialScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
:ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup){}
};
class _OgreExport CreateGpuProgramScriptCompilerEvent : public ScriptCompilerEvent
{
public:
String mFile, mName, mResourceGroup, mSource, mSyntax;
GpuProgramType mProgramType;
static String eventType;
CreateGpuProgramScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup, const String &source,
const String &syntax, GpuProgramType programType)
:ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup), mSource(source),
mSyntax(syntax), mProgramType(programType)
{}
};
class _OgreExport CreateHighLevelGpuProgramScriptCompilerEvent : public ScriptCompilerEvent
{
public:
String mFile, mName, mResourceGroup, mSource, mLanguage;
GpuProgramType mProgramType;
static String eventType;
CreateHighLevelGpuProgramScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup, const String &source,
const String &language, GpuProgramType programType)
:ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup), mSource(source),
mLanguage(language), mProgramType(programType)
{}
};
class _OgreExport CreateGpuSharedParametersScriptCompilerEvent : public ScriptCompilerEvent
{
public:
String mFile, mName, mResourceGroup;
static String eventType;
CreateGpuSharedParametersScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
:ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup){}
};
class _OgreExport CreateParticleSystemScriptCompilerEvent : public ScriptCompilerEvent
{
public:
String mFile, mName, mResourceGroup;
static String eventType;
CreateParticleSystemScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
:ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup){}
};
class _OgreExport CreateCompositorScriptCompilerEvent : public ScriptCompilerEvent
{
public:
String mFile, mName, mResourceGroup;
static String eventType;
CreateCompositorScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
:ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup){}
};
enum
{
ID_MATERIAL = 3,
ID_VERTEX_PROGRAM,
ID_GEOMETRY_PROGRAM,
ID_FRAGMENT_PROGRAM,
ID_TECHNIQUE,
ID_PASS,
ID_TEXTURE_UNIT,
ID_VERTEX_PROGRAM_REF,
ID_GEOMETRY_PROGRAM_REF,
ID_FRAGMENT_PROGRAM_REF,
ID_SHADOW_CASTER_VERTEX_PROGRAM_REF,
ID_SHADOW_CASTER_FRAGMENT_PROGRAM_REF,
ID_SHADOW_RECEIVER_VERTEX_PROGRAM_REF,
ID_SHADOW_RECEIVER_FRAGMENT_PROGRAM_REF,
ID_SHADOW_CASTER_MATERIAL,
ID_SHADOW_RECEIVER_MATERIAL,
ID_LOD_VALUES,
ID_LOD_STRATEGY,
ID_LOD_DISTANCES,
ID_RECEIVE_SHADOWS,
ID_TRANSPARENCY_CASTS_SHADOWS,
ID_SET_TEXTURE_ALIAS,
ID_SOURCE,
ID_SYNTAX,
ID_DEFAULT_PARAMS,
ID_PARAM_INDEXED,
ID_PARAM_NAMED,
ID_PARAM_INDEXED_AUTO,
ID_PARAM_NAMED_AUTO,
ID_SCHEME,
ID_LOD_INDEX,
ID_GPU_VENDOR_RULE,
ID_GPU_DEVICE_RULE,
ID_INCLUDE,
ID_EXCLUDE,
ID_AMBIENT,
ID_DIFFUSE,
ID_SPECULAR,
ID_EMISSIVE,
ID_VERTEXCOLOUR,
ID_SCENE_BLEND,
ID_COLOUR_BLEND,
ID_ONE,
ID_ZERO,
ID_DEST_COLOUR,
ID_SRC_COLOUR,
ID_ONE_MINUS_DEST_COLOUR,
ID_ONE_MINUS_SRC_COLOUR,
ID_DEST_ALPHA,
ID_SRC_ALPHA,
ID_ONE_MINUS_DEST_ALPHA,
ID_ONE_MINUS_SRC_ALPHA,
ID_SEPARATE_SCENE_BLEND,
ID_SCENE_BLEND_OP,
ID_REVERSE_SUBTRACT,
ID_MIN,
ID_MAX,
ID_SEPARATE_SCENE_BLEND_OP,
ID_DEPTH_CHECK,
ID_DEPTH_WRITE,
ID_DEPTH_FUNC,
ID_DEPTH_BIAS,
ID_ITERATION_DEPTH_BIAS,
ID_ALWAYS_FAIL,
ID_ALWAYS_PASS,
ID_LESS_EQUAL,
ID_LESS,
ID_EQUAL,
ID_NOT_EQUAL,
ID_GREATER_EQUAL,
ID_GREATER,
ID_ALPHA_REJECTION,
ID_ALPHA_TO_COVERAGE,
ID_LIGHT_SCISSOR,
ID_LIGHT_CLIP_PLANES,
ID_TRANSPARENT_SORTING,
ID_ILLUMINATION_STAGE,
ID_DECAL,
ID_CULL_HARDWARE,
ID_CLOCKWISE,
ID_ANTICLOCKWISE,
ID_CULL_SOFTWARE,
ID_BACK,
ID_FRONT,
ID_NORMALISE_NORMALS,
ID_LIGHTING,
ID_SHADING,
ID_FLAT,
ID_GOURAUD,
ID_PHONG,
ID_POLYGON_MODE,
ID_SOLID,
ID_WIREFRAME,
ID_POINTS,
ID_POLYGON_MODE_OVERRIDEABLE,
ID_FOG_OVERRIDE,
ID_NONE,
ID_LINEAR,
ID_EXP,
ID_EXP2,
ID_COLOUR_WRITE,
ID_MAX_LIGHTS,
ID_START_LIGHT,
ID_ITERATION,
ID_ONCE,
ID_ONCE_PER_LIGHT,
ID_PER_LIGHT,
ID_PER_N_LIGHTS,
ID_POINT,
ID_SPOT,
ID_DIRECTIONAL,
ID_LIGHT_MASK,
ID_POINT_SIZE,
ID_POINT_SPRITES,
ID_POINT_SIZE_ATTENUATION,
ID_POINT_SIZE_MIN,
ID_POINT_SIZE_MAX,
ID_TEXTURE_ALIAS,
ID_TEXTURE,
ID_1D,
ID_2D,
ID_3D,
ID_CUBIC,
ID_2DARRAY,
ID_UNLIMITED,
ID_ALPHA,
ID_GAMMA,
ID_ANIM_TEXTURE,
ID_CUBIC_TEXTURE,
ID_SEPARATE_UV,
ID_COMBINED_UVW,
ID_TEX_COORD_SET,
ID_TEX_ADDRESS_MODE,
ID_WRAP,
ID_CLAMP,
ID_BORDER,
ID_MIRROR,
ID_TEX_BORDER_COLOUR,
ID_FILTERING,
ID_BILINEAR,
ID_TRILINEAR,
ID_ANISOTROPIC,
ID_CMPTEST,
ID_ON,
ID_OFF,
ID_CMPFUNC,
ID_MAX_ANISOTROPY,
ID_MIPMAP_BIAS,
ID_COLOUR_OP,
ID_REPLACE,
ID_ADD,
ID_MODULATE,
ID_ALPHA_BLEND,
ID_COLOUR_OP_EX,
ID_SOURCE1,
ID_SOURCE2,
ID_MODULATE_X2,
ID_MODULATE_X4,
ID_ADD_SIGNED,
ID_ADD_SMOOTH,
ID_SUBTRACT,
ID_BLEND_DIFFUSE_COLOUR,
ID_BLEND_DIFFUSE_ALPHA,
ID_BLEND_TEXTURE_ALPHA,
ID_BLEND_CURRENT_ALPHA,
ID_BLEND_MANUAL,
ID_DOT_PRODUCT,
ID_SRC_CURRENT,
ID_SRC_TEXTURE,
ID_SRC_DIFFUSE,
ID_SRC_SPECULAR,
ID_SRC_MANUAL,
ID_COLOUR_OP_MULTIPASS_FALLBACK,
ID_ALPHA_OP_EX,
ID_ENV_MAP,
ID_SPHERICAL,
ID_PLANAR,
ID_CUBIC_REFLECTION,
ID_CUBIC_NORMAL,
ID_SCROLL,
ID_SCROLL_ANIM,
ID_ROTATE,
ID_ROTATE_ANIM,
ID_SCALE,
ID_WAVE_XFORM,
ID_SCROLL_X,
ID_SCROLL_Y,
ID_SCALE_X,
ID_SCALE_Y,
ID_SINE,
ID_TRIANGLE,
ID_SQUARE,
ID_SAWTOOTH,
ID_INVERSE_SAWTOOTH,
ID_TRANSFORM,
ID_BINDING_TYPE,
ID_VERTEX,
ID_FRAGMENT,
ID_CONTENT_TYPE,
ID_NAMED,
ID_SHADOW,
ID_TEXTURE_SOURCE,
ID_SHARED_PARAMS,
ID_SHARED_PARAM_NAMED,
ID_SHARED_PARAMS_REF,
ID_PARTICLE_SYSTEM,
ID_EMITTER,
ID_AFFECTOR,
ID_COMPOSITOR,
ID_TARGET,
ID_TARGET_OUTPUT,
ID_INPUT,
ID_PREVIOUS,
ID_TARGET_WIDTH,
ID_TARGET_HEIGHT,
ID_TARGET_WIDTH_SCALED,
ID_TARGET_HEIGHT_SCALED,
ID_COMPOSITOR_LOGIC,
ID_TEXTURE_REF,
ID_SCOPE_LOCAL,
ID_SCOPE_CHAIN,
ID_SCOPE_GLOBAL,
ID_POOLED,
//ID_GAMMA, - already registered for material
ID_NO_FSAA,
ID_DEPTH_POOL,
ID_ONLY_INITIAL,
ID_VISIBILITY_MASK,
ID_LOD_BIAS,
ID_MATERIAL_SCHEME,
ID_SHADOWS_ENABLED,
ID_CLEAR,
ID_STENCIL,
ID_RENDER_SCENE,
ID_RENDER_QUAD,
ID_IDENTIFIER,
ID_FIRST_RENDER_QUEUE,
ID_LAST_RENDER_QUEUE,
ID_QUAD_NORMALS,
ID_CAMERA_FAR_CORNERS_VIEW_SPACE,
ID_CAMERA_FAR_CORNERS_WORLD_SPACE,
ID_BUFFERS,
ID_COLOUR,
ID_DEPTH,
ID_COLOUR_VALUE,
ID_DEPTH_VALUE,
ID_STENCIL_VALUE,
ID_CHECK,
ID_COMP_FUNC,
ID_REF_VALUE,
ID_MASK,
ID_FAIL_OP,
ID_KEEP,
ID_INCREMENT,
ID_DECREMENT,
ID_INCREMENT_WRAP,
ID_DECREMENT_WRAP,
ID_INVERT,
ID_DEPTH_FAIL_OP,
ID_PASS_OP,
ID_TWO_SIDED,
#ifdef RTSHADER_SYSTEM_BUILD_CORE_SHADERS
ID_RT_SHADER_SYSTEM,
#endif
// More program IDs
ID_TESSELATION_HULL_PROGRAM,
ID_TESSELATION_DOMAIN_PROGRAM,
ID_COMPUTE_PROGRAM,
ID_TESSELATION_HULL_PROGRAM_REF,
ID_TESSELATION_DOMAIN_PROGRAM_REF,
ID_COMPUTE_PROGRAM_REF,
// More binding IDs
ID_GEOMETRY,
ID_TESSELATION_HULL,
ID_TESSELATION_DOMAIN,
ID_COMPUTE,
// Support for subroutine
ID_SUBROUTINE,
ID_END_BUILTIN_IDS
};
}
#include "OgreHeaderSuffix.h"
#endif
Ogre::ID_TARGET_HEIGHT
Definition: OgreScriptCompiler.h:798
Ogre::ImportAbstractNode::target
String target
Definition: OgreScriptCompiler.h:163
Ogre::ID_ON
Definition: OgreScriptCompiler.h:724
Ogre::ID_MAX_LIGHTS
Definition: OgreScriptCompiler.h:681
Ogre::ANT_VARIABLE_SET
Definition: OgreScriptCompiler.h:83
Ogre::ID_TARGET_HEIGHT_SCALED
Definition: OgreScriptCompiler.h:800
Ogre::ID_ALWAYS_PASS
Definition: OgreScriptCompiler.h:644
Ogre::ID_ADD_SMOOTH
Definition: OgreScriptCompiler.h:740
Ogre::ID_ONE_MINUS_DEST_COLOUR
Definition: OgreScriptCompiler.h:626
Ogre::ID_SRC_COLOUR
Definition: OgreScriptCompiler.h:625
Ogre::ID_GAMMA
Definition: OgreScriptCompiler.h:707
Ogre::ID_FRAGMENT_PROGRAM
Definition: OgreScriptCompiler.h:579
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent::mSource
String mSource
Definition: OgreScriptCompiler.h:532
Ogre::ID_EMITTER
Definition: OgreScriptCompiler.h:788
Ogre::ProcessResourceNameScriptCompilerEvent
Definition: OgreScriptCompiler.h:476
Ogre::ID_SCROLL_Y
Definition: OgreScriptCompiler.h:767
Ogre::ID_SHADOWS_ENABLED
Definition: OgreScriptCompiler.h:814
Ogre::ID_COLOUR_OP_EX
Definition: OgreScriptCompiler.h:734
Ogre::ID_SHARED_PARAMS
Definition: OgreScriptCompiler.h:783
Ogre::ID_POINTS
Definition: OgreScriptCompiler.h:673
Ogre::ID_ANTICLOCKWISE
Definition: OgreScriptCompiler.h:660
Ogre::ScriptCompiler::mGroup
String mGroup
Definition: OgreScriptCompiler.h:277
Ogre::ID_BLEND_TEXTURE_ALPHA
Definition: OgreScriptCompiler.h:744
Ogre::ID_SCHEME
Definition: OgreScriptCompiler.h:608
Ogre::ID_SCALE_X
Definition: OgreScriptCompiler.h:768
Ogre::ID_GOURAUD
Definition: OgreScriptCompiler.h:668
Ogre::ID_MASK
Definition: OgreScriptCompiler.h:837
Ogre::ID_LOD_STRATEGY
Definition: OgreScriptCompiler.h:594
Ogre::ID_TARGET
Definition: OgreScriptCompiler.h:792
Ogre::ANT_VARIABLE_ACCESS
Definition: OgreScriptCompiler.h:84
Ogre::ScriptCompilerListener::~ScriptCompilerListener
virtual ~ScriptCompilerListener()
Definition: OgreScriptCompiler.h:349
Ogre::ScriptCompilerManager::mManagers
vector< ScriptTranslatorManager * >::type mManagers
Definition: OgreScriptCompiler.h:396
Ogre::ID_MODULATE_X4
Definition: OgreScriptCompiler.h:738
Ogre::ID_BLEND_DIFFUSE_COLOUR
Definition: OgreScriptCompiler.h:742
Ogre::ID_2DARRAY
Definition: OgreScriptCompiler.h:704
Ogre::AtomAbstractNode::id
uint32 id
Definition: OgreScriptCompiler.h:113
Ogre::ScriptCompiler::mImportTable
AbstractNodeList mImportTable
Definition: OgreScriptCompiler.h:290
Ogre::ID_SINE
Definition: OgreScriptCompiler.h:770
Ogre::ID_WAVE_XFORM
Definition: OgreScriptCompiler.h:765
Ogre::ObjectAbstractNode::children
AbstractNodeList children
Definition: OgreScriptCompiler.h:132
Ogre::ScriptTranslatorManager
The ScriptTranslatorManager manages the lifetime and access to script translators.
Definition: OgreScriptTranslator.h:101
Ogre::ID_SHADOW_RECEIVER_FRAGMENT_PROGRAM_REF
Definition: OgreScriptCompiler.h:589
Ogre::ID_ENV_MAP
Definition: OgreScriptCompiler.h:755
_OgreExport
#define _OgreExport
Definition: OgrePlatform.h:257
Ogre::ScriptLoader
Abstract class defining the interface used by classes which wish to perform script loading to define ...
Definition: OgreScriptLoader.h:59
Ogre::ID_FAIL_OP
Definition: OgreScriptCompiler.h:838
Ogre::ID_ITERATION
Definition: OgreScriptCompiler.h:683
Ogre::ID_SHADING
Definition: OgreScriptCompiler.h:666
Ogre::list
Definition: OgrePrerequisites.h:505
Ogre::ID_FRAGMENT
Definition: OgreScriptCompiler.h:778
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent::mProgramType
GpuProgramType mProgramType
Definition: OgreScriptCompiler.h:533
Ogre::ID_LOD_VALUES
Definition: OgreScriptCompiler.h:593
Ogre::ScriptCompiler::Error::message
String message
Definition: OgreScriptCompiler.h:197
Ogre::CreateMaterialScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:509
Ogre::ID_SYNTAX
Definition: OgreScriptCompiler.h:601
Ogre::ID_INCREMENT_WRAP
Definition: OgreScriptCompiler.h:842
Ogre::ID_SRC_DIFFUSE
Definition: OgreScriptCompiler.h:750
Ogre::AbstractNodePtr
SharedPtr< AbstractNode > AbstractNodePtr
Definition: OgreScriptCompiler.h:86
Ogre::ID_SOURCE1
Definition: OgreScriptCompiler.h:735
OgreSharedPtr.h
Ogre::ID_COLOUR_WRITE
Definition: OgreScriptCompiler.h:680
Ogre::ObjectAbstractNode::values
AbstractNodeList values
Definition: OgreScriptCompiler.h:133
Ogre::ID_DEPTH_VALUE
Definition: OgreScriptCompiler.h:831
Ogre::vector::type
std::vector< T, A > type
Definition: OgrePrerequisites.h:494
Ogre::CreateMaterialScriptCompilerEvent::CreateMaterialScriptCompilerEvent
CreateMaterialScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
Definition: OgreScriptCompiler.h:511
Ogre::PreApplyTextureAliasesScriptCompilerEvent::PreApplyTextureAliasesScriptCompilerEvent
PreApplyTextureAliasesScriptCompilerEvent(Material *material, AliasTextureNamePairList *aliases)
Definition: OgreScriptCompiler.h:472
Ogre::PreApplyTextureAliasesScriptCompilerEvent::mAliases
AliasTextureNamePairList * mAliases
Definition: OgreScriptCompiler.h:469
Ogre::ID_LOD_BIAS
Definition: OgreScriptCompiler.h:812
OGRE_THREAD_POINTER
#define OGRE_THREAD_POINTER(T, var)
Definition: OgreThreadDefinesBoost.h:66
Ogre::ID_CULL_SOFTWARE
Definition: OgreScriptCompiler.h:661
Ogre::ID_POINT_SIZE_MIN
Definition: OgreScriptCompiler.h:695
Ogre::ScriptCompiler::~ScriptCompiler
virtual ~ScriptCompiler()
Definition: OgreScriptCompiler.h:223
Ogre::CreateParticleSystemScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:557
Ogre::ID_COMPUTE_PROGRAM_REF
Definition: OgreScriptCompiler.h:858
Ogre::ID_CONTENT_TYPE
Definition: OgreScriptCompiler.h:779
Ogre::ID_GPU_DEVICE_RULE
Definition: OgreScriptCompiler.h:611
Ogre::ID_PREVIOUS
Definition: OgreScriptCompiler.h:796
Ogre::ID_CHECK
Definition: OgreScriptCompiler.h:834
Ogre::ID_STENCIL
Definition: OgreScriptCompiler.h:817
Ogre::ID_SRC_ALPHA
Definition: OgreScriptCompiler.h:629
Ogre::ID_SUBROUTINE
Definition: OgreScriptCompiler.h:866
Ogre::ID_POLYGON_MODE
Definition: OgreScriptCompiler.h:670
Ogre::ID_SQUARE
Definition: OgreScriptCompiler.h:772
Ogre::CreateCompositorScriptCompilerEvent::CreateCompositorScriptCompilerEvent
CreateCompositorScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
Definition: OgreScriptCompiler.h:569
Ogre::ScriptCompiler::CE_INVALIDPARAMETERS
Definition: OgreScriptCompiler.h:213
Ogre::ID_POINT_SIZE
Definition: OgreScriptCompiler.h:692
Ogre::ID_STENCIL_VALUE
Definition: OgreScriptCompiler.h:832
Ogre::ID_CAMERA_FAR_CORNERS_VIEW_SPACE
Definition: OgreScriptCompiler.h:824
Ogre::ID_INVERSE_SAWTOOTH
Definition: OgreScriptCompiler.h:774
Ogre::ID_DEPTH_FUNC
Definition: OgreScriptCompiler.h:640
Ogre::Real
float Real
Software floating point type.
Definition: OgrePrerequisites.h:70
Ogre::AbstractNode
Definition: OgreScriptCompiler.h:91
Ogre::ID_DECREMENT_WRAP
Definition: OgreScriptCompiler.h:843
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:534
Ogre::ID_3D
Definition: OgreScriptCompiler.h:702
Ogre::ID_IDENTIFIER
Definition: OgreScriptCompiler.h:820
Ogre::ID_TRANSPARENCY_CASTS_SHADOWS
Definition: OgreScriptCompiler.h:597
Ogre::ScriptCompiler::mErrors
ErrorList mErrors
Definition: OgreScriptCompiler.h:293
Ogre::ID_ALPHA
Definition: OgreScriptCompiler.h:706
Ogre::ID_COLOUR_BLEND
Definition: OgreScriptCompiler.h:621
Ogre::ID_POINT_SIZE_MAX
Definition: OgreScriptCompiler.h:696
Ogre::ID_ALPHA_TO_COVERAGE
Definition: OgreScriptCompiler.h:652
Ogre::ID_FRAGMENT_PROGRAM_REF
Definition: OgreScriptCompiler.h:585
Ogre::StringVector
vector< String >::type StringVector
Definition: OgreStringVector.h:45
Ogre::ID_SHADOW_CASTER_VERTEX_PROGRAM_REF
Definition: OgreScriptCompiler.h:586
Ogre::ID_MATERIAL
Definition: OgreScriptCompiler.h:576
Ogre::ID_2D
Definition: OgreScriptCompiler.h:701
Ogre::ScriptCompilerListener
This is a listener for the compiler.
Definition: OgreScriptCompiler.h:345
Ogre::ID_BACK
Definition: OgreScriptCompiler.h:662
Ogre::ScriptTranslator
This class translates script AST (abstract syntax tree) into Ogre resources.
Definition: OgreScriptTranslator.h:48
Ogre::ID_TECHNIQUE
Definition: OgreScriptCompiler.h:580
Ogre::ID_LAST_RENDER_QUEUE
Definition: OgreScriptCompiler.h:822
Ogre::ScriptCompiler::ImportRequestMap
multimap< String, String >::type ImportRequestMap
Definition: OgreScriptCompiler.h:286
Ogre::ID_DEFAULT_PARAMS
Definition: OgreScriptCompiler.h:602
Ogre::ID_CMPTEST
Definition: OgreScriptCompiler.h:723
Ogre::ScriptCompiler::mImports
ImportCacheMap mImports
Definition: OgreScriptCompiler.h:285
Ogre::ID_WIREFRAME
Definition: OgreScriptCompiler.h:672
Ogre::ID_TRIANGLE
Definition: OgreScriptCompiler.h:771
Ogre::ID_TESSELATION_HULL_PROGRAM
Suport for shader model 5.0.
Definition: OgreScriptCompiler.h:853
Ogre::CreateParticleSystemScriptCompilerEvent::mResourceGroup
String mResourceGroup
Definition: OgreScriptCompiler.h:556
Ogre::ID_COMBINED_UVW
Definition: OgreScriptCompiler.h:711
Ogre::ID_TRANSFORM
Definition: OgreScriptCompiler.h:775
Ogre::ID_ITERATION_DEPTH_BIAS
Definition: OgreScriptCompiler.h:642
Ogre::ANT_OBJECT
Definition: OgreScriptCompiler.h:80
Ogre::PropertyAbstractNode::name
String name
Definition: OgreScriptCompiler.h:150
Ogre::ID_START_LIGHT
Definition: OgreScriptCompiler.h:682
Ogre::ID_GEOMETRY
Definition: OgreScriptCompiler.h:860
Ogre::ID_CUBIC_NORMAL
Definition: OgreScriptCompiler.h:759
Ogre::CNT_VARIABLE
Definition: OgreScriptCompiler.h:51
Ogre::ID_CLAMP
Definition: OgreScriptCompiler.h:715
Ogre::ID_PASS_OP
Definition: OgreScriptCompiler.h:846
Ogre::ScriptCompiler::ErrorPtr
SharedPtr< Error > ErrorPtr
Definition: OgreScriptCompiler.h:201
Ogre::ScriptCompiler::mIds
IdMap mIds
Definition: OgreScriptCompiler.h:279
Ogre::ID_MAX
Definition: OgreScriptCompiler.h:636
Ogre::ID_CUBIC_TEXTURE
Definition: OgreScriptCompiler.h:709
Ogre::ProcessResourceNameScriptCompilerEvent::ProcessResourceNameScriptCompilerEvent
ProcessResourceNameScriptCompilerEvent(ResourceType resourceType, const String &name)
Definition: OgreScriptCompiler.h:490
Ogre::ObjectAbstractNode::overrides
AbstractNodeList overrides
Definition: OgreScriptCompiler.h:134
Ogre::ID_DECREMENT
Definition: OgreScriptCompiler.h:841
Ogre::ID_SPHERICAL
Definition: OgreScriptCompiler.h:756
Ogre::ID_PER_LIGHT
Definition: OgreScriptCompiler.h:686
Ogre::ID_LESS_EQUAL
Definition: OgreScriptCompiler.h:645
Ogre::ID_TEXTURE_SOURCE
Definition: OgreScriptCompiler.h:782
Ogre::ID_LESS
Definition: OgreScriptCompiler.h:646
Ogre::ID_SET_TEXTURE_ALIAS
Definition: OgreScriptCompiler.h:598
Ogre::ID_VERTEX_PROGRAM
Definition: OgreScriptCompiler.h:577
Ogre::Any
Variant type that can hold Any other type.
Definition: OgreAny.h:56
Ogre::ID_ONCE_PER_LIGHT
Definition: OgreScriptCompiler.h:685
Ogre::CreateGpuSharedParametersScriptCompilerEvent
Definition: OgreScriptCompiler.h:543
Ogre::ID_UNLIMITED
Definition: OgreScriptCompiler.h:705
Ogre::ID_SCOPE_LOCAL
Definition: OgreScriptCompiler.h:803
Ogre::ID_RENDER_SCENE
Definition: OgreScriptCompiler.h:818
Ogre::ObjectAbstractNode::id
uint32 id
Definition: OgreScriptCompiler.h:130
Ogre::ID_FILTERING
Definition: OgreScriptCompiler.h:719
Ogre::ID_DOT_PRODUCT
Definition: OgreScriptCompiler.h:747
Ogre::ID_TEX_BORDER_COLOUR
Definition: OgreScriptCompiler.h:718
Ogre::ID_SRC_MANUAL
Definition: OgreScriptCompiler.h:752
Ogre::ID_LOD_DISTANCES
Definition: OgreScriptCompiler.h:595
Ogre::ScriptCompiler::AbstractTreeBuilder::mNodes
AbstractNodeListPtr mNodes
Definition: OgreScriptCompiler.h:301
Ogre::ScriptCompiler::Error
Definition: OgreScriptCompiler.h:195
Ogre::ID_SRC_CURRENT
Definition: OgreScriptCompiler.h:748
Ogre::AbstractNode::~AbstractNode
virtual ~AbstractNode()
Definition: OgreScriptCompiler.h:101
Ogre::ID_VISIBILITY_MASK
Definition: OgreScriptCompiler.h:811
Ogre::ID_CLEAR
Definition: OgreScriptCompiler.h:816
Ogre::ID_REF_VALUE
Definition: OgreScriptCompiler.h:836
Ogre::ID_DEPTH
Definition: OgreScriptCompiler.h:829
Ogre::ID_KEEP
Definition: OgreScriptCompiler.h:839
Ogre::ANT_PROPERTY
Definition: OgreScriptCompiler.h:81
Ogre::ID_SRC_SPECULAR
Definition: OgreScriptCompiler.h:751
Ogre::ConcreteNode
Definition: OgreScriptCompiler.h:66
Ogre::AbstractNode::context
Any context
Definition: OgreScriptCompiler.h:98
Ogre::ID_AMBIENT
Definition: OgreScriptCompiler.h:615
Ogre::ProcessResourceNameScriptCompilerEvent::ResourceType
ResourceType
Definition: OgreScriptCompiler.h:479
Ogre::ID_GEOMETRY_PROGRAM_REF
Definition: OgreScriptCompiler.h:584
Ogre::AbstractNode::type
AbstractNodeType type
Definition: OgreScriptCompiler.h:96
Ogre::ProcessResourceNameScriptCompilerEvent::MATERIAL
Definition: OgreScriptCompiler.h:482
Ogre::ID_DEST_ALPHA
Definition: OgreScriptCompiler.h:628
Ogre::ConcreteNode::parent
ConcreteNode * parent
Definition: OgreScriptCompiler.h:72
Ogre::ID_DIFFUSE
Definition: OgreScriptCompiler.h:616
Ogre::ID_SEPARATE_UV
Definition: OgreScriptCompiler.h:710
Ogre::ID_TESSELATION_HULL
Definition: OgreScriptCompiler.h:861
Ogre::ScriptCompiler::Error::code
uint32 code
Definition: OgreScriptCompiler.h:199
Ogre::CreateParticleSystemScriptCompilerEvent::CreateParticleSystemScriptCompilerEvent
CreateParticleSystemScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
Definition: OgreScriptCompiler.h:559
Ogre::ID_AFFECTOR
Definition: OgreScriptCompiler.h:789
Ogre::ID_PASS
Definition: OgreScriptCompiler.h:581
Ogre::ID_VERTEX
Definition: OgreScriptCompiler.h:777
Ogre::ConcreteNodeType
ConcreteNodeType
These enums hold the types of the concrete parsed nodes.
Definition: OgreScriptCompiler.h:49
Ogre::ScriptCompiler::CE_DUPLICATEOVERRIDE
Definition: OgreScriptCompiler.h:214
Ogre::ID_LIGHTING
Definition: OgreScriptCompiler.h:665
Ogre::ProcessNameExclusionScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:499
Ogre::ScriptCompiler::CE_NUMBEREXPECTED
Definition: OgreScriptCompiler.h:207
Ogre::ID_DECAL
Definition: OgreScriptCompiler.h:657
Ogre::ScriptCompilerEvent
This struct is a base class for events which can be thrown by the compilers and caught by subscribers...
Definition: OgreScriptCompiler.h:329
Ogre::ID_LIGHT_MASK
Definition: OgreScriptCompiler.h:691
Ogre::ScriptCompilerManager::mBuiltinTranslatorManager
ScriptTranslatorManager * mBuiltinTranslatorManager
Definition: OgreScriptCompiler.h:399
Ogre::ID_NOT_EQUAL
Definition: OgreScriptCompiler.h:648
Ogre::ID_SOLID
Definition: OgreScriptCompiler.h:671
Ogre::ID_COMP_FUNC
Definition: OgreScriptCompiler.h:835
Ogre::ID_TWO_SIDED
Definition: OgreScriptCompiler.h:847
Ogre::PropertyAbstractNode::values
AbstractNodeList values
Definition: OgreScriptCompiler.h:152
Ogre::ID_POOLED
Definition: OgreScriptCompiler.h:806
Ogre::ID_INCREMENT
Definition: OgreScriptCompiler.h:840
Ogre::ID_ONE_MINUS_DEST_ALPHA
Definition: OgreScriptCompiler.h:630
Ogre::ConcreteNodePtr
SharedPtr< ConcreteNode > ConcreteNodePtr
Definition: OgreScriptCompiler.h:62
Ogre::ID_CUBIC
Definition: OgreScriptCompiler.h:703
Ogre::ID_MIN
Definition: OgreScriptCompiler.h:635
Ogre::ID_MAX_ANISOTROPY
Definition: OgreScriptCompiler.h:727
Ogre::AliasTextureNamePairList
map< String, String >::type AliasTextureNamePairList
Alias / Texture name pair (first = alias, second = texture name)
Definition: OgreCommon.h:553
Ogre::ID_VERTEXCOLOUR
Definition: OgreScriptCompiler.h:619
Ogre::ScriptCompiler::AbstractTreeBuilder
Definition: OgreScriptCompiler.h:298
Ogre::ID_NORMALISE_NORMALS
Definition: OgreScriptCompiler.h:664
Ogre::AbstractNode::parent
AbstractNode * parent
Definition: OgreScriptCompiler.h:97
Ogre::ID_PARAM_NAMED
Definition: OgreScriptCompiler.h:604
Ogre::ID_CUBIC_REFLECTION
Definition: OgreScriptCompiler.h:758
Ogre::ID_ALWAYS_FAIL
Definition: OgreScriptCompiler.h:643
Ogre::ID_TEXTURE_REF
Definition: OgreScriptCompiler.h:802
Ogre::ID_DEPTH_POOL
Definition: OgreScriptCompiler.h:809
Ogre::ObjectAbstractNode::mEnv
map< String, String >::type mEnv
Definition: OgreScriptCompiler.h:126
Ogre::ID_GPU_VENDOR_RULE
Definition: OgreScriptCompiler.h:610
Ogre::ID_FRONT
Definition: OgreScriptCompiler.h:663
Ogre::ProcessNameExclusionScriptCompilerEvent::mClass
String mClass
Definition: OgreScriptCompiler.h:497
Ogre::ScriptCompiler::CE_UNEXPECTEDTOKEN
Definition: OgreScriptCompiler.h:215
Ogre::ID_BLEND_MANUAL
Definition: OgreScriptCompiler.h:746
Ogre::ANT_UNKNOWN
Definition: OgreScriptCompiler.h:78
Ogre::ID_POINT
Definition: OgreScriptCompiler.h:688
Ogre::ID_ROTATE_ANIM
Definition: OgreScriptCompiler.h:763
Ogre::ID_ADD_SIGNED
Definition: OgreScriptCompiler.h:739
Ogre::ID_1D
Definition: OgreScriptCompiler.h:700
Ogre::PropertyAbstractNode
This abstract node represents a script property.
Definition: OgreScriptCompiler.h:147
Ogre::ID_SEPARATE_SCENE_BLEND
Definition: OgreScriptCompiler.h:632
Ogre::ID_GREATER_EQUAL
Definition: OgreScriptCompiler.h:649
Ogre::ID_ALPHA_BLEND
Definition: OgreScriptCompiler.h:733
Ogre::ID_TARGET_WIDTH_SCALED
Definition: OgreScriptCompiler.h:799
Ogre::ID_ZERO
Definition: OgreScriptCompiler.h:623
Ogre::ID_FLAT
Definition: OgreScriptCompiler.h:667
Ogre::VariableAccessAbstractNode::name
String name
Definition: OgreScriptCompiler.h:174
Ogre::ID_DEPTH_WRITE
Definition: OgreScriptCompiler.h:639
Ogre::ProcessNameExclusionScriptCompilerEvent::mParent
AbstractNode * mParent
Definition: OgreScriptCompiler.h:498
Ogre::CreateCompositorScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:567
Ogre::ID_LIGHT_CLIP_PLANES
Definition: OgreScriptCompiler.h:654
Ogre::ProcessResourceNameScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:488
Ogre::CNT_VARIABLE_ASSIGN
Definition: OgreScriptCompiler.h:52
Ogre::ScriptCompiler::CE_UNDEFINEDVARIABLE
Definition: OgreScriptCompiler.h:210
Ogre::ScriptCompilerManager::mScriptPatterns
StringVector mScriptPatterns
Definition: OgreScriptCompiler.h:390
Ogre::ID_DEPTH_CHECK
Definition: OgreScriptCompiler.h:638
Ogre::ID_GEOMETRY_PROGRAM
Definition: OgreScriptCompiler.h:578
Ogre::ScriptCompiler::CE_UNSUPPORTEDBYRENDERSYSTEM
Definition: OgreScriptCompiler.h:217
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::ID_TESSELATION_DOMAIN_PROGRAM
Definition: OgreScriptCompiler.h:854
Ogre::ID_SRC_TEXTURE
Definition: OgreScriptCompiler.h:749
Ogre::VariableAccessAbstractNode
This abstract node represents a variable assignment.
Definition: OgreScriptCompiler.h:171
Ogre::ID_PARTICLE_SYSTEM
Definition: OgreScriptCompiler.h:787
Ogre::ID_ALPHA_REJECTION
Definition: OgreScriptCompiler.h:651
Ogre::AbstractNodeList
list< AbstractNodePtr >::type AbstractNodeList
Definition: OgreScriptCompiler.h:88
Ogre::ID_TEXTURE_UNIT
Definition: OgreScriptCompiler.h:582
Ogre::CreateGpuProgramScriptCompilerEvent::mSyntax
String mSyntax
Definition: OgreScriptCompiler.h:518
Ogre::ScriptCompiler::AbstractTreeBuilder::mCompiler
ScriptCompiler * mCompiler
Definition: OgreScriptCompiler.h:303
Ogre::ID_COMPUTE_PROGRAM
Definition: OgreScriptCompiler.h:855
Ogre::ScriptCompiler::Error::line
int line
Definition: OgreScriptCompiler.h:198
Ogre::ID_INVERT
Definition: OgreScriptCompiler.h:844
Ogre::ImportAbstractNode
This abstract node represents an import statement.
Definition: OgreScriptCompiler.h:160
Ogre::ID_CAMERA_FAR_CORNERS_WORLD_SPACE
Definition: OgreScriptCompiler.h:825
Ogre::AtomAbstractNode
This is an abstract node which cannot be broken down further.
Definition: OgreScriptCompiler.h:109
Ogre::ScriptCompilerEvent::mType
String mType
Definition: OgreScriptCompiler.h:332
Ogre::ScriptCompiler::ErrorList
list< ErrorPtr >::type ErrorList
Definition: OgreScriptCompiler.h:202
Ogre::CNT_WORD
Definition: OgreScriptCompiler.h:53
Ogre::ID_SCENE_BLEND
Definition: OgreScriptCompiler.h:620
Ogre::ID_GREATER
Definition: OgreScriptCompiler.h:650
Ogre::ID_TARGET_OUTPUT
Definition: OgreScriptCompiler.h:793
Ogre::GpuProgramType
GpuProgramType
Enumerates the types of programs which can run on the GPU.
Definition: OgreGpuProgram.h:50
Ogre::ID_SCENE_BLEND_OP
Definition: OgreScriptCompiler.h:633
Ogre::ID_SCALE_Y
Definition: OgreScriptCompiler.h:769
Ogre::ID_SCROLL_ANIM
Definition: OgreScriptCompiler.h:761
Ogre::ID_NO_FSAA
Definition: OgreScriptCompiler.h:808
Ogre::ScriptCompiler::mListener
ScriptCompilerListener * mListener
Definition: OgreScriptCompiler.h:296
Ogre::ScriptCompiler::ImportCacheMap
map< String, AbstractNodeListPtr >::type ImportCacheMap
Definition: OgreScriptCompiler.h:284
Ogre::ID_SHADOW
Definition: OgreScriptCompiler.h:781
Ogre::ID_TEX_COORD_SET
Definition: OgreScriptCompiler.h:712
Ogre::ID_TEXTURE_ALIAS
Definition: OgreScriptCompiler.h:698
Ogre::ID_SPOT
Definition: OgreScriptCompiler.h:689
Ogre::ID_COLOUR_OP
Definition: OgreScriptCompiler.h:729
Ogre::ObjectAbstractNode::name
String name
Definition: OgreScriptCompiler.h:128
Ogre::ID_TEXTURE
Definition: OgreScriptCompiler.h:699
Ogre::ConcreteNodeList
list< ConcreteNodePtr >::type ConcreteNodeList
Definition: OgreScriptCompiler.h:64
Ogre::ID_SHADOW_RECEIVER_MATERIAL
Definition: OgreScriptCompiler.h:591
Ogre::ScriptCompilerManager
Manages threaded compilation of scripts.
Definition: OgreScriptCompiler.h:384
Ogre::ScriptCompilerEvent::~ScriptCompilerEvent
virtual ~ScriptCompilerEvent()
Definition: OgreScriptCompiler.h:335
Ogre::ID_BLEND_DIFFUSE_ALPHA
Definition: OgreScriptCompiler.h:743
Ogre::ScriptCompiler::IdMap
HashMap< String, uint32 > IdMap
Definition: OgreScriptCompiler.h:192
OgreHeaderSuffix.h
Ogre::ID_ONE
Definition: OgreScriptCompiler.h:622
Ogre::ID_ONCE
Definition: OgreScriptCompiler.h:684
Ogre::ID_DIRECTIONAL
Definition: OgreScriptCompiler.h:690
Ogre::ID_SCALE
Definition: OgreScriptCompiler.h:764
Ogre::ID_ONE_MINUS_SRC_ALPHA
Definition: OgreScriptCompiler.h:631
Ogre::CreateMaterialScriptCompilerEvent
Definition: OgreScriptCompiler.h:505
Ogre::ID_POINT_SIZE_ATTENUATION
Definition: OgreScriptCompiler.h:694
Ogre::ProcessNameExclusionScriptCompilerEvent::ProcessNameExclusionScriptCompilerEvent
ProcessNameExclusionScriptCompilerEvent(const String &cls, AbstractNode *parent)
Definition: OgreScriptCompiler.h:501
Ogre::PropertyAbstractNode::id
uint32 id
Definition: OgreScriptCompiler.h:151
Ogre::ID_REVERSE_SUBTRACT
Definition: OgreScriptCompiler.h:634
Ogre::ID_OFF
Definition: OgreScriptCompiler.h:725
Ogre::ScriptCompiler::CE_OBJECTALLOCATIONERROR
Definition: OgreScriptCompiler.h:212
Ogre::ID_SUBTRACT
Definition: OgreScriptCompiler.h:741
Ogre::AbstractNodeListPtr
SharedPtr< AbstractNodeList > AbstractNodeListPtr
Definition: OgreScriptCompiler.h:89
Ogre::ID_SPECULAR
Definition: OgreScriptCompiler.h:617
Ogre::ID_ILLUMINATION_STAGE
Definition: OgreScriptCompiler.h:656
Ogre::uint32
unsigned int uint32
Definition: OgrePlatform.h:359
Ogre::ScriptCompiler::CE_STRINGEXPECTED
Definition: OgreScriptCompiler.h:206
OgreAny.h
Ogre::ID_POLYGON_MODE_OVERRIDEABLE
Definition: OgreScriptCompiler.h:674
Ogre::ID_VERTEX_PROGRAM_REF
Definition: OgreScriptCompiler.h:583
Ogre::ID_END_BUILTIN_IDS
Definition: OgreScriptCompiler.h:868
Ogre::ID_CULL_HARDWARE
Definition: OgreScriptCompiler.h:658
Ogre::PreApplyTextureAliasesScriptCompilerEvent
Definition: OgreScriptCompiler.h:465
Ogre::ScriptCompilerEvent::ScriptCompilerEvent
ScriptCompilerEvent(const String &type)
Definition: OgreScriptCompiler.h:334
Ogre::CNT_COLON
Definition: OgreScriptCompiler.h:58
Ogre::ID_PARAM_INDEXED_AUTO
Definition: OgreScriptCompiler.h:605
Ogre::CNT_QUOTE
Definition: OgreScriptCompiler.h:55
Ogre::ScriptCompiler::CE_OBJECTNAMEEXPECTED
Definition: OgreScriptCompiler.h:211
Ogre::ID_ONE_MINUS_SRC_COLOUR
Definition: OgreScriptCompiler.h:627
Ogre::ID_SHARED_PARAMS_REF
Definition: OgreScriptCompiler.h:785
Ogre::ScriptCompilerManager::OGRE_AUTO_MUTEX
OGRE_AUTO_MUTEX
Definition: OgreScriptCompiler.h:387
Ogre::ANT_IMPORT
Definition: OgreScriptCompiler.h:82
Ogre::ID_BILINEAR
Definition: OgreScriptCompiler.h:720
Ogre
Definition: OgreAndroidLogListener.h:34
Ogre::ID_SHADOW_CASTER_MATERIAL
Definition: OgreScriptCompiler.h:590
Ogre::CreateGpuSharedParametersScriptCompilerEvent::CreateGpuSharedParametersScriptCompilerEvent
CreateGpuSharedParametersScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
Definition: OgreScriptCompiler.h:549
Ogre::ID_PARAM_NAMED_AUTO
Definition: OgreScriptCompiler.h:606
Ogre::Material
Class encapsulates rendering properties of an object.
Definition: OgreMaterial.h:88
Ogre::ScriptCompiler::Environment
map< String, String >::type Environment
Definition: OgreScriptCompiler.h:281
Ogre::ID_COMPOSITOR
Definition: OgreScriptCompiler.h:791
Ogre::CreateCompositorScriptCompilerEvent::mResourceGroup
String mResourceGroup
Definition: OgreScriptCompiler.h:566
Ogre::ID_EXCLUDE
Definition: OgreScriptCompiler.h:613
Ogre::ID_SAWTOOTH
Definition: OgreScriptCompiler.h:773
Ogre::ID_BLEND_CURRENT_ALPHA
Definition: OgreScriptCompiler.h:745
Ogre::ID_EXP2
Definition: OgreScriptCompiler.h:679
Ogre::ProcessResourceNameScriptCompilerEvent::mName
String mName
Definition: OgreScriptCompiler.h:487
Ogre::CreateParticleSystemScriptCompilerEvent
Definition: OgreScriptCompiler.h:553
Ogre::CreateGpuProgramScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:520
Ogre::CreateGpuSharedParametersScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:547
Ogre::ID_DEST_COLOUR
Definition: OgreScriptCompiler.h:624
Ogre::ScriptCompiler::mImportRequests
ImportRequestMap mImportRequests
Definition: OgreScriptCompiler.h:287
Ogre::CreateGpuProgramScriptCompilerEvent::mProgramType
GpuProgramType mProgramType
Definition: OgreScriptCompiler.h:519
Ogre::ScriptCompiler::CE_FEWERPARAMETERSEXPECTED
Definition: OgreScriptCompiler.h:208
Ogre::ID_EQUAL
Definition: OgreScriptCompiler.h:647
Ogre::SharedPtr
Reference-counted shared pointer, used for objects where implicit destruction is required.
Definition: OgrePrerequisites.h:310
Ogre::PreApplyTextureAliasesScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:470
Ogre::AbstractNode::line
unsigned int line
Definition: OgreScriptCompiler.h:95
Ogre::ID_TESSELATION_DOMAIN
Definition: OgreScriptCompiler.h:862
Ogre::ID_SOURCE2
Definition: OgreScriptCompiler.h:736
Ogre::CreateGpuProgramScriptCompilerEvent
Definition: OgreScriptCompiler.h:515
Ogre::ID_TEX_ADDRESS_MODE
Definition: OgreScriptCompiler.h:713
Ogre::vector
Definition: OgrePrerequisites.h:491
Ogre::ID_LINEAR
Definition: OgreScriptCompiler.h:677
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent
Definition: OgreScriptCompiler.h:529
Ogre::ID_POINT_SPRITES
Definition: OgreScriptCompiler.h:693
Ogre::ID_LOD_INDEX
Definition: OgreScriptCompiler.h:609
Ogre::ID_LIGHT_SCISSOR
Definition: OgreScriptCompiler.h:653
OgreHeaderPrefix.h
Ogre::ID_ALPHA_OP_EX
Definition: OgreScriptCompiler.h:754
Ogre::ID_SOURCE
Definition: OgreScriptCompiler.h:600
Ogre::ScriptCompiler::CE_OBJECTBASENOTFOUND
Definition: OgreScriptCompiler.h:216
Ogre::CNT_IMPORT
Definition: OgreScriptCompiler.h:54
Ogre::ProcessResourceNameScriptCompilerEvent::TEXTURE
Definition: OgreScriptCompiler.h:481
Ogre::ID_ANISOTROPIC
Definition: OgreScriptCompiler.h:722
Ogre::ProcessNameExclusionScriptCompilerEvent
Definition: OgreScriptCompiler.h:494
Ogre::ID_QUAD_NORMALS
Definition: OgreScriptCompiler.h:823
Ogre::ID_MIPMAP_BIAS
Definition: OgreScriptCompiler.h:728
Ogre::ID_PARAM_INDEXED
Definition: OgreScriptCompiler.h:603
Ogre::ID_SCOPE_CHAIN
Definition: OgreScriptCompiler.h:804
Ogre::Singleton
Template class for creating single-instance global classes.
Definition: OgreSingleton.h:64
Ogre::ID_COMPUTE
Definition: OgreScriptCompiler.h:863
Ogre::CNT_LBRACE
Definition: OgreScriptCompiler.h:56
Ogre::ObjectAbstractNode
This specific abstract node represents a script object.
Definition: OgreScriptCompiler.h:123
Ogre::ID_SHARED_PARAM_NAMED
Definition: OgreScriptCompiler.h:784
Ogre::ID_FIRST_RENDER_QUEUE
Definition: OgreScriptCompiler.h:821
Ogre::ID_CLOCKWISE
Definition: OgreScriptCompiler.h:659
Ogre::PreApplyTextureAliasesScriptCompilerEvent::mMaterial
Material * mMaterial
Definition: OgreScriptCompiler.h:468
Ogre::ID_CMPFUNC
Definition: OgreScriptCompiler.h:726
Ogre::ID_SCROLL
Definition: OgreScriptCompiler.h:760
Ogre::CreateCompositorScriptCompilerEvent
Definition: OgreScriptCompiler.h:563
Ogre::ID_MATERIAL_SCHEME
Definition: OgreScriptCompiler.h:813
Ogre::ConcreteNode::line
unsigned int line
Definition: OgreScriptCompiler.h:69
Ogre::ID_REPLACE
Definition: OgreScriptCompiler.h:730
Ogre::map
Definition: OgrePrerequisites.h:533
Ogre::ID_PHONG
Definition: OgreScriptCompiler.h:669
Ogre::ID_EXP
Definition: OgreScriptCompiler.h:678
Ogre::ScriptCompiler::mEnv
Environment mEnv
Definition: OgreScriptCompiler.h:282
Ogre::CreateMaterialScriptCompilerEvent::mResourceGroup
String mResourceGroup
Definition: OgreScriptCompiler.h:508
Ogre::ANT_ATOM
Definition: OgreScriptCompiler.h:79
Ogre::ProcessResourceNameScriptCompilerEvent::GPU_PROGRAM
Definition: OgreScriptCompiler.h:483
Ogre::ID_TESSELATION_DOMAIN_PROGRAM_REF
Definition: OgreScriptCompiler.h:857
Ogre::ConcreteNode::type
ConcreteNodeType type
Definition: OgreScriptCompiler.h:70
Ogre::ID_RECEIVE_SHADOWS
Definition: OgreScriptCompiler.h:596
Ogre::ID_DEPTH_BIAS
Definition: OgreScriptCompiler.h:641
Ogre::ID_TRANSPARENT_SORTING
Definition: OgreScriptCompiler.h:655
OgreMaterial.h
Ogre::ID_BINDING_TYPE
Definition: OgreScriptCompiler.h:776
OgreCompositor.h
Ogre::ID_NAMED
Definition: OgreScriptCompiler.h:780
Ogre::ID_FOG_OVERRIDE
Definition: OgreScriptCompiler.h:675
Ogre::ID_MODULATE_X2
Definition: OgreScriptCompiler.h:737
Ogre::ID_RENDER_QUAD
Definition: OgreScriptCompiler.h:819
Ogre::CreateGpuProgramScriptCompilerEvent::CreateGpuProgramScriptCompilerEvent
CreateGpuProgramScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup, const String &source, const String &syntax, GpuProgramType programType)
Definition: OgreScriptCompiler.h:522
Ogre::ScriptCompilerManager::mListener
ScriptCompilerListener * mListener
Definition: OgreScriptCompiler.h:393
Ogre::AtomAbstractNode::value
String value
Definition: OgreScriptCompiler.h:112
Ogre::CNT_RBRACE
Definition: OgreScriptCompiler.h:57
Ogre::ID_EMISSIVE
Definition: OgreScriptCompiler.h:618
Ogre::ID_NONE
Definition: OgreScriptCompiler.h:676
Ogre::AbstractNode::file
String file
Definition: OgreScriptCompiler.h:94
Ogre::ID_SEPARATE_SCENE_BLEND_OP
Definition: OgreScriptCompiler.h:637
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent::CreateHighLevelGpuProgramScriptCompilerEvent
CreateHighLevelGpuProgramScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup, const String &source, const String &language, GpuProgramType programType)
Definition: OgreScriptCompiler.h:536
Ogre::ID_INPUT
Definition: OgreScriptCompiler.h:795
Ogre::ID_ANIM_TEXTURE
Definition: OgreScriptCompiler.h:708
Ogre::ID_BUFFERS
Definition: OgreScriptCompiler.h:827
Ogre::ObjectAbstractNode::bases
vector< String >::type bases
Definition: OgreScriptCompiler.h:129
Ogre::ID_MODULATE
Definition: OgreScriptCompiler.h:732
Ogre::ID_INCLUDE
Definition: OgreScriptCompiler.h:612
Ogre::ID_WRAP
Definition: OgreScriptCompiler.h:714
Ogre::ID_SHADOW_RECEIVER_VERTEX_PROGRAM_REF
Definition: OgreScriptCompiler.h:588
Ogre::ID_COLOUR_VALUE
Definition: OgreScriptCompiler.h:830
Ogre::ProcessResourceNameScriptCompilerEvent::mResourceType
ResourceType mResourceType
Definition: OgreScriptCompiler.h:486
Ogre::AbstractNodeType
AbstractNodeType
This enum holds the types of the possible abstract nodes.
Definition: OgreScriptCompiler.h:76
Ogre::ID_TARGET_WIDTH
Definition: OgreScriptCompiler.h:797
OgreCompositionPass.h
Ogre::ID_SHADOW_CASTER_FRAGMENT_PROGRAM_REF
Definition: OgreScriptCompiler.h:587
Ogre::ID_TESSELATION_HULL_PROGRAM_REF
Definition: OgreScriptCompiler.h:856
Ogre::ScriptCompiler::AbstractTreeBuilder::mCurrent
AbstractNode * mCurrent
Definition: OgreScriptCompiler.h:302
Ogre::ID_BORDER
Definition: OgreScriptCompiler.h:716
Ogre::ID_ADD
Definition: OgreScriptCompiler.h:731
Ogre::ConcreteNode::token
String token
Definition: OgreScriptCompiler.h:68
Ogre::ConcreteNodeListPtr
SharedPtr< ConcreteNodeList > ConcreteNodeListPtr
Definition: OgreScriptCompiler.h:65
OgreHighLevelGpuProgram.h
Ogre::ScriptCompiler
This is the main class for the compiler.
Definition: OgreScriptCompiler.h:188
Ogre::AllocatedObject
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Definition: OgreMemoryAllocatedObject.h:58
Ogre::ScriptCompiler::CE_VARIABLEEXPECTED
Definition: OgreScriptCompiler.h:209
Ogre::ConcreteNode::children
ConcreteNodeList children
Definition: OgreScriptCompiler.h:71
Ogre::ConcreteNode::file
String file
Definition: OgreScriptCompiler.h:68
Ogre::ID_SCROLL_X
Definition: OgreScriptCompiler.h:766
Ogre::ID_MIRROR
Definition: OgreScriptCompiler.h:717
Ogre::ID_DEPTH_FAIL_OP
Definition: OgreScriptCompiler.h:845
Ogre::ID_SCOPE_GLOBAL
Definition: OgreScriptCompiler.h:805
Ogre::ID_TRILINEAR
Definition: OgreScriptCompiler.h:721
Ogre::ID_COLOUR
Definition: OgreScriptCompiler.h:828
Ogre::ID_ONLY_INITIAL
Definition: OgreScriptCompiler.h:810
Ogre::ID_PLANAR
Definition: OgreScriptCompiler.h:757
Ogre::multimap
Definition: OgrePrerequisites.h:547
Ogre::ID_COLOUR_OP_MULTIPASS_FALLBACK
Definition: OgreScriptCompiler.h:753
Ogre::ID_PER_N_LIGHTS
Definition: OgreScriptCompiler.h:687
Ogre::ID_COMPOSITOR_LOGIC
Definition: OgreScriptCompiler.h:801
Ogre::CreateGpuSharedParametersScriptCompilerEvent::mResourceGroup
String mResourceGroup
Definition: OgreScriptCompiler.h:546
Ogre::ID_ROTATE
Definition: OgreScriptCompiler.h:762

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