OGRE  2.2.4
Object-Oriented Graphics Rendering Engine
OgreScriptCompiler.h File Reference
#include "OgreSharedPtr.h"
#include "OgreSingleton.h"
#include "OgreScriptLoader.h"
#include "OgreGpuProgram.h"
#include "OgreAny.h"
#include "Threading/OgreThreadHeaders.h"
#include "ogrestd/list.h"
#include "OgreHeaderPrefix.h"
#include "OgreHeaderSuffix.h"

Classes

class  Ogre::AbstractNode
 
class  Ogre::AtomAbstractNode
 This is an abstract node which cannot be broken down further. More...
 
struct  Ogre::ConcreteNode
 
class  Ogre::CreateCompositorScriptCompilerEvent
 
class  Ogre::CreateGpuProgramScriptCompilerEvent
 
class  Ogre::CreateGpuSharedParametersScriptCompilerEvent
 
class  Ogre::CreateHighLevelGpuProgramScriptCompilerEvent
 
class  Ogre::CreateMaterialScriptCompilerEvent
 
class  Ogre::CreateParticleSystemScriptCompilerEvent
 
class  Ogre::ImportAbstractNode
 This abstract node represents an import statement. More...
 
class  Ogre::ObjectAbstractNode
 This specific abstract node represents a script object. More...
 
class  Ogre::PreApplyTextureAliasesScriptCompilerEvent
 
class  Ogre::ProcessNameExclusionScriptCompilerEvent
 
class  Ogre::ProcessResourceNameScriptCompilerEvent
 
class  Ogre::PropertyAbstractNode
 This abstract node represents a script property. More...
 
class  Ogre::ScriptCompiler
 This is the main class for the compiler. More...
 
struct  Ogre::ScriptCompiler::Error
 
class  Ogre::ScriptCompilerEvent
 This struct is a base class for events which can be thrown by the compilers and caught by subscribers. More...
 
class  Ogre::ScriptCompilerListener
 This is a listener for the compiler. More...
 
class  Ogre::ScriptCompilerManager
 Manages threaded compilation of scripts. More...
 
class  Ogre::VariableAccessAbstractNode
 This abstract node represents a variable assignment. More...
 

Namespaces

 Ogre
 

This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info, see http://www.ogre3d.org/

 

Typedefs

typedef list< AbstractNodePtr >::type Ogre::AbstractNodeList
 
typedef SharedPtr< AbstractNodeList > Ogre::AbstractNodeListPtr
 
typedef SharedPtr< AbstractNode > Ogre::AbstractNodePtr
 
typedef list< ConcreteNodePtr >::type Ogre::ConcreteNodeList
 
typedef SharedPtr< ConcreteNodeList > Ogre::ConcreteNodeListPtr
 
typedef SharedPtr< ConcreteNode > Ogre::ConcreteNodePtr
 

Enumerations

