OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
OgreScriptCompiler.h File Reference
#include "OgreAny.h"
#include "OgreGpuProgram.h"
#include "OgreScriptLoader.h"
#include "OgreSharedPtr.h"
#include "OgreSingleton.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
 bswapNN may be defined as macros in <sys/endian.h> or <sys/bswap.h>
 

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_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_ORIENTATION_MODE , Ogre::ID_TARGET_FORMAT ,
  Ogre::ID_MSAA , Ogre::ID_MSAA_AUTO , Ogre::ID_EXPLICIT_RESOLVE , Ogre::ID_NOT_TEXTURE ,
  Ogre::ID_REINTERPRETABLE , Ogre::ID_KEEP_CONTENT , 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_TARGET_LEVEL_BARRIER ,
  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_SKIP_LOAD_STORE_SEMANTICS , 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_MODE ,
  Ogre::ID_READ_BACK_AS_TEXTURE , Ogre::ID_SHADOW_NODE , Ogre::ID_NUM_SPLITS , Ogre::ID_NUM_STABLE_SPLITS ,
  Ogre::ID_NORMAL_OFFSET_BIAS , Ogre::ID_CONSTANT_BIAS_SCALE , 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_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...