OgreScriptCompiler.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4  (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
6 
7 Copyright (c) 2000-2013 Torus Knot Software Ltd
8 
9 Permission is hereby granted, free of charge, to any person obtaining a copy
10 of this software and associated documentation files (the "Software"), to deal
11 in the Software without restriction, including without limitation the rights
12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 copies of the Software, and to permit persons to whom the Software is
14 furnished to do so, subject to the following conditions:
15 
16 The above copyright notice and this permission notice shall be included in
17 all copies or substantial portions of the Software.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 THE SOFTWARE.
26 -----------------------------------------------------------------------------
27 */
28 
29 #ifndef __SCRIPTCOMPILER_H_
30 #define __SCRIPTCOMPILER_H_
31 
32 #include "OgreSharedPtr.h"
33 #include "OgreMaterial.h"
35 #include "OgreCompositor.h"
36 #include "OgreCompositionPass.h"
37 #include "OgreAny.h"
38 #include "OgreHeaderPrefix.h"
39 
40 namespace Ogre
41 {
50  {
59  };
60 
62  struct ConcreteNode;
67  {
69  unsigned int line;
73  };
74 
77  {
85  };
86  class AbstractNode;
90 
91  class _OgreExport AbstractNode : public AbstractNodeAlloc
92  {
93  public:
95  unsigned int line;
98  Any context; // A holder for translation context data
99  public:
101  virtual ~AbstractNode(){}
103  virtual AbstractNode *clone() const = 0;
105  virtual String getValue() const = 0;
106  };
107 
109  class _OgreExport AtomAbstractNode : public AbstractNode
110  {
111  public:
114  public:
116  AbstractNode *clone() const;
117  String getValue() const;
118  private:
119  void parseNumber() const;
120  };
121 
123  class _OgreExport ObjectAbstractNode : public AbstractNode
124  {
125  private:
127  public:
128  String name, cls;
131  bool abstract;
134  AbstractNodeList overrides; // For use when processing object inheritance and overriding
135  public:
137  AbstractNode *clone() const;
138  String getValue() const;
139 
140  void addVariable(const String &name);
141  void setVariable(const String &name, const String &value);
142  std::pair<bool,String> getVariable(const String &name) const;
143  const map<String,String>::type &getVariables() const;
144  };
145 
147  class _OgreExport PropertyAbstractNode : public AbstractNode
148  {
149  public:
153  public:
155  AbstractNode *clone() const;
156  String getValue() const;
157  };
158 
160  class _OgreExport ImportAbstractNode : public AbstractNode
161  {
162  public:
163  String target, source;
164  public:
166  AbstractNode *clone() const;
167  String getValue() const;
168  };
169 
171  class _OgreExport VariableAccessAbstractNode : public AbstractNode
172  {
173  public:
175  public:
177  AbstractNode *clone() const;
178  String getValue() const;
179  };
180 
181  class ScriptCompilerEvent;
183 
188  class _OgreExport ScriptCompiler : public ScriptCompilerAlloc
189  {
190  public: // Externally accessible types
191  //typedef map<String,uint32>::type IdMap;
192  typedef HashMap<String,uint32> IdMap;
193 
194  // The container for errors
195  struct Error : public ScriptCompilerAlloc
196  {
198  int line;
200  };
203 
204  // These are the built-in error codes
205  enum{
218  CE_REFERENCETOANONEXISTINGOBJECT
219  };
220  static String formatErrorCode(uint32 code);
221  public:
222  ScriptCompiler();
223  virtual ~ScriptCompiler() {}
224 
226 
231  bool compile(const String &str, const String &source, const String &group);
233  bool compile(const ConcreteNodeListPtr &nodes, const String &group);
235  AbstractNodeListPtr _generateAST(const String &str, const String &source, bool doImports = false, bool doObjects = false, bool doVariables = false);
237  bool _compile(AbstractNodeListPtr nodes, const String &group, bool doImports = true, bool doObjects = true, bool doVariables = true);
239  void addError(uint32 code, const String &file, int line, const String &msg = "");
241  void setListener(ScriptCompilerListener *listener);
243  ScriptCompilerListener *getListener();
245  const String &getResourceGroup() const;
247 
252  void addNameExclusion(const String &type);
254  void removeNameExclusion(const String &type);
256  bool _fireEvent(ScriptCompilerEvent *evt, void *retval);
257  private: // Tree processing
258  AbstractNodeListPtr convertToAST(const ConcreteNodeListPtr &nodes);
260  void processImports(AbstractNodeListPtr &nodes);
262  AbstractNodeListPtr loadImportPath(const String &name);
264  AbstractNodeListPtr locateTarget(AbstractNodeList *nodes, const String &target);
266  void processObjects(AbstractNodeList *nodes, const AbstractNodeListPtr &top);
268  void processVariables(AbstractNodeList *nodes);
270  void overlayObject(const AbstractNodePtr &source, ObjectAbstractNode *dest);
272  bool isNameExcluded(const String &cls, AbstractNode *parent);
274  void initWordMap();
275  private:
276  // Resource group
278  // The word -> id conversion table
280  // This is an environment map
283 
285  ImportCacheMap mImports; // The set of imported scripts to avoid circular dependencies
287  ImportRequestMap mImportRequests; // This holds the target objects for each script to be imported
288 
289  // This stores the imports of the scripts, so they are separated and can be treated specially
291 
292  // Error list
294 
295  // The listener
297  private: // Internal helper classes and processors
299  {
300  private:
304  public:
306  const AbstractNodeListPtr &getResult() const;
307  void visit(ConcreteNode *node);
308  static void visit(AbstractTreeBuilder *visitor, const ConcreteNodeList &nodes);
309  };
310  friend class AbstractTreeBuilder;
311  public: // Public translator definitions
312  // This enum are built-in word id values
313  enum
314  {
315  ID_ON = 1,
316  ID_OFF = 2,
317  ID_TRUE = 1,
318  ID_FALSE = 2,
319  ID_YES = 1,
320  ID_NO = 2
321  };
322  };
323 
330  {
331  public:
333 
334  ScriptCompilerEvent(const String &type):mType(type){}
336  private: // Non-copyable
339  };
340 
345  class _OgreExport ScriptCompilerListener
346  {
347  public:
350 
352  virtual ConcreteNodeListPtr importFile(ScriptCompiler *compiler, const String &name);
354  virtual void preConversion(ScriptCompiler *compiler, ConcreteNodeListPtr nodes);
356 
362  virtual bool postConversion(ScriptCompiler *compiler, const AbstractNodeListPtr&);
364  virtual void handleError(ScriptCompiler *compiler, uint32 code, const String &file, int line, const String &msg);
366 
375  virtual bool handleEvent(ScriptCompiler *compiler, ScriptCompilerEvent *evt, void *retval);
376  };
377 
378  class ScriptTranslator;
379  class ScriptTranslatorManager;
380 
384  class _OgreExport ScriptCompilerManager : public Singleton<ScriptCompilerManager>, public ScriptLoader, public ScriptCompilerAlloc
385  {
386  private:
388 
389  // A list of patterns loaded by this compiler manager
391 
392  // A pointer to the listener used for compiling scripts
394 
395  // Stores a map from object types to the translators that handle them
397 
398  // A pointer to the built-in ScriptTranslatorManager
400 
401  // A pointer to the specific compiler instance used
402  OGRE_THREAD_POINTER(ScriptCompiler, mScriptCompiler);
403  public:
405  virtual ~ScriptCompilerManager();
406 
408  void setListener(ScriptCompilerListener *listener);
410  ScriptCompilerListener *getListener();
411 
413  void addTranslatorManager(ScriptTranslatorManager *man);
415  void removeTranslatorManager(ScriptTranslatorManager *man);
417  void clearTranslatorManagers();
419  ScriptTranslator *getTranslator(const AbstractNodePtr &node);
420 
422  void addScriptPattern(const String &pattern);
424  const StringVector& getScriptPatterns(void) const;
426  void parseScript(DataStreamPtr& stream, const String& groupName);
428  Real getLoadingOrder(void) const;
429 
445  static ScriptCompilerManager& getSingleton(void);
461  static ScriptCompilerManager* getSingletonPtr(void);
462  };
463 
464  // Standard event types
466  {
467  public:
471 
473  :ScriptCompilerEvent(eventType), mMaterial(material), mAliases(aliases){}
474  };
475 
477  {
478  public:
480  {
484  COMPOSITOR
485  };
489 
491  :ScriptCompilerEvent(eventType), mResourceType(resourceType), mName(name){}
492  };
493 
495  {
496  public:
500 
502  :ScriptCompilerEvent(eventType), mClass(cls), mParent(parent){}
503  };
504 
506  {
507  public:
508  String mFile, mName, mResourceGroup;
510 
511  CreateMaterialScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
512  :ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup){}
513  };
514 
516  {
517  public:
518  String mFile, mName, mResourceGroup, mSource, mSyntax;
521 
522  CreateGpuProgramScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup, const String &source,
523  const String &syntax, GpuProgramType programType)
524  :ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup), mSource(source),
525  mSyntax(syntax), mProgramType(programType)
526  {}
527  };
528 
530  {
531  public:
532  String mFile, mName, mResourceGroup, mSource, mLanguage;
535 
536  CreateHighLevelGpuProgramScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup, const String &source,
537  const String &language, GpuProgramType programType)
538  :ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup), mSource(source),
539  mLanguage(language), mProgramType(programType)
540  {}
541  };
542 
544  {
545  public:
546  String mFile, mName, mResourceGroup;
548 
549  CreateGpuSharedParametersScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
550  :ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup){}
551  };
552 
554  {
555  public:
556  String mFile, mName, mResourceGroup;
558 
559  CreateParticleSystemScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
560  :ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup){}
561  };
562 
564  {
565  public:
566  String mFile, mName, mResourceGroup;
568 
569  CreateCompositorScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
570  :ScriptCompilerEvent(eventType), mFile(file), mName(name), mResourceGroup(resourceGroup){}
571  };
572 
574  enum
575  {
592 
599 
607 
614 
697 
786 
790 
794 
807  //ID_GAMMA, - already registered for material
815 
826 
833 
848 #ifdef RTSHADER_SYSTEM_BUILD_CORE_SHADERS
849  ID_RT_SHADER_SYSTEM,
850 #endif
851  // More program IDs
859  // More binding IDs
864 
865  // Support for subroutine
867 
869  };
872 }
873 
874 #include "OgreHeaderSuffix.h"
875 
876 #endif
OgreSharedPtr.h
OgreHeaderSuffix.h
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:534
Ogre::ID_STENCIL_VALUE
@ ID_STENCIL_VALUE
Definition: OgreScriptCompiler.h:832
Ogre::ID_2D
@ ID_2D
Definition: OgreScriptCompiler.h:701
Ogre::ID_INVERT
@ ID_INVERT
Definition: OgreScriptCompiler.h:844
Ogre::ObjectAbstractNode::values
AbstractNodeList values
Definition: OgreScriptCompiler.h:133
Ogre::ConcreteNodeListPtr
SharedPtr< ConcreteNodeList > ConcreteNodeListPtr
Definition: OgreScriptCompiler.h:65
Ogre::ID_LINEAR
@ ID_LINEAR
Definition: OgreScriptCompiler.h:677
Ogre::ScriptCompiler::IdMap
HashMap< String, uint32 > IdMap
Definition: OgreScriptCompiler.h:192
Ogre::ID_POINT_SPRITES
@ ID_POINT_SPRITES
Definition: OgreScriptCompiler.h:693
Ogre::ID_NAMED
@ ID_NAMED
Definition: OgreScriptCompiler.h:780
Ogre::CreateGpuProgramScriptCompilerEvent::mProgramType
GpuProgramType mProgramType
Definition: OgreScriptCompiler.h:519
Ogre::ID_SCENE_BLEND_OP
@ ID_SCENE_BLEND_OP
Definition: OgreScriptCompiler.h:633
Ogre::ID_POINT
@ ID_POINT
Definition: OgreScriptCompiler.h:688
Ogre::ID_DECAL
@ ID_DECAL
Definition: OgreScriptCompiler.h:657
Ogre::ScriptCompiler::CE_UNEXPECTEDTOKEN
@ CE_UNEXPECTEDTOKEN
Definition: OgreScriptCompiler.h:215
Ogre::ID_ALPHA
@ ID_ALPHA
Definition: OgreScriptCompiler.h:706
Ogre::ID_TRANSFORM
@ ID_TRANSFORM
Definition: OgreScriptCompiler.h:775
Ogre::ID_RENDER_QUAD
@ ID_RENDER_QUAD
Definition: OgreScriptCompiler.h:819
Ogre::CreateGpuProgramScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:520
Ogre::ID_GPU_DEVICE_RULE
@ ID_GPU_DEVICE_RULE
Definition: OgreScriptCompiler.h:611
Ogre::ID_PREVIOUS
@ ID_PREVIOUS
Definition: OgreScriptCompiler.h:796
Ogre::ID_EMISSIVE
@ ID_EMISSIVE
Definition: OgreScriptCompiler.h:618
Ogre::ID_GEOMETRY
@ ID_GEOMETRY
Definition: OgreScriptCompiler.h:860
Ogre::ID_CLAMP
@ ID_CLAMP
Definition: OgreScriptCompiler.h:715
Ogre::ID_SRC_ALPHA
@ ID_SRC_ALPHA
Definition: OgreScriptCompiler.h:629
Ogre::ID_INPUT
@ ID_INPUT
Definition: OgreScriptCompiler.h:795
Ogre::ID_TARGET_WIDTH_SCALED
@ ID_TARGET_WIDTH_SCALED
Definition: OgreScriptCompiler.h:799
Ogre::ScriptCompilerManager::mListener
ScriptCompilerListener * mListener
Definition: OgreScriptCompiler.h:393
Ogre::ID_LOD_DISTANCES
@ ID_LOD_DISTANCES
Definition: OgreScriptCompiler.h:595
Ogre::ScriptCompiler::AbstractTreeBuilder::mCurrent
AbstractNode * mCurrent
Definition: OgreScriptCompiler.h:302
Ogre::ID_DEPTH_FAIL_OP
@ ID_DEPTH_FAIL_OP
Definition: OgreScriptCompiler.h:845
Ogre::ID_SINE
@ ID_SINE
Definition: OgreScriptCompiler.h:770
Ogre::ID_TRILINEAR
@ ID_TRILINEAR
Definition: OgreScriptCompiler.h:721
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent::mProgramType
GpuProgramType mProgramType
Definition: OgreScriptCompiler.h:533
Ogre::AllocatedObject
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Definition: OgreMemoryAllocatedObject.h:58
Ogre::ID_TRIANGLE
@ ID_TRIANGLE
Definition: OgreScriptCompiler.h:771
Ogre
Definition: OgreAndroidLogListener.h:34
Ogre::ID_OFF
@ ID_OFF
Definition: OgreScriptCompiler.h:725
Ogre::ScriptTranslator
This class translates script AST (abstract syntax tree) into Ogre resources.
Definition: OgreScriptTranslator.h:48
Ogre::ID_PER_LIGHT
@ ID_PER_LIGHT
Definition: OgreScriptCompiler.h:686
Ogre::ID_AMBIENT
@ ID_AMBIENT
Definition: OgreScriptCompiler.h:615
Ogre::ID_MODULATE_X2
@ ID_MODULATE_X2
Definition: OgreScriptCompiler.h:737
Ogre::ProcessResourceNameScriptCompilerEvent::ProcessResourceNameScriptCompilerEvent
ProcessResourceNameScriptCompilerEvent(ResourceType resourceType, const String &name)
Definition: OgreScriptCompiler.h:490
Ogre::ID_MODULATE_X4
@ ID_MODULATE_X4
Definition: OgreScriptCompiler.h:738
Ogre::ID_2DARRAY
@ ID_2DARRAY
Definition: OgreScriptCompiler.h:704
Ogre::ImportAbstractNode::target
String target
Definition: OgreScriptCompiler.h:163
OGRE_THREAD_POINTER
#define OGRE_THREAD_POINTER(T, var)
Definition: OgreThreadDefinesBoost.h:66
Ogre::PreApplyTextureAliasesScriptCompilerEvent::mMaterial
Material * mMaterial
Definition: OgreScriptCompiler.h:468
Ogre::ObjectAbstractNode::overrides
AbstractNodeList overrides
Definition: OgreScriptCompiler.h:134
Ogre::VariableAccessAbstractNode
This abstract node represents a variable assignment.
Definition: OgreScriptCompiler.h:171
Ogre::map
Definition: OgrePrerequisites.h:533
Ogre::ID_SHADOW_CASTER_VERTEX_PROGRAM_REF
@ ID_SHADOW_CASTER_VERTEX_PROGRAM_REF
Definition: OgreScriptCompiler.h:586
Ogre::ID_POLYGON_MODE_OVERRIDEABLE
@ ID_POLYGON_MODE_OVERRIDEABLE
Definition: OgreScriptCompiler.h:674
Ogre::ScriptCompiler::Error::line
int line
Definition: OgreScriptCompiler.h:198
OgreHighLevelGpuProgram.h
Ogre::ObjectAbstractNode::bases
vector< String >::type bases
Definition: OgreScriptCompiler.h:129
Ogre::ID_SCOPE_GLOBAL
@ ID_SCOPE_GLOBAL
Definition: OgreScriptCompiler.h:805
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent::mSource
String mSource
Definition: OgreScriptCompiler.h:532
Ogre::ID_COLOUR_OP_EX
@ ID_COLOUR_OP_EX
Definition: OgreScriptCompiler.h:734
Ogre::ID_GREATER_EQUAL
@ ID_GREATER_EQUAL
Definition: OgreScriptCompiler.h:649
Ogre::CreateMaterialScriptCompilerEvent::mResourceGroup
String mResourceGroup
Definition: OgreScriptCompiler.h:508
Ogre::ID_CAMERA_FAR_CORNERS_VIEW_SPACE
@ ID_CAMERA_FAR_CORNERS_VIEW_SPACE
Definition: OgreScriptCompiler.h:824
Ogre::ID_KEEP
@ ID_KEEP
Definition: OgreScriptCompiler.h:839
Ogre::ID_PER_N_LIGHTS
@ ID_PER_N_LIGHTS
Definition: OgreScriptCompiler.h:687
Ogre::ID_SCOPE_LOCAL
@ ID_SCOPE_LOCAL
Definition: OgreScriptCompiler.h:803
Ogre::ID_DIRECTIONAL
@ ID_DIRECTIONAL
Definition: OgreScriptCompiler.h:690
Ogre::PreApplyTextureAliasesScriptCompilerEvent
Definition: OgreScriptCompiler.h:465
Ogre::ID_BORDER
@ ID_BORDER
Definition: OgreScriptCompiler.h:716
Ogre::ID_TARGET
@ ID_TARGET
Definition: OgreScriptCompiler.h:792
Ogre::ID_EXCLUDE
@ ID_EXCLUDE
Definition: OgreScriptCompiler.h:613
Ogre::ScriptCompiler::CE_OBJECTNAMEEXPECTED
@ CE_OBJECTNAMEEXPECTED
Definition: OgreScriptCompiler.h:211
Ogre::ID_COMPUTE_PROGRAM_REF
@ ID_COMPUTE_PROGRAM_REF
Definition: OgreScriptCompiler.h:858
Ogre::ID_SRC_CURRENT
@ ID_SRC_CURRENT
Definition: OgreScriptCompiler.h:748
Ogre::ID_SCALE
@ ID_SCALE
Definition: OgreScriptCompiler.h:764
Ogre::ImportAbstractNode
This abstract node represents an import statement.
Definition: OgreScriptCompiler.h:160
Ogre::StringVector
vector< String >::type StringVector
Definition: OgreStringVector.h:45
OgreAny.h
Ogre::ID_MIRROR
@ ID_MIRROR
Definition: OgreScriptCompiler.h:717
Ogre::ID_ITERATION
@ ID_ITERATION
Definition: OgreScriptCompiler.h:683
Ogre::ConcreteNode::line
unsigned int line
Definition: OgreScriptCompiler.h:69
Ogre::ID_SPECULAR
@ ID_SPECULAR
Definition: OgreScriptCompiler.h:617
Ogre::ConcreteNode::parent
ConcreteNode * parent
Definition: OgreScriptCompiler.h:72
Ogre::ID_ADD
@ ID_ADD
Definition: OgreScriptCompiler.h:731
Ogre::ID_GEOMETRY_PROGRAM_REF
@ ID_GEOMETRY_PROGRAM_REF
Definition: OgreScriptCompiler.h:584
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_TESSELATION_HULL_PROGRAM
@ ID_TESSELATION_HULL_PROGRAM
Suport for shader model 5.0.
Definition: OgreScriptCompiler.h:853
Ogre::ID_VERTEX
@ ID_VERTEX
Definition: OgreScriptCompiler.h:777
Ogre::ID_TEX_ADDRESS_MODE
@ ID_TEX_ADDRESS_MODE
Definition: OgreScriptCompiler.h:713
Ogre::AtomAbstractNode::value
String value
Definition: OgreScriptCompiler.h:112
Ogre::ID_START_LIGHT
@ ID_START_LIGHT
Definition: OgreScriptCompiler.h:682
Ogre::ScriptCompiler::CE_OBJECTALLOCATIONERROR
@ CE_OBJECTALLOCATIONERROR
Definition: OgreScriptCompiler.h:212
Ogre::ID_SEPARATE_SCENE_BLEND_OP
@ ID_SEPARATE_SCENE_BLEND_OP
Definition: OgreScriptCompiler.h:637
Ogre::CreateCompositorScriptCompilerEvent
Definition: OgreScriptCompiler.h:563
Ogre::ID_NO_FSAA
@ ID_NO_FSAA
Definition: OgreScriptCompiler.h:808
Ogre::ID_MAX
@ ID_MAX
Definition: OgreScriptCompiler.h:636
Ogre::ID_DEPTH_VALUE
@ ID_DEPTH_VALUE
Definition: OgreScriptCompiler.h:831
Ogre::ID_SHADOW_CASTER_MATERIAL
@ ID_SHADOW_CASTER_MATERIAL
Definition: OgreScriptCompiler.h:590
Ogre::CNT_QUOTE
@ CNT_QUOTE
Definition: OgreScriptCompiler.h:55
Ogre::ID_TWO_SIDED
@ ID_TWO_SIDED
Definition: OgreScriptCompiler.h:847
Ogre::ID_ONLY_INITIAL
@ ID_ONLY_INITIAL
Definition: OgreScriptCompiler.h:810
Ogre::ID_COMPOSITOR
@ ID_COMPOSITOR
Definition: OgreScriptCompiler.h:791
Ogre::ID_SHADOW_RECEIVER_MATERIAL
@ ID_SHADOW_RECEIVER_MATERIAL
Definition: OgreScriptCompiler.h:591
Ogre::ID_SRC_COLOUR
@ ID_SRC_COLOUR
Definition: OgreScriptCompiler.h:625
Ogre::ID_SHADOW_CASTER_FRAGMENT_PROGRAM_REF
@ ID_SHADOW_CASTER_FRAGMENT_PROGRAM_REF
Definition: OgreScriptCompiler.h:587
Ogre::ID_ONE_MINUS_SRC_ALPHA
@ ID_ONE_MINUS_SRC_ALPHA
Definition: OgreScriptCompiler.h:631
Ogre::ID_SCOPE_CHAIN
@ ID_SCOPE_CHAIN
Definition: OgreScriptCompiler.h:804
Ogre::ID_SHARED_PARAM_NAMED
@ ID_SHARED_PARAM_NAMED
Definition: OgreScriptCompiler.h:784
Ogre::ID_TRANSPARENCY_CASTS_SHADOWS
@ ID_TRANSPARENCY_CASTS_SHADOWS
Definition: OgreScriptCompiler.h:597
Ogre::Material
Class encapsulates rendering properties of an object.
Definition: OgreMaterial.h:88
Ogre::Any
Variant type that can hold Any other type.
Definition: OgreAny.h:56
Ogre::ScriptCompiler::CE_VARIABLEEXPECTED
@ CE_VARIABLEEXPECTED
Definition: OgreScriptCompiler.h:209
Ogre::ID_LOD_VALUES
@ ID_LOD_VALUES
Definition: OgreScriptCompiler.h:593
Ogre::ScriptCompilerEvent::operator=
ScriptCompilerEvent & operator=(const ScriptCompilerEvent &)
Ogre::ID_ONE_MINUS_DEST_COLOUR
@ ID_ONE_MINUS_DEST_COLOUR
Definition: OgreScriptCompiler.h:626
Ogre::ProcessResourceNameScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:488
Ogre::ID_EXP
@ ID_EXP
Definition: OgreScriptCompiler.h:678
Ogre::ID_CUBIC_TEXTURE
@ ID_CUBIC_TEXTURE
Definition: OgreScriptCompiler.h:709
Ogre::ObjectAbstractNode
This specific abstract node represents a script object.
Definition: OgreScriptCompiler.h:123
Ogre::CreateGpuProgramScriptCompilerEvent
Definition: OgreScriptCompiler.h:515
Ogre::ConcreteNodeType
ConcreteNodeType
These enums hold the types of the concrete parsed nodes.
Definition: OgreScriptCompiler.h:49
Ogre::ID_SHADOWS_ENABLED
@ ID_SHADOWS_ENABLED
Definition: OgreScriptCompiler.h:814
Ogre::ID_WIREFRAME
@ ID_WIREFRAME
Definition: OgreScriptCompiler.h:672
Ogre::AbstractNode::line
unsigned int line
Definition: OgreScriptCompiler.h:95
Ogre::AtomAbstractNode::id
uint32 id
Definition: OgreScriptCompiler.h:113
Ogre::ID_RECEIVE_SHADOWS
@ ID_RECEIVE_SHADOWS
Definition: OgreScriptCompiler.h:596
Ogre::ID_CULL_HARDWARE
@ ID_CULL_HARDWARE
Definition: OgreScriptCompiler.h:658
Ogre::CreateCompositorScriptCompilerEvent::mResourceGroup
String mResourceGroup
Definition: OgreScriptCompiler.h:566
Ogre::CreateGpuSharedParametersScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:547
Ogre::uint32
unsigned int uint32
Definition: OgrePlatform.h:359
Ogre::ScriptCompiler::AbstractTreeBuilder
Definition: OgreScriptCompiler.h:298
Ogre::ID_DEPTH_POOL
@ ID_DEPTH_POOL
Definition: OgreScriptCompiler.h:809
Ogre::ID_LIGHTING
@ ID_LIGHTING
Definition: OgreScriptCompiler.h:665
Ogre::ID_LIGHT_SCISSOR
@ ID_LIGHT_SCISSOR
Definition: OgreScriptCompiler.h:653
Ogre::ANT_VARIABLE_ACCESS
@ ANT_VARIABLE_ACCESS
Definition: OgreScriptCompiler.h:84
Ogre::ID_COMP_FUNC
@ ID_COMP_FUNC
Definition: OgreScriptCompiler.h:835
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::ObjectAbstractNode::id
uint32 id
Definition: OgreScriptCompiler.h:130
Ogre::ID_MATERIAL
@ ID_MATERIAL
Definition: OgreScriptCompiler.h:576
Ogre::ID_QUAD_NORMALS
@ ID_QUAD_NORMALS
Definition: OgreScriptCompiler.h:823
Ogre::ID_ENV_MAP
@ ID_ENV_MAP
Definition: OgreScriptCompiler.h:755
Ogre::ID_ANIM_TEXTURE
@ ID_ANIM_TEXTURE
Definition: OgreScriptCompiler.h:708
Ogre::ID_DOT_PRODUCT
@ ID_DOT_PRODUCT
Definition: OgreScriptCompiler.h:747
Ogre::ID_TEX_BORDER_COLOUR
@ ID_TEX_BORDER_COLOUR
Definition: OgreScriptCompiler.h:718
Ogre::ID_SRC_MANUAL
@ ID_SRC_MANUAL
Definition: OgreScriptCompiler.h:752
Ogre::ID_COLOUR_WRITE
@ ID_COLOUR_WRITE
Definition: OgreScriptCompiler.h:680
Ogre::ID_POLYGON_MODE
@ ID_POLYGON_MODE
Definition: OgreScriptCompiler.h:670
Ogre::ID_SCROLL_Y
@ ID_SCROLL_Y
Definition: OgreScriptCompiler.h:767
Ogre::ID_SET_TEXTURE_ALIAS
@ ID_SET_TEXTURE_ALIAS
Definition: OgreScriptCompiler.h:598
Ogre::ProcessResourceNameScriptCompilerEvent
Definition: OgreScriptCompiler.h:476
Ogre::ID_REPLACE
@ ID_REPLACE
Definition: OgreScriptCompiler.h:730
Ogre::CNT_LBRACE
@ CNT_LBRACE
Definition: OgreScriptCompiler.h:56
Ogre::ID_COLOUR_VALUE
@ ID_COLOUR_VALUE
Definition: OgreScriptCompiler.h:830
Ogre::ID_PHONG
@ ID_PHONG
Definition: OgreScriptCompiler.h:669
Ogre::ID_CUBIC_REFLECTION
@ ID_CUBIC_REFLECTION
Definition: OgreScriptCompiler.h:758
Ogre::CreateGpuSharedParametersScriptCompilerEvent::CreateGpuSharedParametersScriptCompilerEvent
CreateGpuSharedParametersScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
Definition: OgreScriptCompiler.h:549
Ogre::ID_SCROLL
@ ID_SCROLL
Definition: OgreScriptCompiler.h:760
Ogre::ScriptCompiler::Environment
map< String, String >::type Environment
Definition: OgreScriptCompiler.h:281
Ogre::ID_IDENTIFIER
@ ID_IDENTIFIER
Definition: OgreScriptCompiler.h:820
Ogre::ID_CUBIC_NORMAL
@ ID_CUBIC_NORMAL
Definition: OgreScriptCompiler.h:759
Ogre::ScriptCompiler::ErrorList
list< ErrorPtr >::type ErrorList
Definition: OgreScriptCompiler.h:202
Ogre::CreateMaterialScriptCompilerEvent
Definition: OgreScriptCompiler.h:505
Ogre::ProcessResourceNameScriptCompilerEvent::TEXTURE
@ TEXTURE
Definition: OgreScriptCompiler.h:481
OgreMaterial.h
Ogre::ID_CAMERA_FAR_CORNERS_WORLD_SPACE
@ ID_CAMERA_FAR_CORNERS_WORLD_SPACE
Definition: OgreScriptCompiler.h:825
Ogre::ID_DEPTH_BIAS
@ ID_DEPTH_BIAS
Definition: OgreScriptCompiler.h:641
Ogre::ID_NOT_EQUAL
@ ID_NOT_EQUAL
Definition: OgreScriptCompiler.h:648
Ogre::ID_SOLID
@ ID_SOLID
Definition: OgreScriptCompiler.h:671
Ogre::ID_FRONT
@ ID_FRONT
Definition: OgreScriptCompiler.h:663
Ogre::ScriptCompiler::mListener
ScriptCompilerListener * mListener
Definition: OgreScriptCompiler.h:296
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::ID_CHECK
@ ID_CHECK
Definition: OgreScriptCompiler.h:834
Ogre::ID_DECREMENT
@ ID_DECREMENT
Definition: OgreScriptCompiler.h:841
Ogre::CreateParticleSystemScriptCompilerEvent
Definition: OgreScriptCompiler.h:553
Ogre::ID_SPHERICAL
@ ID_SPHERICAL
Definition: OgreScriptCompiler.h:756
Ogre::ID_SHADOW
@ ID_SHADOW
Definition: OgreScriptCompiler.h:781
Ogre::ID_TESSELATION_HULL
@ ID_TESSELATION_HULL
Definition: OgreScriptCompiler.h:861
Ogre::ScriptCompiler::mGroup
String mGroup
Definition: OgreScriptCompiler.h:277
Ogre::ID_POINT_SIZE
@ ID_POINT_SIZE
Definition: OgreScriptCompiler.h:692
Ogre::ScriptCompilerManager::mScriptPatterns
StringVector mScriptPatterns
Definition: OgreScriptCompiler.h:390
Ogre::ID_POINT_SIZE_MIN
@ ID_POINT_SIZE_MIN
Definition: OgreScriptCompiler.h:695
OgreCompositor.h
Ogre::GpuProgramType
GpuProgramType
Enumerates the types of programs which can run on the GPU.
Definition: OgreGpuProgram.h:50
Ogre::ConcreteNodePtr
SharedPtr< ConcreteNode > ConcreteNodePtr
Definition: OgreScriptCompiler.h:62
Ogre::ID_PASS
@ ID_PASS
Definition: OgreScriptCompiler.h:581
Ogre::ID_TEXTURE_REF
@ ID_TEXTURE_REF
Definition: OgreScriptCompiler.h:802
Ogre::ID_GREATER
@ ID_GREATER
Definition: OgreScriptCompiler.h:650
Ogre::CNT_RBRACE
@ CNT_RBRACE
Definition: OgreScriptCompiler.h:57
Ogre::ID_TARGET_OUTPUT
@ ID_TARGET_OUTPUT
Definition: OgreScriptCompiler.h:793
Ogre::ScriptCompiler::~ScriptCompiler
virtual ~ScriptCompiler()
Definition: OgreScriptCompiler.h:223
Ogre::ID_ONE
@ ID_ONE
Definition: OgreScriptCompiler.h:622
Ogre::ProcessResourceNameScriptCompilerEvent::ResourceType
ResourceType
Definition: OgreScriptCompiler.h:479
Ogre::ID_3D
@ ID_3D
Definition: OgreScriptCompiler.h:702
Ogre::ScriptCompiler::mImportTable
AbstractNodeList mImportTable
Definition: OgreScriptCompiler.h:290
Ogre::ANT_IMPORT
@ ANT_IMPORT
Definition: OgreScriptCompiler.h:82
Ogre::ID_SUBROUTINE
@ ID_SUBROUTINE
Definition: OgreScriptCompiler.h:866
Ogre::vector::type
std::vector< T, A > type
Definition: OgrePrerequisites.h:494
Ogre::ID_SUBTRACT
@ ID_SUBTRACT
Definition: OgreScriptCompiler.h:741
Ogre::ID_PARTICLE_SYSTEM
@ ID_PARTICLE_SYSTEM
Definition: OgreScriptCompiler.h:787
Ogre::ID_SAWTOOTH
@ ID_SAWTOOTH
Definition: OgreScriptCompiler.h:773
Ogre::ID_BLEND_CURRENT_ALPHA
@ ID_BLEND_CURRENT_ALPHA
Definition: OgreScriptCompiler.h:745
OgreHeaderPrefix.h
Ogre::ID_CUBIC
@ ID_CUBIC
Definition: OgreScriptCompiler.h:703
Ogre::ID_MIN
@ ID_MIN
Definition: OgreScriptCompiler.h:635
Ogre::list
Definition: OgrePrerequisites.h:505
Ogre::AbstractNode::~AbstractNode
virtual ~AbstractNode()
Definition: OgreScriptCompiler.h:101
Ogre::ID_COMBINED_UVW
@ ID_COMBINED_UVW
Definition: OgreScriptCompiler.h:711
Ogre::ID_FLAT
@ ID_FLAT
Definition: OgreScriptCompiler.h:667
Ogre::ID_DEPTH_WRITE
@ ID_DEPTH_WRITE
Definition: OgreScriptCompiler.h:639
Ogre::AbstractNode::context
Any context
Definition: OgreScriptCompiler.h:98
Ogre::ID_ONE_MINUS_SRC_COLOUR
@ ID_ONE_MINUS_SRC_COLOUR
Definition: OgreScriptCompiler.h:627
Ogre::ID_MASK
@ ID_MASK
Definition: OgreScriptCompiler.h:837
Ogre::ID_COLOUR
@ ID_COLOUR
Definition: OgreScriptCompiler.h:828
Ogre::ID_BINDING_TYPE
@ ID_BINDING_TYPE
Definition: OgreScriptCompiler.h:776
Ogre::CreateCompositorScriptCompilerEvent::CreateCompositorScriptCompilerEvent
CreateCompositorScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
Definition: OgreScriptCompiler.h:569
Ogre::ID_POOLED
@ ID_POOLED
Definition: OgreScriptCompiler.h:806
Ogre::ScriptCompiler::mErrors
ErrorList mErrors
Definition: OgreScriptCompiler.h:293
Ogre::PreApplyTextureAliasesScriptCompilerEvent::PreApplyTextureAliasesScriptCompilerEvent
PreApplyTextureAliasesScriptCompilerEvent(Material *material, AliasTextureNamePairList *aliases)
Definition: OgreScriptCompiler.h:472
Ogre::ID_BLEND_DIFFUSE_COLOUR
@ ID_BLEND_DIFFUSE_COLOUR
Definition: OgreScriptCompiler.h:742
Ogre::ScriptCompiler::mImportRequests
ImportRequestMap mImportRequests
Definition: OgreScriptCompiler.h:287
Ogre::ConcreteNode
Definition: OgreScriptCompiler.h:66
Ogre::ScriptCompiler::Error::message
String message
Definition: OgreScriptCompiler.h:197
Ogre::ID_PLANAR
@ ID_PLANAR
Definition: OgreScriptCompiler.h:757
Ogre::ANT_UNKNOWN
@ ANT_UNKNOWN
Definition: OgreScriptCompiler.h:78
Ogre::ScriptCompiler
This is the main class for the compiler.
Definition: OgreScriptCompiler.h:188
Ogre::ID_ON
@ ID_ON
Definition: OgreScriptCompiler.h:724
Ogre::ID_MAX_LIGHTS
@ ID_MAX_LIGHTS
Definition: OgreScriptCompiler.h:681
Ogre::ID_SHADOW_RECEIVER_FRAGMENT_PROGRAM_REF
@ ID_SHADOW_RECEIVER_FRAGMENT_PROGRAM_REF
Definition: OgreScriptCompiler.h:589
Ogre::AbstractNodeListPtr
SharedPtr< AbstractNodeList > AbstractNodeListPtr
Definition: OgreScriptCompiler.h:89
Ogre::ANT_VARIABLE_SET
@ ANT_VARIABLE_SET
Definition: OgreScriptCompiler.h:83
Ogre::ScriptCompiler::CE_DUPLICATEOVERRIDE
@ CE_DUPLICATEOVERRIDE
Definition: OgreScriptCompiler.h:214
Ogre::ScriptTranslatorManager
The ScriptTranslatorManager manages the lifetime and access to script translators.
Definition: OgreScriptTranslator.h:101
Ogre::ID_ALPHA_BLEND
@ ID_ALPHA_BLEND
Definition: OgreScriptCompiler.h:733
Ogre::ScriptCompiler::CE_FEWERPARAMETERSEXPECTED
@ CE_FEWERPARAMETERSEXPECTED
Definition: OgreScriptCompiler.h:208
Ogre::ID_COLOUR_BLEND
@ ID_COLOUR_BLEND
Definition: OgreScriptCompiler.h:621
Ogre::ID_TARGET_WIDTH
@ ID_TARGET_WIDTH
Definition: OgreScriptCompiler.h:797
Ogre::ID_UNLIMITED
@ ID_UNLIMITED
Definition: OgreScriptCompiler.h:705
Ogre::ID_ADD_SMOOTH
@ ID_ADD_SMOOTH
Definition: OgreScriptCompiler.h:740
Ogre::ID_ALPHA_TO_COVERAGE
@ ID_ALPHA_TO_COVERAGE
Definition: OgreScriptCompiler.h:652
Ogre::AliasTextureNamePairList
map< String, String >::type AliasTextureNamePairList
Alias / Texture name pair (first = alias, second = texture name)
Definition: OgreCommon.h:553
Ogre::Singleton
Template class for creating single-instance global classes.
Definition: OgreSingleton.h:64
Ogre::ID_EQUAL
@ ID_EQUAL
Definition: OgreScriptCompiler.h:647
Ogre::ID_SYNTAX
@ ID_SYNTAX
Definition: OgreScriptCompiler.h:601
Ogre::ID_COMPUTE
@ ID_COMPUTE
Definition: OgreScriptCompiler.h:863
Ogre::ID_SCALE_Y
@ ID_SCALE_Y
Definition: OgreScriptCompiler.h:769
Ogre::ID_TESSELATION_DOMAIN
@ ID_TESSELATION_DOMAIN
Definition: OgreScriptCompiler.h:862
Ogre::ID_SOURCE1
@ ID_SOURCE1
Definition: OgreScriptCompiler.h:735
Ogre::ScriptCompiler::CE_INVALIDPARAMETERS
@ CE_INVALIDPARAMETERS
Definition: OgreScriptCompiler.h:213
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_BACK
@ ID_BACK
Definition: OgreScriptCompiler.h:662
Ogre::ID_LAST_RENDER_QUEUE
@ ID_LAST_RENDER_QUEUE
Definition: OgreScriptCompiler.h:822
Ogre::ID_DEFAULT_PARAMS
@ ID_DEFAULT_PARAMS
Definition: OgreScriptCompiler.h:602
Ogre::ID_SEPARATE_SCENE_BLEND
@ ID_SEPARATE_SCENE_BLEND
Definition: OgreScriptCompiler.h:632
Ogre::ID_CMPFUNC
@ ID_CMPFUNC
Definition: OgreScriptCompiler.h:726
Ogre::ID_CLEAR
@ ID_CLEAR
Definition: OgreScriptCompiler.h:816
Ogre::ScriptCompilerManager
Manages threaded compilation of scripts.
Definition: OgreScriptCompiler.h:384
Ogre::ID_AFFECTOR
@ ID_AFFECTOR
Definition: OgreScriptCompiler.h:789
Ogre::ScriptCompilerManager::OGRE_AUTO_MUTEX
OGRE_AUTO_MUTEX
Definition: OgreScriptCompiler.h:387
Ogre::ANT_PROPERTY
@ ANT_PROPERTY
Definition: OgreScriptCompiler.h:81
Ogre::CreateGpuSharedParametersScriptCompilerEvent::mResourceGroup
String mResourceGroup
Definition: OgreScriptCompiler.h:546
Ogre::ID_LOD_BIAS
@ ID_LOD_BIAS
Definition: OgreScriptCompiler.h:812
Ogre::ID_CULL_SOFTWARE
@ ID_CULL_SOFTWARE
Definition: OgreScriptCompiler.h:661
Ogre::ID_GOURAUD
@ ID_GOURAUD
Definition: OgreScriptCompiler.h:668
Ogre::ID_COMPUTE_PROGRAM
@ ID_COMPUTE_PROGRAM
Definition: OgreScriptCompiler.h:855
Ogre::ID_LIGHT_CLIP_PLANES
@ ID_LIGHT_CLIP_PLANES
Definition: OgreScriptCompiler.h:654
Ogre::CNT_VARIABLE_ASSIGN
@ CNT_VARIABLE_ASSIGN
Definition: OgreScriptCompiler.h:52
Ogre::ID_LIGHT_MASK
@ ID_LIGHT_MASK
Definition: OgreScriptCompiler.h:691
Ogre::ID_GEOMETRY_PROGRAM
@ ID_GEOMETRY_PROGRAM
Definition: OgreScriptCompiler.h:578
Ogre::ProcessNameExclusionScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:499
Ogre::ScriptCompilerManager::mBuiltinTranslatorManager
ScriptTranslatorManager * mBuiltinTranslatorManager
Definition: OgreScriptCompiler.h:399
Ogre::ScriptCompilerListener::~ScriptCompilerListener
virtual ~ScriptCompilerListener()
Definition: OgreScriptCompiler.h:349
Ogre::ID_ADD_SIGNED
@ ID_ADD_SIGNED
Definition: OgreScriptCompiler.h:739
Ogre::ID_SRC_SPECULAR
@ ID_SRC_SPECULAR
Definition: OgreScriptCompiler.h:751
Ogre::ID_TARGET_HEIGHT_SCALED
@ ID_TARGET_HEIGHT_SCALED
Definition: OgreScriptCompiler.h:800
Ogre::ID_TEX_COORD_SET
@ ID_TEX_COORD_SET
Definition: OgreScriptCompiler.h:712
Ogre::ID_LESS_EQUAL
@ ID_LESS_EQUAL
Definition: OgreScriptCompiler.h:645
Ogre::ScriptCompiler::mEnv
Environment mEnv
Definition: OgreScriptCompiler.h:282
Ogre::ID_1D
@ ID_1D
Definition: OgreScriptCompiler.h:700
Ogre::ID_LESS
@ ID_LESS
Definition: OgreScriptCompiler.h:646
Ogre::ID_TEXTURE
@ ID_TEXTURE
Definition: OgreScriptCompiler.h:699
Ogre::ID_INVERSE_SAWTOOTH
@ ID_INVERSE_SAWTOOTH
Definition: OgreScriptCompiler.h:774
Ogre::ScriptCompiler::Error::code
uint32 code
Definition: OgreScriptCompiler.h:199
Ogre::ID_PARAM_NAMED
@ ID_PARAM_NAMED
Definition: OgreScriptCompiler.h:604
Ogre::ID_BUFFERS
@ ID_BUFFERS
Definition: OgreScriptCompiler.h:827
Ogre::ScriptCompilerEvent::ScriptCompilerEvent
ScriptCompilerEvent(const String &type)
Definition: OgreScriptCompiler.h:334
Ogre::PreApplyTextureAliasesScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:470
Ogre::ScriptCompiler::mImports
ImportCacheMap mImports
Definition: OgreScriptCompiler.h:285
Ogre::ScriptCompiler::CE_UNSUPPORTEDBYRENDERSYSTEM
@ CE_UNSUPPORTEDBYRENDERSYSTEM
Definition: OgreScriptCompiler.h:217
Ogre::ID_FILTERING
@ ID_FILTERING
Definition: OgreScriptCompiler.h:719
Ogre::ID_GPU_VENDOR_RULE
@ ID_GPU_VENDOR_RULE
Definition: OgreScriptCompiler.h:610
Ogre::ID_POINT_SIZE_ATTENUATION
@ ID_POINT_SIZE_ATTENUATION
Definition: OgreScriptCompiler.h:694
Ogre::PropertyAbstractNode::name
String name
Definition: OgreScriptCompiler.h:150
Ogre::ID_REVERSE_SUBTRACT
@ ID_REVERSE_SUBTRACT
Definition: OgreScriptCompiler.h:634
Ogre::ID_FIRST_RENDER_QUEUE
@ ID_FIRST_RENDER_QUEUE
Definition: OgreScriptCompiler.h:821
Ogre::ID_CLOCKWISE
@ ID_CLOCKWISE
Definition: OgreScriptCompiler.h:659
Ogre::multimap
Definition: OgrePrerequisites.h:547
Ogre::ScriptLoader
Abstract class defining the interface used by classes which wish to perform script loading to define ...
Definition: OgreScriptLoader.h:59
Ogre::ID_SRC_TEXTURE
@ ID_SRC_TEXTURE
Definition: OgreScriptCompiler.h:749
Ogre::CreateGpuProgramScriptCompilerEvent::mSyntax
String mSyntax
Definition: OgreScriptCompiler.h:518
Ogre::SharedPtr
Reference-counted shared pointer, used for objects where implicit destruction is required.
Definition: OgrePrerequisites.h:310
Ogre::ID_DEPTH
@ ID_DEPTH
Definition: OgreScriptCompiler.h:829
Ogre::ID_SOURCE
@ ID_SOURCE
Definition: OgreScriptCompiler.h:600
Ogre::ProcessNameExclusionScriptCompilerEvent::mClass
String mClass
Definition: OgreScriptCompiler.h:497
Ogre::CreateParticleSystemScriptCompilerEvent::CreateParticleSystemScriptCompilerEvent
CreateParticleSystemScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
Definition: OgreScriptCompiler.h:559
Ogre::ID_CONTENT_TYPE
@ ID_CONTENT_TYPE
Definition: OgreScriptCompiler.h:779
Ogre::ConcreteNode::type
ConcreteNodeType type
Definition: OgreScriptCompiler.h:70
Ogre::AbstractNode
Definition: OgreScriptCompiler.h:91
Ogre::ScriptCompiler::AbstractTreeBuilder::mNodes
AbstractNodeListPtr mNodes
Definition: OgreScriptCompiler.h:301
Ogre::ID_DEST_COLOUR
@ ID_DEST_COLOUR
Definition: OgreScriptCompiler.h:624
Ogre::ID_ALWAYS_FAIL
@ ID_ALWAYS_FAIL
Definition: OgreScriptCompiler.h:643
Ogre::ID_DEST_ALPHA
@ ID_DEST_ALPHA
Definition: OgreScriptCompiler.h:628
Ogre::CNT_VARIABLE
@ CNT_VARIABLE
Definition: OgreScriptCompiler.h:51
Ogre::ConcreteNodeList
list< ConcreteNodePtr >::type ConcreteNodeList
Definition: OgreScriptCompiler.h:64
Ogre::ID_INCREMENT
@ ID_INCREMENT
Definition: OgreScriptCompiler.h:840
Ogre::ID_TEXTURE_ALIAS
@ ID_TEXTURE_ALIAS
Definition: OgreScriptCompiler.h:698
Ogre::ID_SQUARE
@ ID_SQUARE
Definition: OgreScriptCompiler.h:772
Ogre::ID_COLOUR_OP_MULTIPASS_FALLBACK
@ ID_COLOUR_OP_MULTIPASS_FALLBACK
Definition: OgreScriptCompiler.h:753
Ogre::ID_COMPOSITOR_LOGIC
@ ID_COMPOSITOR_LOGIC
Definition: OgreScriptCompiler.h:801
Ogre::ID_TARGET_HEIGHT
@ ID_TARGET_HEIGHT
Definition: OgreScriptCompiler.h:798
Ogre::ProcessNameExclusionScriptCompilerEvent
Definition: OgreScriptCompiler.h:494
Ogre::ID_BLEND_MANUAL
@ ID_BLEND_MANUAL
Definition: OgreScriptCompiler.h:746
Ogre::ScriptCompilerEvent::mType
String mType
Definition: OgreScriptCompiler.h:332
Ogre::ID_MODULATE
@ ID_MODULATE
Definition: OgreScriptCompiler.h:732
Ogre::ID_INCLUDE
@ ID_INCLUDE
Definition: OgreScriptCompiler.h:612
Ogre::ID_DECREMENT_WRAP
@ ID_DECREMENT_WRAP
Definition: OgreScriptCompiler.h:843
Ogre::ID_ONCE
@ ID_ONCE
Definition: OgreScriptCompiler.h:684
Ogre::ID_ANISOTROPIC
@ ID_ANISOTROPIC
Definition: OgreScriptCompiler.h:722
Ogre::ProcessResourceNameScriptCompilerEvent::GPU_PROGRAM
@ GPU_PROGRAM
Definition: OgreScriptCompiler.h:483
Ogre::ScriptCompiler::CE_OBJECTBASENOTFOUND
@ CE_OBJECTBASENOTFOUND
Definition: OgreScriptCompiler.h:216
Ogre::ID_FRAGMENT_PROGRAM
@ ID_FRAGMENT_PROGRAM
Definition: OgreScriptCompiler.h:579
Ogre::ConcreteNode::file
String file
Definition: OgreScriptCompiler.h:68
Ogre::ID_SCROLL_ANIM
@ ID_SCROLL_ANIM
Definition: OgreScriptCompiler.h:761
Ogre::AbstractNodeList
list< AbstractNodePtr >::type AbstractNodeList
Definition: OgreScriptCompiler.h:88
Ogre::AtomAbstractNode
This is an abstract node which cannot be broken down further.
Definition: OgreScriptCompiler.h:109
Ogre::ScriptCompilerEvent::~ScriptCompilerEvent
virtual ~ScriptCompilerEvent()
Definition: OgreScriptCompiler.h:335
Ogre::ID_SPOT
@ ID_SPOT
Definition: OgreScriptCompiler.h:689
Ogre::ID_SCHEME
@ ID_SCHEME
Definition: OgreScriptCompiler.h:608
Ogre::AbstractNodeType
AbstractNodeType
This enum holds the types of the possible abstract nodes.
Definition: OgreScriptCompiler.h:76
Ogre::ID_VERTEXCOLOUR
@ ID_VERTEXCOLOUR
Definition: OgreScriptCompiler.h:619
Ogre::ID_CMPTEST
@ ID_CMPTEST
Definition: OgreScriptCompiler.h:723
Ogre::ID_NORMALISE_NORMALS
@ ID_NORMALISE_NORMALS
Definition: OgreScriptCompiler.h:664
Ogre::ID_LOD_STRATEGY
@ ID_LOD_STRATEGY
Definition: OgreScriptCompiler.h:594
Ogre::ID_ALPHA_REJECTION
@ ID_ALPHA_REJECTION
Definition: OgreScriptCompiler.h:651
Ogre::ID_TEXTURE_UNIT
@ ID_TEXTURE_UNIT
Definition: OgreScriptCompiler.h:582
Ogre::VariableAccessAbstractNode::name
String name
Definition: OgreScriptCompiler.h:174
Ogre::ProcessResourceNameScriptCompilerEvent::MATERIAL
@ MATERIAL
Definition: OgreScriptCompiler.h:482
Ogre::ID_SHARED_PARAMS_REF
@ ID_SHARED_PARAMS_REF
Definition: OgreScriptCompiler.h:785
Ogre::AbstractNode::parent
AbstractNode * parent
Definition: OgreScriptCompiler.h:97
Ogre::ID_MIPMAP_BIAS
@ ID_MIPMAP_BIAS
Definition: OgreScriptCompiler.h:728
Ogre::ID_GAMMA
@ ID_GAMMA
Definition: OgreScriptCompiler.h:707
Ogre::ID_FAIL_OP
@ ID_FAIL_OP
Definition: OgreScriptCompiler.h:838
Ogre::ID_DEPTH_CHECK
@ ID_DEPTH_CHECK
Definition: OgreScriptCompiler.h:638
Ogre::ProcessNameExclusionScriptCompilerEvent::mParent
AbstractNode * mParent
Definition: OgreScriptCompiler.h:498
Ogre::ID_SCENE_BLEND
@ ID_SCENE_BLEND
Definition: OgreScriptCompiler.h:620
Ogre::ConcreteNode::token
String token
Definition: OgreScriptCompiler.h:68
Ogre::ID_TESSELATION_HULL_PROGRAM_REF
@ ID_TESSELATION_HULL_PROGRAM_REF
Definition: OgreScriptCompiler.h:856
Ogre::ProcessNameExclusionScriptCompilerEvent::ProcessNameExclusionScriptCompilerEvent
ProcessNameExclusionScriptCompilerEvent(const String &cls, AbstractNode *parent)
Definition: OgreScriptCompiler.h:501
Ogre::ID_SHARED_PARAMS
@ ID_SHARED_PARAMS
Definition: OgreScriptCompiler.h:783
Ogre::ID_POINTS
@ ID_POINTS
Definition: OgreScriptCompiler.h:673
Ogre::ID_ROTATE_ANIM
@ ID_ROTATE_ANIM
Definition: OgreScriptCompiler.h:763
Ogre::ID_FOG_OVERRIDE
@ ID_FOG_OVERRIDE
Definition: OgreScriptCompiler.h:675
Ogre::ID_EXP2
@ ID_EXP2
Definition: OgreScriptCompiler.h:679
Ogre::Real
float Real
Software floating point type.
Definition: OgrePrerequisites.h:70
Ogre::PreApplyTextureAliasesScriptCompilerEvent::mAliases
AliasTextureNamePairList * mAliases
Definition: OgreScriptCompiler.h:469
Ogre::ScriptCompilerManager::mManagers
vector< ScriptTranslatorManager * >::type mManagers
Definition: OgreScriptCompiler.h:396
Ogre::ID_SCALE_X
@ ID_SCALE_X
Definition: OgreScriptCompiler.h:768
Ogre::PropertyAbstractNode::values
AbstractNodeList values
Definition: OgreScriptCompiler.h:152
Ogre::ID_FRAGMENT_PROGRAM_REF
@ ID_FRAGMENT_PROGRAM_REF
Definition: OgreScriptCompiler.h:585
Ogre::ID_INCREMENT_WRAP
@ ID_INCREMENT_WRAP
Definition: OgreScriptCompiler.h:842
Ogre::ID_PARAM_INDEXED
@ ID_PARAM_INDEXED
Definition: OgreScriptCompiler.h:603
Ogre::ID_VERTEX_PROGRAM
@ ID_VERTEX_PROGRAM
Definition: OgreScriptCompiler.h:577
Ogre::ID_BLEND_DIFFUSE_ALPHA
@ ID_BLEND_DIFFUSE_ALPHA
Definition: OgreScriptCompiler.h:743
Ogre::ID_SCROLL_X
@ ID_SCROLL_X
Definition: OgreScriptCompiler.h:766
Ogre::CreateCompositorScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:567
Ogre::ProcessResourceNameScriptCompilerEvent::mName
String mName
Definition: OgreScriptCompiler.h:487
Ogre::ID_ONCE_PER_LIGHT
@ ID_ONCE_PER_LIGHT
Definition: OgreScriptCompiler.h:685
Ogre::ConcreteNode::children
ConcreteNodeList children
Definition: OgreScriptCompiler.h:71
Ogre::CNT_COLON
@ CNT_COLON
Definition: OgreScriptCompiler.h:58
Ogre::ID_PARAM_INDEXED_AUTO
@ ID_PARAM_INDEXED_AUTO
Definition: OgreScriptCompiler.h:605
Ogre::ID_EMITTER
@ ID_EMITTER
Definition: OgreScriptCompiler.h:788
Ogre::ID_TECHNIQUE
@ ID_TECHNIQUE
Definition: OgreScriptCompiler.h:580
Ogre::AbstractNode::file
String file
Definition: OgreScriptCompiler.h:94
Ogre::CreateGpuSharedParametersScriptCompilerEvent
Definition: OgreScriptCompiler.h:543
Ogre::ID_ANTICLOCKWISE
@ ID_ANTICLOCKWISE
Definition: OgreScriptCompiler.h:660
Ogre::ID_BLEND_TEXTURE_ALPHA
@ ID_BLEND_TEXTURE_ALPHA
Definition: OgreScriptCompiler.h:744
Ogre::ID_ITERATION_DEPTH_BIAS
@ ID_ITERATION_DEPTH_BIAS
Definition: OgreScriptCompiler.h:642
Ogre::PropertyAbstractNode
This abstract node represents a script property.
Definition: OgreScriptCompiler.h:147
Ogre::ANT_OBJECT
@ ANT_OBJECT
Definition: OgreScriptCompiler.h:80
Ogre::ID_PARAM_NAMED_AUTO
@ ID_PARAM_NAMED_AUTO
Definition: OgreScriptCompiler.h:606
Ogre::ID_MATERIAL_SCHEME
@ ID_MATERIAL_SCHEME
Definition: OgreScriptCompiler.h:813
Ogre::ID_LOD_INDEX
@ ID_LOD_INDEX
Definition: OgreScriptCompiler.h:609
Ogre::CreateMaterialScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:509
Ogre::ID_ILLUMINATION_STAGE
@ ID_ILLUMINATION_STAGE
Definition: OgreScriptCompiler.h:656
Ogre::ScriptCompiler::ImportCacheMap
map< String, AbstractNodeListPtr >::type ImportCacheMap
Definition: OgreScriptCompiler.h:284
Ogre::ID_REF_VALUE
@ ID_REF_VALUE
Definition: OgreScriptCompiler.h:836
Ogre::ID_PASS_OP
@ ID_PASS_OP
Definition: OgreScriptCompiler.h:846
Ogre::ID_ALPHA_OP_EX
@ ID_ALPHA_OP_EX
Definition: OgreScriptCompiler.h:754
Ogre::ID_ONE_MINUS_DEST_ALPHA
@ ID_ONE_MINUS_DEST_ALPHA
Definition: OgreScriptCompiler.h:630
Ogre::CNT_IMPORT
@ CNT_IMPORT
Definition: OgreScriptCompiler.h:54
Ogre::ScriptCompiler::ImportRequestMap
multimap< String, String >::type ImportRequestMap
Definition: OgreScriptCompiler.h:286
Ogre::ID_TESSELATION_DOMAIN_PROGRAM_REF
@ ID_TESSELATION_DOMAIN_PROGRAM_REF
Definition: OgreScriptCompiler.h:857
Ogre::ObjectAbstractNode::name
String name
Definition: OgreScriptCompiler.h:128
Ogre::ID_NONE
@ ID_NONE
Definition: OgreScriptCompiler.h:676
Ogre::vector
Definition: OgrePrerequisites.h:491
Ogre::ID_STENCIL
@ ID_STENCIL
Definition: OgreScriptCompiler.h:817
Ogre::ObjectAbstractNode::mEnv
map< String, String >::type mEnv
Definition: OgreScriptCompiler.h:126
Ogre::ScriptCompiler::Error
Definition: OgreScriptCompiler.h:195
Ogre::ID_DIFFUSE
@ ID_DIFFUSE
Definition: OgreScriptCompiler.h:616
Ogre::ScriptCompiler::CE_UNDEFINEDVARIABLE
@ CE_UNDEFINEDVARIABLE
Definition: OgreScriptCompiler.h:210
Ogre::CNT_WORD
@ CNT_WORD
Definition: OgreScriptCompiler.h:53
Ogre::ID_SHADING
@ ID_SHADING
Definition: OgreScriptCompiler.h:666
Ogre::ScriptCompiler::CE_NUMBEREXPECTED
@ CE_NUMBEREXPECTED
Definition: OgreScriptCompiler.h:207
Ogre::ID_TEXTURE_SOURCE
@ ID_TEXTURE_SOURCE
Definition: OgreScriptCompiler.h:782
Ogre::ScriptCompiler::AbstractTreeBuilder::mCompiler
ScriptCompiler * mCompiler
Definition: OgreScriptCompiler.h:303
Ogre::CreateHighLevelGpuProgramScriptCompilerEvent
Definition: OgreScriptCompiler.h:529
Ogre::ScriptCompiler::mIds
IdMap mIds
Definition: OgreScriptCompiler.h:279
Ogre::ID_SEPARATE_UV
@ ID_SEPARATE_UV
Definition: OgreScriptCompiler.h:710
Ogre::ID_COLOUR_OP
@ ID_COLOUR_OP
Definition: OgreScriptCompiler.h:729
Ogre::ObjectAbstractNode::children
AbstractNodeList children
Definition: OgreScriptCompiler.h:132
Ogre::ID_RENDER_SCENE
@ ID_RENDER_SCENE
Definition: OgreScriptCompiler.h:818
OgreCompositionPass.h
Ogre::PropertyAbstractNode::id
uint32 id
Definition: OgreScriptCompiler.h:151
Ogre::ID_VERTEX_PROGRAM_REF
@ ID_VERTEX_PROGRAM_REF
Definition: OgreScriptCompiler.h:583
Ogre::ID_END_BUILTIN_IDS
@ ID_END_BUILTIN_IDS
Definition: OgreScriptCompiler.h:868
Ogre::ID_ALWAYS_PASS
@ ID_ALWAYS_PASS
Definition: OgreScriptCompiler.h:644
Ogre::CreateParticleSystemScriptCompilerEvent::eventType
static String eventType
Definition: OgreScriptCompiler.h:557
Ogre::ANT_ATOM
@ ANT_ATOM
Definition: OgreScriptCompiler.h:79
Ogre::ID_WAVE_XFORM
@ ID_WAVE_XFORM
Definition: OgreScriptCompiler.h:765
Ogre::ID_WRAP
@ ID_WRAP
Definition: OgreScriptCompiler.h:714
Ogre::ID_VISIBILITY_MASK
@ ID_VISIBILITY_MASK
Definition: OgreScriptCompiler.h:811
Ogre::ID_SHADOW_RECEIVER_VERTEX_PROGRAM_REF
@ ID_SHADOW_RECEIVER_VERTEX_PROGRAM_REF
Definition: OgreScriptCompiler.h:588
Ogre::ScriptCompiler::ErrorPtr
SharedPtr< Error > ErrorPtr
Definition: OgreScriptCompiler.h:201
Ogre::ScriptCompilerListener
This is a listener for the compiler.
Definition: OgreScriptCompiler.h:345
Ogre::ID_BILINEAR
@ ID_BILINEAR
Definition: OgreScriptCompiler.h:720
Ogre::ID_TRANSPARENT_SORTING
@ ID_TRANSPARENT_SORTING
Definition: OgreScriptCompiler.h:655
Ogre::ID_ZERO
@ ID_ZERO
Definition: OgreScriptCompiler.h:623
Ogre::ID_MAX_ANISOTROPY
@ ID_MAX_ANISOTROPY
Definition: OgreScriptCompiler.h:727
Ogre::ID_FRAGMENT
@ ID_FRAGMENT
Definition: OgreScriptCompiler.h:778
Ogre::ID_DEPTH_FUNC
@ ID_DEPTH_FUNC
Definition: OgreScriptCompiler.h:640
Ogre::AbstractNodePtr
SharedPtr< AbstractNode > AbstractNodePtr
Definition: OgreScriptCompiler.h:86
Ogre::AbstractNode::type
AbstractNodeType type
Definition: OgreScriptCompiler.h:96
Ogre::ScriptCompiler::CE_STRINGEXPECTED
@ CE_STRINGEXPECTED
Definition: OgreScriptCompiler.h:206
Ogre::ID_SOURCE2
@ ID_SOURCE2
Definition: OgreScriptCompiler.h:736
Ogre::ID_ROTATE
@ ID_ROTATE
Definition: OgreScriptCompiler.h:762
Ogre::ID_TESSELATION_DOMAIN_PROGRAM
@ ID_TESSELATION_DOMAIN_PROGRAM
Definition: OgreScriptCompiler.h:854
Ogre::ProcessResourceNameScriptCompilerEvent::mResourceType
ResourceType mResourceType
Definition: OgreScriptCompiler.h:486
Ogre::ID_SRC_DIFFUSE
@ ID_SRC_DIFFUSE
Definition: OgreScriptCompiler.h:750
Ogre::CreateParticleSystemScriptCompilerEvent::mResourceGroup
String mResourceGroup
Definition: OgreScriptCompiler.h:556
Ogre::CreateMaterialScriptCompilerEvent::CreateMaterialScriptCompilerEvent
CreateMaterialScriptCompilerEvent(const String &file, const String &name, const String &resourceGroup)
Definition: OgreScriptCompiler.h:511
Ogre::ID_POINT_SIZE_MAX
@ ID_POINT_SIZE_MAX
Definition: OgreScriptCompiler.h:696

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15