enum  {
  Ogre::ID_MATERIAL = 3, Ogre::ID_VERTEX_PROGRAM, Ogre::ID_GEOMETRY_PROGRAM, Ogre::ID_FRAGMENT_PROGRAM,
  Ogre::ID_TECHNIQUE, Ogre::ID_PASS, Ogre::ID_TEXTURE_UNIT, Ogre::ID_VERTEX_PROGRAM_REF,
  Ogre::ID_GEOMETRY_PROGRAM_REF, Ogre::ID_FRAGMENT_PROGRAM_REF, Ogre::ID_SHADOW_CASTER_VERTEX_PROGRAM_REF, Ogre::ID_SHADOW_CASTER_FRAGMENT_PROGRAM_REF,
  Ogre::ID_SHADOW_CASTER_MATERIAL, Ogre::ID_LOD_VALUES, Ogre::ID_LOD_STRATEGY, Ogre::ID_LOD_DISTANCES,
  Ogre::ID_RECEIVE_SHADOWS, Ogre::ID_TRANSPARENCY_CASTS_SHADOWS, Ogre::ID_SET_TEXTURE_ALIAS, Ogre::ID_SOURCE,
  Ogre::ID_SYNTAX, Ogre::ID_DEFAULT_PARAMS, Ogre::ID_PARAM_INDEXED, Ogre::ID_PARAM_NAMED,
  Ogre::ID_PARAM_INDEXED_AUTO, Ogre::ID_PARAM_NAMED_AUTO, Ogre::ID_SCHEME, Ogre::ID_LOD_INDEX,
  Ogre::ID_GPU_VENDOR_RULE, Ogre::ID_GPU_DEVICE_RULE, Ogre::ID_INCLUDE, Ogre::ID_EXCLUDE,
  Ogre::ID_AMBIENT, Ogre::ID_DIFFUSE, Ogre::ID_SPECULAR, Ogre::ID_EMISSIVE,
  Ogre::ID_VERTEXCOLOUR, Ogre::ID_SCENE_BLEND, Ogre::ID_COLOUR_BLEND, Ogre::ID_ONE,
  Ogre::ID_ZERO, Ogre::ID_DEST_COLOUR, Ogre::ID_SRC_COLOUR, Ogre::ID_ONE_MINUS_DEST_COLOUR,
  Ogre::ID_ONE_MINUS_SRC_COLOUR, Ogre::ID_DEST_ALPHA, Ogre::ID_SRC_ALPHA, Ogre::ID_ONE_MINUS_DEST_ALPHA,
  Ogre::ID_ONE_MINUS_SRC_ALPHA, Ogre::ID_SEPARATE_SCENE_BLEND, Ogre::ID_SCENE_BLEND_OP, Ogre::ID_REVERSE_SUBTRACT,
  Ogre::ID_MIN, Ogre::ID_MAX, Ogre::ID_SEPARATE_SCENE_BLEND_OP, Ogre::ID_DEPTH_CHECK,
  Ogre::ID_DEPTH_WRITE, Ogre::ID_DEPTH_FUNC, Ogre::ID_DEPTH_BIAS, Ogre::ID_ITERATION_DEPTH_BIAS,
  Ogre::ID_ALWAYS_FAIL, Ogre::ID_ALWAYS_PASS, Ogre::ID_LESS_EQUAL, Ogre::ID_LESS,
  Ogre::ID_EQUAL, Ogre::ID_NOT_EQUAL, Ogre::ID_GREATER_EQUAL, Ogre::ID_GREATER,
  Ogre::ID_ALPHA_REJECTION, Ogre::ID_ALPHA_TO_COVERAGE, Ogre::ID_LIGHT_SCISSOR, Ogre::ID_LIGHT_CLIP_PLANES,
  Ogre::ID_CULL_HARDWARE, Ogre::ID_CULL_MODE, Ogre::ID_CLOCKWISE, Ogre::ID_ANTICLOCKWISE,
  Ogre::ID_SHADING, Ogre::ID_FLAT, Ogre::ID_GOURAUD, Ogre::ID_PHONG,
  Ogre::ID_POLYGON_MODE, Ogre::ID_SOLID, Ogre::ID_WIREFRAME, Ogre::ID_POINTS,
  Ogre::ID_POLYGON_MODE_OVERRIDEABLE, Ogre::ID_FOG_OVERRIDE, Ogre::ID_NONE, Ogre::ID_LINEAR,
  Ogre::ID_EXP, Ogre::ID_EXP2, Ogre::ID_COLOUR_WRITE, Ogre::ID_CHANNEL_MASK,
  Ogre::ID_MAX_LIGHTS, Ogre::ID_START_LIGHT, Ogre::ID_ITERATION, Ogre::ID_ONCE,
  Ogre::ID_ONCE_PER_LIGHT, Ogre::ID_PER_LIGHT, Ogre::ID_PER_N_LIGHTS, Ogre::ID_POINT,
  Ogre::ID_SPOT, Ogre::ID_DIRECTIONAL, Ogre::ID_LIGHT_MASK, Ogre::ID_POINT_SIZE,
  Ogre::ID_POINT_SPRITES, Ogre::ID_POINT_SIZE_ATTENUATION, Ogre::ID_POINT_SIZE_MIN, Ogre::ID_POINT_SIZE_MAX,
  Ogre::ID_TEXTURE_ALIAS, Ogre::ID_TEXTURE, Ogre::ID_1D, Ogre::ID_2D,
  Ogre::ID_3D, Ogre::ID_CUBIC, Ogre::ID_2DARRAY, Ogre::ID_UNLIMITED,
  Ogre::ID_ALPHA, Ogre::ID_GAMMA, Ogre::ID_ANIM_TEXTURE, Ogre::ID_CUBIC_TEXTURE,
  Ogre::ID_SEPARATE_UV, Ogre::ID_COMBINED_UVW, Ogre::ID_TEX_COORD_SET, Ogre::ID_TEX_ADDRESS_MODE,
  Ogre::ID_WRAP, Ogre::ID_CLAMP, Ogre::ID_BORDER, Ogre::ID_MIRROR,
  Ogre::ID_TEX_BORDER_COLOUR, Ogre::ID_FILTERING, Ogre::ID_BILINEAR, Ogre::ID_TRILINEAR,
  Ogre::ID_ANISOTROPIC, Ogre::ID_CMPFUNC, Ogre::ID_MAX_ANISOTROPY, Ogre::ID_MIPMAP_BIAS,
  Ogre::ID_COLOUR_OP, Ogre::ID_REPLACE, Ogre::ID_ADD, Ogre::ID_MODULATE,
  Ogre::ID_ALPHA_BLEND, Ogre::ID_COLOUR_OP_EX, Ogre::ID_SOURCE1, Ogre::ID_SOURCE2,
  Ogre::ID_MODULATE_X2, Ogre::ID_MODULATE_X4, Ogre::ID_ADD_SIGNED, Ogre::ID_ADD_SMOOTH,
  Ogre::ID_SUBTRACT, Ogre::ID_BLEND_DIFFUSE_COLOUR, Ogre::ID_BLEND_DIFFUSE_ALPHA, Ogre::ID_BLEND_TEXTURE_ALPHA,
  Ogre::ID_BLEND_CURRENT_ALPHA, Ogre::ID_BLEND_MANUAL, Ogre::ID_DOT_PRODUCT, Ogre::ID_SRC_CURRENT,
  Ogre::ID_SRC_TEXTURE, Ogre::ID_SRC_DIFFUSE, Ogre::ID_SRC_SPECULAR, Ogre::ID_SRC_MANUAL,
  Ogre::ID_COLOUR_OP_MULTIPASS_FALLBACK, Ogre::ID_ALPHA_OP_EX, Ogre::ID_ENV_MAP, Ogre::ID_SPHERICAL,
  Ogre::ID_PLANAR, Ogre::ID_CUBIC_REFLECTION, Ogre::ID_CUBIC_NORMAL, Ogre::ID_SCROLL,
  Ogre::ID_SCROLL_ANIM, Ogre::ID_ROTATE, Ogre::ID_ROTATE_ANIM, Ogre::ID_SCALE,
  Ogre::ID_WAVE_XFORM, Ogre::ID_SCROLL_X, Ogre::ID_SCROLL_Y, Ogre::ID_SCALE_X,
  Ogre::ID_SCALE_Y, Ogre::ID_SINE, Ogre::ID_TRIANGLE, Ogre::ID_SQUARE,
  Ogre::ID_SAWTOOTH, Ogre::ID_INVERSE_SAWTOOTH, Ogre::ID_TRANSFORM, Ogre::ID_BINDING_TYPE,
  Ogre::ID_VERTEX, Ogre::ID_FRAGMENT, Ogre::ID_CONTENT_TYPE, Ogre::ID_NAMED,
  Ogre::ID_SHADOW, Ogre::ID_COMPOSITOR, Ogre::ID_AUTOMATIC_BATCHING, Ogre::ID_TEXTURE_SOURCE,
  Ogre::ID_SHARED_PARAMS, Ogre::ID_SHARED_PARAM_NAMED, Ogre::ID_SHARED_PARAMS_REF, Ogre::ID_PARTICLE_SYSTEM,
  Ogre::ID_EMITTER, Ogre::ID_AFFECTOR, Ogre::ID_WORKSPACE, Ogre::ID_ALIAS,
  Ogre::ID_CONNECT, Ogre::ID_CONNECT_BUFFER, Ogre::ID_CONNECT_OUTPUT, Ogre::ID_CONNECT_EXTERNAL,
  Ogre::ID_CONNECT_BUFFER_EXTERNAL, Ogre::ID_COMPOSITOR_NODE, Ogre::ID_IN, Ogre::ID_OUT,
  Ogre::ID_IN_BUFFER, Ogre::ID_OUT_BUFFER, Ogre::ID_CUSTOM_ID, Ogre::ID_RTV,
  Ogre::ID_RESOLVE, Ogre::ID_MIP, Ogre::ID_RESOLVE_MIP, Ogre::ID_RESOLVE_MIPMAP,
  Ogre::ID_SLICE, Ogre::ID_RESOLVE_SLICE, Ogre::ID_ALL_LAYERS, Ogre::ID_DEPTH_STENCIL,
  Ogre::ID_DEPTH_READ_ONLY, Ogre::ID_STENCIL_READ_ONLY, Ogre::ID_BUFFER, Ogre::ID_TARGET_WIDTH,
  Ogre::ID_TARGET_HEIGHT, Ogre::ID_TARGET_WIDTH_SCALED, Ogre::ID_TARGET_HEIGHT_SCALED, Ogre::ID_TARGET_FORMAT,
  Ogre::ID_NO_GAMMA, Ogre::ID_NO_FSAA, Ogre::ID_MSAA, Ogre::ID_MSAA_AUTO,
  Ogre::ID_EXPLICIT_RESOLVE, Ogre::ID_REINTERPRETABLE, Ogre::ID_DEPTH_POOL, Ogre::ID_DEPTH_TEXTURE,
  Ogre::ID_DEPTH_FORMAT, Ogre::ID_2D_ARRAY, Ogre::ID_CUBEMAP, Ogre::ID_CUBEMAP_ARRAY,
  Ogre::ID_MIPMAPS, Ogre::ID_NO_AUTOMIPMAPS, Ogre::ID_TARGET, Ogre::ID_CLEAR,
  Ogre::ID_STENCIL, Ogre::ID_RENDER_SCENE, Ogre::ID_RENDER_QUAD, Ogre::ID_DEPTH_COPY,
  Ogre::ID_BIND_UAV, Ogre::ID_LOAD, Ogre::ID_ALL, Ogre::ID_CLEAR_COLOUR,
  Ogre::ID_CLEAR_COLOUR_REVERSE_DEPTH_AWARE, Ogre::ID_CLEAR_DEPTH, Ogre::ID_CLEAR_STENCIL, Ogre::ID_WARN_IF_RTV_WAS_FLUSHED,
  Ogre::ID_STORE, Ogre::ID_VIEWPORT, Ogre::ID_NUM_INITIAL, Ogre::ID_FLUSH_COMMAND_BUFFERS,
  Ogre::ID_IDENTIFIER, Ogre::ID_OVERLAYS, Ogre::ID_EXECUTION_MASK, Ogre::ID_VIEWPORT_MODIFIER_MASK,
  Ogre::ID_USES_UAV, Ogre::ID_ALLOW_WRITE_AFTER_WRITE, Ogre::ID_EXPOSE, Ogre::ID_SHADOW_MAP_FULL_VIEWPORT,
  Ogre::ID_PROFILING_ID, Ogre::ID_LOD_BIAS, Ogre::ID_LOD_UPDATE_LIST, Ogre::ID_LOD_CAMERA,
  Ogre::ID_CULL_REUSE_DATA, Ogre::ID_CULL_CAMERA, Ogre::ID_MATERIAL_SCHEME, Ogre::ID_VISIBILITY_MASK,
  Ogre::ID_LIGHT_VISIBILITY_MASK, Ogre::ID_SHADOWS_ENABLED, Ogre::ID_CAMERA, Ogre::ID_FIRST_RENDER_QUEUE,
  Ogre::ID_LAST_RENDER_QUEUE, Ogre::ID_CAMERA_CUBEMAP_REORIENT, Ogre::ID_ENABLE_FORWARDPLUS, Ogre::ID_FLUSH_COMMAND_BUFFERS_AFTER_SHADOW_NODE,
  Ogre::ID_IS_PREPASS, Ogre::ID_USE_PREPASS, Ogre::ID_GEN_NORMALS_GBUFFER, Ogre::ID_USE_REFRACTIONS,
  Ogre::ID_UV_BAKING, Ogre::ID_UV_BAKING_OFFSET, Ogre::ID_BAKE_LIGHTING_ONLY, Ogre::ID_INSTANCED_STEREO,
  Ogre::ID_USE_QUAD, Ogre::ID_QUAD_NORMALS, Ogre::ID_CAMERA_FAR_CORNERS_VIEW_SPACE, Ogre::ID_CAMERA_FAR_CORNERS_VIEW_SPACE_NORMALIZED,
  Ogre::ID_CAMERA_FAR_CORNERS_VIEW_SPACE_NORMALIZED_LH, Ogre::ID_CAMERA_FAR_CORNERS_WORLD_SPACE, Ogre::ID_CAMERA_FAR_CORNERS_WORLD_SPACE_CENTERED, Ogre::ID_CAMERA_DIRECTION,
  Ogre::ID_INPUT, Ogre::ID_OUTPUT, Ogre::ID_NON_TILERS_ONLY, Ogre::ID_BUFFERS,
  Ogre::ID_COLOUR, Ogre::ID_DEPTH, Ogre::ID_COLOUR_VALUE, Ogre::ID_DEPTH_VALUE,
  Ogre::ID_STENCIL_VALUE, Ogre::ID_DISCARD_ONLY, Ogre::ID_CHECK, Ogre::ID_REF_VALUE,
  Ogre::ID_MASK, Ogre::ID_READ_MASK, Ogre::ID_BOTH, Ogre::ID_FRONT,
  Ogre::ID_BACK, Ogre::ID_COMP_FUNC, Ogre::ID_FAIL_OP, Ogre::ID_KEEP,
  Ogre::ID_INCREMENT, Ogre::ID_DECREMENT, Ogre::ID_INCREMENT_WRAP, Ogre::ID_DECREMENT_WRAP,
  Ogre::ID_INVERT, Ogre::ID_DEPTH_FAIL_OP, Ogre::ID_PASS_OP, Ogre::ID_TWO_SIDED,
  Ogre::ID_UAV, Ogre::ID_UAV_EXTERNAL, Ogre::ID_UAV_BUFFER, Ogre::ID_STARTING_SLOT,
  Ogre::ID_KEEP_PREVIOUS_UAV, Ogre::ID_READ, Ogre::ID_WRITE, Ogre::ID_MIPMAP,
  Ogre::ID_JOB, Ogre::ID_MIPMAP_METHOD, Ogre::ID_API_DEFAULT, Ogre::ID_COMPUTE_HQ,
  Ogre::ID_KERNEL_RADIUS, Ogre::ID_GAUSS_DEVIATION, Ogre::ID_SAMPLES_PER_ITERATION, Ogre::ID_SAMPLES_SINGLE_ITERATION_FALLBACK,
  Ogre::ID_FORCE_MIPMAP_FALLBACK, Ogre::ID_READ_BACK_AS_TEXTURE, Ogre::ID_SHADOW_NODE, Ogre::ID_NUM_SPLITS,
  Ogre::ID_NUM_STABLE_SPLITS, Ogre::ID_PSSM_SPLIT_PADDING, Ogre::ID_PSSM_SPLIT_BLEND, Ogre::ID_PSSM_SPLIT_FADE,
  Ogre::ID_PSSM_LAMBDA, Ogre::ID_SHADOW_MAP_TARGET_TYPE, Ogre::ID_SHADOW_MAP_REPEAT, Ogre::ID_SHADOW_MAP,
  Ogre::ID_UV, Ogre::ID_ARRAY_INDEX, Ogre::ID_FSAA, Ogre::ID_LIGHT,
  Ogre::ID_SPLIT, Ogre::ID_HLMS, Ogre::ID_RT_SHADER_SYSTEM, Ogre::ID_TESSELLATION_HULL_PROGRAM,
  Ogre::ID_TESSELLATION_DOMAIN_PROGRAM, Ogre::ID_COMPUTE_PROGRAM, Ogre::ID_TESSELLATION_HULL_PROGRAM_REF, Ogre::ID_TESSELLATION_DOMAIN_PROGRAM_REF,
  Ogre::ID_COMPUTE_PROGRAM_REF, Ogre::ID_GEOMETRY, Ogre::ID_TESSELLATION_HULL, Ogre::ID_TESSELLATION_DOMAIN,
  Ogre::ID_COMPUTE, Ogre::ID_SUBROUTINE, Ogre::ID_END_BUILTIN_IDS
}
 This enum defines the integer ids for keywords this compiler handles. More...
 
enum  Ogre::AbstractNodeType {
  Ogre::ANT_UNKNOWN, Ogre::ANT_ATOM, Ogre::ANT_OBJECT, Ogre::ANT_PROPERTY,
  Ogre::ANT_IMPORT, Ogre::ANT_VARIABLE_SET, Ogre::ANT_VARIABLE_ACCESS
}
 This enum holds the types of the possible abstract nodes. More...
 
enum  Ogre::ConcreteNodeType {
  Ogre::CNT_VARIABLE, Ogre::CNT_VARIABLE_ASSIGN, Ogre::CNT_WORD, Ogre::CNT_IMPORT,
  Ogre::CNT_QUOTE, Ogre::CNT_LBRACE, Ogre::CNT_RBRACE, Ogre::CNT_COLON
}
 These enums hold the types of the concrete parsed nodes. More...