OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre Namespace Reference

bswapNN may be defined as macros in <sys/endian.h> or <sys/bswap.h> More...

Namespaces

 Assert
 
 BakedDescriptorSets
 
 CommonTextureTypes
 
 CopyEncTransitionMode
 
 CubemapSide
 
 DefaultMipmapGen
 
 DescBindingTypes
 
 EmitterCommands
 
 GpuPageOutStrategy
 
 GpuResidency
 
 LampConeType
 
 LampHorizType
 
 LoadAction
 
 MsaaPatterns
 
 ParticleRotationType
 
 ParticleType
 
 PbsBrdf
 
 PixelFormatDataTypes
 
 PrefabRootLayout
 
 ResidencyMask
 
 ResourceAccess
 
 ResourceLayout
 
 SceneFlags
 
 StoreAction
 
 SubmissionType
 
 TextureFilter
 
 TextureFlags
 
 TextureSourceType
 
 TextureTypes
 
 v1
 
 VisibilityFlags
 
 Volume
 
 VoxelizerJobSetting
 

Classes

struct  _ConfigOption
 Packages the details of a configuration option. More...
 
struct  Aabb
 AoS (array of structures) version of ArrayAabb. More...
 
struct  AbiCookie
 
class  AbsolutePixelCountLodStrategy
 The AbsolutePixelCountLodStrategy class LOD strategy that works like ScreenRatioPixelCountLodStrategy, but in range [-width * height;0] instead of [-1.0;0.0]. More...
 
class  AbstractNode
 
struct  ActiveActorData
 
class  AlignAllocPolicy
 
class  AlignedMemory
 Class to provide aligned memory allocate functionality. More...
 
class  AllocatedObject
 Superclass for all objects that wish to use custom memory allocators when their new / delete operators are called.
 
class  AndroidEGLContext
 
class  AndroidEGLSupport
 
class  AndroidEGLWindow
 
class  AndroidJniProvider
 
class  AndroidLogListener
 
class  Angle
 Wrapper class which identifies a value as the currently default angle type, as defined by Math::setAngleUnit. More...
 
class  AnimableObject
 Defines an interface to classes which have one or more AnimableValue instances to expose. More...
 
class  AnimableValue
 Defines an object property which is animable, i.e. More...
 
class  AnimationControllerFunction
 Predefined controller function for dealing with animation. More...
 
class  Any
 Variant type that can hold Any other type. More...
 
class  AnyNumeric
 Specialised Any class which has built in arithmetic operators, but can hold only types which support operator +,-,* and / . More...
 
class  APKFileSystemArchive
 
class  APKFileSystemArchiveFactory
 
class  APKZipArchiveFactory
 
class  Archive
 Archive-handling class. More...
 
class  ArchiveFactory
 Abstract factory class, archive codec plugins can register concrete subclasses of this. More...
 
class  ArchiveManager
 This class manages the available ArchiveFactory plugins. More...
 
class  AreaEmitter
 Particle emitter which emits particles randomly from points inside an area (box, sphere, ellipsoid whatever subclasses choose to be). More...
 
class  AreaEmitter2
 Particle emitter which emits particles randomly from points inside an area (box, sphere, ellipsoid whatever subclasses choose to be). More...
 
class  ArrayAabb
 Cache-friendly array of Aabb represented as a SoA array. More...
 
struct  ArrayActorPlane
 Actors are defined by a plane and a rectangle that limits that plane. More...
 
class  ArrayMatrix4
 Cache-friendly container of 4x4 matrices represented as a SoA array. More...
 
class  ArrayMatrixAf4x3
 Cache-friendly container of AFFINE 4x4 matrices represented as a SoA array. More...
 
class  ArrayMemoryManager
 Abstract memory manager for managing large chunks of contiguous memory, optimized for SoA (Structure of Arrays) implementations. More...
 
struct  ArrayPlane
 
class  ArrayQuaternion
 Cache-friendly array of Quaternion represented as a SoA array. More...
 
class  ArrayRay
 
class  ArraySphere
 Cache-friendly array of Sphere represented as a SoA array. More...
 
class  ArrayVector2
 Cache-friendly array of 2-dimensional represented as a SoA array. More...
 
class  ArrayVector3
 Cache-friendly array of 3-dimensional represented as a SoA array. More...
 
class  ArrayVector4
 Cache-friendly array of 4-dimensional represented as a SoA array. More...
 
class  ASTCCodec
 Codec specialized in loading ASTC (ARM Adaptive Scalable Texture Compression) images. More...
 
class  AsyncTextureTicket
 In Ogre 2.2 reading data from GPU back to CPU is asynchronous. More...
 
class  AsyncTicket
 In Ogre 2.0 data structures, reading data from GPU back to CPU is asynchronous. More...
 
class  AtmosphereComponent
 
class  AtmosphereNpr
 Non-physically-based-render (NPR) Atmosphere solution. More...
 
class  AtomAbstractNode
 This is an abstract node which cannot be broken down further. More...
 
class  AtomicObject
 
class  AtomicScalar
 
class  AutoParamDataSource
 This utility class is used to hold the information used to generate the matrices and other information required to automatically populate GpuProgramParameters. More...
 
class  AxisAlignedBox
 A 3D box aligned with the x/y/z axes. More...
 
class  AxisAlignedBoxSceneQuery
 Specialises the SceneQuery class for querying within an axis aligned box. More...
 
struct  BackgroundProcessResult
 Encapsulates the result of a background queue request. More...
 
class  Barrier
 A barrier is a synchronization mechanism where multiple threads wait until all of them have reached the barrier sync point before continuing. More...
 
class  BarrierSolver
 
struct  BasicBlock
 
struct  Billboard
 Basic Billboard holder that belongs to a ParticleSystemDef. More...
 
class  BillboardSet
 A BillboardSet is just a ParticleSystemDef directly exposed to the user but without emitters, affectors and time to live. More...
 
class  bitset64
 See cbitset64. More...
 
class  Bitwise
 Class for manipulating bit patterns. More...
 
class  Bone
 Class representing a Bone in the join hierarchy of a skeleton. More...
 
class  BoneArrayMemoryManager
 Implementation to create the Transform variables needed by Bones. More...
 
class  BoneMemoryManager
 Wrap-around class that contains multiple ArrayMemoryManager, one per hierarchy depth. More...
 
struct  BoneTransform
 Represents the transform of a single object, arranged in SoA (Structure of Arrays) More...
 
class  BooleanMask4
 
struct  BoundUav
 
struct  Box
 Structure used to define a box in a 3-D integer space. More...
 
class  BoxEmitter
 Particle emitter which emits particles randomly from points inside a box. More...
 
class  BoxEmitter2
 Particle emitter which emits particles randomly from points inside a box. More...
 
class  BoxEmitterFactory
 Factory class for particle emitter of type "Box". More...
 
class  BoxEmitterFactory2
 
class  BufferInterface
 Most (if not all) buffers, can be treated with the same code. More...
 
class  BufferPacked
 
struct  BuildLightListRequest
 
class  BuiltinScriptTranslatorManager
 This class manages the builtin translators. More...
 
struct  BySkeletonDef
 
class  Camera
 A viewpoint from which the scene will be rendered. More...
 
struct  CamerasInProgress
 Struct that holds a number of cameras used in the current rendering pass. More...
 
struct  CbBase
 
struct  CbDrawCall
 
struct  CbDrawCallIndexed
 
struct  CbDrawCallStrip
 
struct  CbDrawIndexed
 
struct  CbDrawStrip
 
struct  CbIndirectBuffer
 
class  cbitset32
 This is similar to std::bitset, except waaay less bloat. More...
 
class  cbitset64
 This is similar to std::bitset, except waaay less bloat. More...
 
class  cbitsetN
 
struct  CbLowLevelMaterial
 
struct  CbPipelineStateObject
 
struct  CbSamplers
 
struct  CbShaderBuffer
 
struct  CbSharedDraw
 
struct  CbTexture
 
struct  CbTextures
 
struct  CbVao
 
class  CocoaContext
 
class  CocoaWindow
 
class  Codec
 Abstract class that defines a 'codec'. More...
 
class  ColourFaderAffector
 This plugin subclass of ParticleAffector allows you to alter the colour of particles. More...
 
class  ColourFaderAffector2
 This plugin subclass of ParticleAffector allows you to alter the colour of particles. More...
 
class  ColourFaderAffector2FX2
 This plugin subclass of ParticleAffector allows you to alter the colour of particles. More...
 
class  ColourFaderAffector2FX2Factory
 
class  ColourFaderAffectorFactory
 Factory class for ColourFaderAffector. More...
 
class  ColourFaderAffectorFactory2
 Factory class for ColourFaderAffector. More...
 
class  ColourFaderAffectorFX2
 This plugin subclass of ParticleAffector allows you to alter the colour of particles. More...
 
class  ColourFaderAffectorFX2Factory
 
class  ColourImageAffector
 
class  ColourImageAffector2
 
class  ColourImageAffectorFactory
 Factory class for ColourImageAffector. More...
 
class  ColourImageAffectorFactory2
 
class  ColourInterpolatorAffector
 
class  ColourInterpolatorAffector2
 
class  ColourInterpolatorAffectorFactory
 Factory class for ColourInterpolatorAffector. More...
 
class  ColourInterpolatorAffectorFactory2
 
class  ColourValue
 Class representing colour. More...
 
class  CommandBuffer
 Command Buffer implementation. More...
 
class  CompositorLoadActionTranslator
 
class  CompositorManager2
 Main system for managing Render Targets through the use of nodes. More...
 
struct  CompositorNamedBuffer
 
class  CompositorNode
 Compositor nodes are the core subject of compositing. More...
 
class  CompositorNodeDef
 Compositor nodes are the core subject of compositing. More...
 
class  CompositorNodeTranslator
 
class  CompositorPass
 Abstract class for compositor passes. More...
 
class  CompositorPassClear
 Implementation of CompositorPass This implementation will clear the RenderTarget using the parameters from definition (rectangle area, which buffers, what values, etc) More...
 
class  CompositorPassClearDef
 
class  CompositorPassCompute
 Implementation of CompositorPass This implementation will render a fullscreen triangle/quad to the RenderTarget using the parameters from definition (rectangle area, whether triangle or quad pass, whether to include frustum corners, etc) More...
 
class  CompositorPassComputeDef
 
class  CompositorPassDef
 Interface to abstract all types of pass definitions (see CompositorPassType): More...
 
class  CompositorPassDepthCopy
 Implementation of CompositorPass This implementation will copy one DepthBuffer to another DepthBuffer from two RTs. More...
 
class  CompositorPassDepthCopyDef
 
class  CompositorPassIblSpecular
 Implementation of CompositorPass This implementation will generate IblSpeculars for the specified texture. More...
 
class  CompositorPassIblSpecularDef
 
class  CompositorPassMipmap
 Implementation of CompositorPass This implementation will generate mipmaps for the specified texture. More...
 
class  CompositorPassMipmapDef
 
class  CompositorPassProvider
 Base class that users can derive from in order to implement custom passes for the compositor. More...
 
class  CompositorPassQuad
 Implementation of CompositorPass This implementation will render a fullscreen triangle/quad to the RenderTarget using the parameters from definition (rectangle area, whether triangle or quad pass, whether to include frustum corners, etc) More...
 
class  CompositorPassQuadDef
 
class  CompositorPassScene
 Implementation of CompositorPass This implementation will perform main rendering, selecting several parameters (like viewport's visibility mask, first and last render queue to render) it will render the main scene. More...
 
class  CompositorPassSceneDef
 
class  CompositorPassShadows
 CompositorPassShadows This class enables force-updating multiple shadow nodes in batch in its own pass. More...
 
class  CompositorPassShadowsDef
 
class  CompositorPassStencil
 Implementation of CompositorPass This implementation will clear the RenderTarget using the parameters from definition (rectangle area, which buffers, what values, etc) More...
 
class  CompositorPassStencilDef
 
class  CompositorPassTargetBarrier
 
class  CompositorPassTargetBarrierDef
 
class  CompositorPassTranslator
 
class  CompositorPassUav
 Implementation of CompositorPass This implementation will set UAVs. More...
 
class  CompositorPassUavDef
 
class  CompositorPassWarmUp
 Implementation of CompositorPass. More...
 
class  CompositorPassWarmUpDef
 
class  CompositorRenderTargetViewTranslator
 
class  CompositorShadowMapRepeatTranslator
 
class  CompositorShadowMapTargetTranslator
 
class  CompositorShadowMapTargetTypeTranslator
 
class  CompositorShadowNode
 Shadow Nodes are special nodes (not to be confused with CompositorNode) that are only used for rendering shadow maps. More...
 
class  CompositorShadowNodeDef
 Shadow Nodes are special nodes (not to be confused with. More...
 
class  CompositorShadowNodeTranslator
 
class  CompositorStoreActionTranslator
 
class  CompositorTargetDef
 
class  CompositorTargetTranslator
 
struct  CompositorTexture
 
class  CompositorTextureBaseTranslator
 
class  CompositorWorkspace
 A compositor workspace is the main interface to render into an RT, be it a RenderWindow or an RTT (Render Texture Target). More...
 
class  CompositorWorkspaceDef
 
class  CompositorWorkspaceListener
 
class  CompositorWorkspaceTranslator
 
class  ComPtr
 
struct  ComputeProperty
 
class  ComputeTools
 
class  ConcentricShadowCamera
 Implements the concentric shadow mapping algorithm. More...
 
struct  ConcreteNode
 
class  ConfigDialog
 Defines the behaviour of an automatic renderer configuration dialog. More...
 
class  ConfigFile
 Class for quickly loading settings from a text file. More...
 
class  ConstBufferPacked
 Represents constant buffers (also known as Uniform Buffers in GL) More...
 
class  ConstBufferPool
 Maintains a pool of buffers grouped by hash ID. More...
 
class  ConstBufferPoolUser
 
class  ConstMapIterator
 Concrete IteratorWrapper for const access to the underlying key-value container. More...
 
class  ConstVectorIterator
 Concrete IteratorWrapper for const access to the underlying container. More...
 
class  Controller
 Instances of this class 'control' the value of another object in the system. More...
 
class  ControllerFunction
 Subclasses of this class are responsible for performing a function on an input value for a Controller. More...
 
class  ControllerManager
 Class for managing Controller instances. More...
 
class  ControllerValue
 Can either be used as an input or output value. More...
 
class  ConvexBody
 Holds a solid representation of a convex body. More...
 
class  CPreprocessor
 This is a simplistic C/C++-like preprocessor. More...
 
class  CreateCompositorScriptCompilerEvent
 
class  CreateGpuProgramScriptCompilerEvent
 
class  CreateGpuSharedParametersScriptCompilerEvent
 
class  CreateHighLevelGpuProgramScriptCompilerEvent
 
class  CreateMaterialScriptCompilerEvent
 
class  CreateParticleSystemScriptCompilerEvent
 
class  CubemapProbe
 
struct  CullFrustumPreparedData
 
struct  CullFrustumRequest
 All variables are read-only for the worker threads. More...
 
class  CustomCompositionPass
 Interface for custom composition passes, allowing custom operations (in addition to the quad, scene and clear operations) in composition passes. More...
 
class  CylinderEmitter
 Particle emitter which emits particles randomly from points inside a cylinder. More...
 
class  CylinderEmitter2
 Particle emitter which emits particles randomly from points inside a cylinder. More...
 
class  CylinderEmitterFactory
 Factory class for particle emitter of type "Cylinder". More...
 
class  CylinderEmitterFactory2
 
class  D3D11AmdExtension
 
class  D3D11AsyncTextureTicket
 See AsyncTextureTicket. More...
 
class  D3D11AsyncTicket
 
class  D3D11BufferInterface
 For D3D11, most (if not all) buffers, can be treated with the same code. More...
 
class  D3D11BufferInterfaceBase
 For D3D11, most (if not all) buffers, can be treated with the same code. More...
 
class  D3D11CompatBufferInterface
 In D3D11, const buffers can't be bound by offset. More...
 
class  D3D11ConstBufferPacked
 
class  D3D11Device
 
class  D3D11DeviceResource
 Represents a Direct3D rendering resource. More...
 
class  D3D11DeviceResourceManager
 Singleton that is used to propagate device state changed notifications. More...
 
class  D3D11Driver
 
class  D3D11DriverList
 
class  D3D11DynamicBuffer
 D3D11 doesn't support mapping the same buffer twice even if the regions don't overlap. More...
 
struct  D3D11FrameBufferDescValue
 
class  D3D11GpuProgramManager
 
class  D3D11HardwareOcclusionQuery
 This is a class that is the DirectX9 implementation of hardware occlusion testing. More...
 
struct  D3D11HlmsPso
 We cache some conversion values here to avoid doing it every time we set the Pso. More...
 
class  D3D11HLSLProgram
 Specialization of HighLevelGpuProgram to provide support for D3D11 High-Level Shader Language (HLSL). More...
 
class  D3D11HLSLProgramFactory
 Factory class for D3D11 HLSL programs. More...
 
class  D3D11Mappings
 
class  D3D11PixelFormatToShaderType
 
class  D3D11Plugin
 Plugin instance for D3D11 Manager. More...
 
class  D3D11ReadOnlyBufferPacked
 
class  D3D11RenderPassDescriptor
 D3D11 will share groups of ID3D11RenderTargetView all D3D11RenderPassDescriptor that share the same RTV setup. More...
 
class  D3D11RenderSystem
 Implementation of DirectX11 as a rendering system. More...
 
class  D3D11StagingBuffer
 NOTE FOR D3D12 PORTING: The GL3Plus implementation should be used as reference, since it is much lower level than this implementation for D3D11. More...
 
class  D3D11StagingTexture
 
class  D3D11StereoDriverAMD
 Virtual interface of the stereo driver. More...
 
class  D3D11StereoDriverBridge
 Bridge interface from the render system to the stereo driver. More...
 
class  D3D11StereoDriverImpl
 Virtual interface of the stereo driver. More...
 
class  D3D11StereoDriverNVIDIA
 Interface of the NVIDIA stereo driver. More...
 
class  D3D11TexBufferPacked
 
class  D3D11TextureGpu
 
class  D3D11TextureGpuManager
 
class  D3D11TextureGpuRenderTarget
 
class  D3D11TextureGpuWindow
 
class  D3D11UavBufferPacked
 
class  D3D11VaoManager
 
class  D3D11VendorExtension
 
struct  D3D11VertexArrayObject
 
struct  D3D11VertexArrayObjectShared
 
class  D3D11VideoMode
 
class  D3D11VideoModeList
 
class  D3D11Window
 
class  D3D11WindowSwapChainBased
 
class  DataStream
 General purpose class used for encapsulating the reading and writing of data. More...
 
class  DDSCodec2
 Codec specialized in loading DDS (Direct Draw Surface) images. More...
 
class  Decal
 Decals can have diffuse, normal map, and emissive on top of regular objects. More...
 
class  DecalFactory
 
class  DefaultAxisAlignedBoxSceneQuery
 Default implementation of AxisAlignedBoxSceneQuery. More...
 
class  DefaultIntersectionSceneQuery
 Default implementation of IntersectionSceneQuery. More...
 
class  DefaultPlaneBoundedVolumeListSceneQuery
 Default implementation of PlaneBoundedVolumeListSceneQuery. More...
 
class  DefaultRaySceneQuery
 Default implementation of RaySceneQuery. More...
 
class  DefaultSceneFormatListener
 Default implementation that prevents a SceneNode from being exported if the only attached objects. More...
 
class  DefaultSceneManager
 Default scene manager. More...
 
class  DefaultSceneManagerFactory
 Factory for default scene manager. More...
 
class  DefaultShadowCameraSetup
 Implements default shadow camera setup. More...
 
class  DefaultSphereSceneQuery
 Default implementation of SphereSceneQuery. More...
 
class  DefaultTextureGpuManagerListener
 This is a Default implementation of TextureGpuManagerListener based on heuristics. More...
 
class  DefaultWorkQueue
 Implementation of a general purpose request / response style background work queue. More...
 
class  DefaultWorkQueueBase
 Base for a general purpose request / response style background work queue. More...
 
class  DeflateStream
 Stream which compresses / uncompresses data using the 'deflate' compression algorithm. More...
 
class  DeflectorPlaneAffector
 This class defines a ParticleAffector which deflects particles. More...
 
class  DeflectorPlaneAffector2
 This class defines a ParticleAffector which deflects particles. More...
 
class  DeflectorPlaneAffectorFactory
 Factory class for DeflectorPlaneAffector. More...
 
class  DeflectorPlaneAffectorFactory2
 
class  Degree
 Wrapper class which indicates a given angle value is in Degrees. More...
 
struct  DeleteOnDestructor
 
struct  DepthBuffer
 An abstract class that contains a depth/stencil buffer. More...
 
struct  DescBindingRange
 
struct  DescriptorSetSampler
 Descriptor sets describe what samplers should be bound together in one place. More...
 
struct  DescriptorSetTexture
 Descriptor sets describe what textures should be bound together in one place. More...
 
struct  DescriptorSetTexture2
 
struct  DescriptorSetUav
 Descriptor sets describe what uavs should be bound together in one place. More...
 
class  DirectionRandomiserAffector
 This class defines a ParticleAffector which applies randomness to the movement of the particles. More...
 
class  DirectionRandomiserAffector2
 This class defines a ParticleAffector which applies randomness to the movement of the particles. More...
 
class  DirectionRandomiserAffectorFactory
 Factory class for DirectionRandomiserAffector. More...
 
class  DirectionRandomiserAffectorFactory2
 
class  DistanceLodBoxStrategy
 Level of detail strategy based on distance from camera to an object's bounding box. More...
 
class  DistanceLodSphereStrategy
 Level of detail strategy based on distance from camera to an object's bounding sphere. More...
 
class  DistanceLodStrategyBase
 Level of detail strategy based on distance from camera. More...
 
struct  DriverVersion
 DriverVersion is used by RenderSystemCapabilities and both GL and D3D9 to store the version of the current GPU driver. More...
 
class  DualQuaternion
 Implementation of a dual quaternion, i.e. More...
 
class  DynLib
 Resource holding data about a dynamic library. More...
 
class  DynLibManager
 Manager for Dynamic-loading Libraries. More...
 
class  EGLContext
 
class  EGLGLSupport
 
class  EglPBufferContext
 
class  EglPBufferSupport
 
class  EglPBufferWindow
 PBuffer implementation of EGL When supported, PBuffer is a surface-less implementation of OpenGL. More...
 
class  EGLSupport
 
class  EGLWindow
 
class  EllipsoidEmitter
 Particle emitter which emits particles randomly from points inside an ellipsoid. More...
 
class  EllipsoidEmitter2
 Particle emitter which emits particles randomly from points inside an ellipsoid. More...
 
class  EllipsoidEmitterFactory
 Factory class for particle emitter of type "Ellipsoid". More...
 
class  EllipsoidEmitterFactory2
 
class  EmbeddedZipArchiveFactory
 Specialisation of ZipArchiveFactory for embedded Zip files. More...
 
struct  EmittedParticle
 
class  EmitterDefData
 EmitterDefData are per ParticleSystemDef. More...
 
struct  EmitterInstanceData
 EmitterInstanceData are per ParticleSystem. More...
 
class  EmscriptenEGLContext
 
class  EmscriptenEGLSupport
 
class  EmscriptenEGLWindow
 
struct  EntityMaterialLodChangedEvent
 Struct containing information about a material LOD change event for entities. More...
 
struct  EntityMeshLodChangedEvent
 Struct containing information about a mesh LOD change event for entities. More...
 
class  ErrorDialog
 Class for displaying the error dialog if Ogre fails badly. More...
 
class  ETCCodec
 Codec specialized in loading ETC (Ericsson Texture Compression) images. More...
 
class  Exception
 When thrown, provides information about an error that has occurred inside the engine. More...
 
class  ExceptionFactory
 Class implementing dispatch methods in order to construct by-value exceptions of a derived type based just on an exception code. More...
 
class  EXRCodec
 Codec specialized in loading OpenEXR high dynamic range images. More...
 
class  ExternalTextureSource
 IMPORTANT: Plugins must override default dictionary name! Base class that texture plugins derive from. More...
 
class  ExternalTextureSourceManager
 Singleton Class which handles the registering and control of texture plugins. More...
 
class  FactoryObj
 Abstract factory class. More...
 
class  FastArray
 Lightweight implementation of std::vector. More...
 
class  FileHandleDataStream
 Common subclass of DataStream for handling data from C-style file handles. More...
 
struct  FileInfo
 Information about a file/directory within the archive will be returned using a FileInfo struct. More...
 
class  FileNotFoundException
 
class  FileStreamDataStream
 Common subclass of DataStream for handling data from std::basic_istream. More...
 
class  FileSystemArchive
 Specialisation of the Archive class to allow reading of files from filesystem folders / directories. More...
 
class  FileSystemArchiveFactory
 Specialisation of ArchiveFactory for FileSystem files. More...
 
class  FileSystemLayer
 Provides methods to find out where the Ogre config files are stored and where logs and settings files should be written to. More...
 
struct  FilterKernel
 
struct  FilterSeparableKernel
 
struct  float2
 
struct  float4
 
struct  float4x3
 
struct  float4x4
 
class  FloatGpuParameterControllerValue
 Predefined controller value for setting a single floating- point value in a constant parameter of a vertex or fragment program. More...
 
class  FocusedShadowCameraSetup
 Implements the uniform shadow mapping algorithm in focused mode. More...
 
class  Font
 Class representing a font in the system. More...
 
class  FontManager
 Manages Font resources, parsing .fontdef files and generally organising them. More...
 
class  Forward3D
 Forward3D. More...
 
class  ForwardClustered
 Implementation of Clustered Forward Shading. More...
 
class  ForwardPlusBase
 ForwardPlusBase. More...
 
struct  FrameBufferDescKey
 
struct  FrameEvent
 Struct containing information about a frame event. More...
 
class  FrameListener
 A interface class defining a listener which can be used to receive notifications of frame events. More...
 
class  FrameStats
 All returned values are either in seconds or frames per second. More...
 
class  FrameTimeControllerValue
 Predefined controller value for getting the latest frame time. More...
 
class  FreeImageCodec2
 Codec specialized in images loaded using FreeImage. More...
 
struct  FreeOnDestructor
 Helper class to that will free the pointer on the destructor. More...
 
class  Frustum
 A frustum represents a pyramid, capped at the near and far end which is used to represent either a visible area or a projection area. More...
 
class  GL3PlusAsyncTextureTicket
 See AsyncTextureTicket. More...
 
class  GL3PlusAsyncTicket
 
class  GL3PlusBufferInterface
 For GL3+, most (if not all) buffers, can be treated with the same code. More...
 
class  GL3PlusConstBufferPacked
 
class  GL3PlusContext
 Class that encapsulates an GL context. More...
 
struct  GL3PlusDescriptorSetTexture2
 
class  GL3PlusDynamicBuffer
 GL3+ doesn't support mapping the same buffer twice even if the regions don't overlap. More...
 
struct  GL3PlusFrameBufferDescValue
 
class  GL3PlusHardwareOcclusionQuery
 This is a class that is the base class of the query class for hardware occlusion. More...
 
struct  GL3PlusHlmsPso
 We cache some conversion values here to avoid doing it every time we set the Pso. More...
 
class  GL3PlusMappings
 
class  GL3PlusOldVertexArrayObject
 Specialisation of VertexDeclaration for OpenGL Vertex Array Object usage. More...
 
class  GL3PlusPixelFormatToShaderType
 
class  GL3PlusPlugin
 Plugin instance for GL3Plus Manager. More...
 
class  GL3PlusReadOnlyBufferEmulatedPacked
 
class  GL3PlusReadOnlyTexBufferPacked
 
class  GL3PlusReadOnlyUavBufferPacked
 
class  GL3PlusRenderPassDescriptor
 GL3+ will share FBO handles between all GL3PlusRenderPassDescriptor that share the same FBO setup. More...
 
class  GL3PlusRenderSystem
 Implementation of GL 3 as a rendering system. More...
 
class  GL3PlusStagingBuffer
 A staging buffer is a buffer that resides on the GPU and be written to/from both CPU & GPU However the access in both cases is limited. More...
 
class  GL3PlusStagingTexture
 
class  GL3PlusSupport
 
class  GL3PlusTexBufferEmulatedPacked
 
class  GL3PlusTexBufferPacked
 
class  GL3PlusTextureGpu
 
class  GL3PlusTextureGpuHeadlessWindow
 
class  GL3PlusTextureGpuManager
 
class  GL3PlusTextureGpuRenderTarget
 
class  GL3PlusTextureGpuWindow
 
class  GL3PlusUavBufferPacked
 
class  GL3PlusVaoManager
 
struct  GL3PlusVertexArrayObject
 
class  GLES2AsyncTicket
 
class  GLES2BufferInterface
 For GL3+, most (if not all) buffers, can be treated with the same code. More...
 
class  GLES2ConstBufferPacked
 
class  GLES2Context
 Class that encapsulates an GL context. More...
 
class  GLES2DepthBuffer
 An abstract class that contains a depth/stencil buffer. More...
 
class  GLES2DepthTexture
 
class  GLES2DepthTextureTarget
 
class  GLES2DynamicBuffer
 GL3+ doesn't support mapping the same buffer twice even if the regions don't overlap. More...
 
class  GLES2FBOManager
 Factory for GL ES 2 Frame Buffer Objects, and related things. More...
 
class  GLES2FBOMultiRenderTarget
 MultiRenderTarget for GL ES 2.x. More...
 
class  GLES2FBORenderTexture
 RenderTexture for GL ES 2 FBO. More...
 
class  GLES2FrameBufferObject
 Frame Buffer Object abstraction. More...
 
class  GLES2GpuProgramManager
 
class  GLES2HardwareOcclusionQuery
 
struct  GLES2HlmsPso
 We cache some conversion values here to avoid doing it every time we set the Pso. More...
 
struct  GLES2HlmsSamplerblock
 A sampler block contains settings that go hand in hand with a texture, and thus are common to many textures. More...
 
class  GLES2NullTexture
 
class  GLES2NullTextureTarget
 
class  GLES2OldVertexArrayObject
 Specialisation of VertexDeclaration for OpenGL ES 2 Vertex Array Object usage. More...
 
class  GLES2PixelFormatToShaderType
 
class  GLES2PixelUtil
 Class to do pixel format mapping between GL and OGRE. More...
 
class  GLES2Plugin
 Plugin instance for GL ES 2 Manager. More...
 
class  GLES2RenderSystem
 Implementation of GL ES 2.x as a rendering system. More...
 
class  GLES2RenderTexture
 Base class for GL Render Textures. More...
 
class  GLES2RTTManager
 Manager/factory for RenderTextures. More...
 
class  GLES2StagingBuffer
 A staging buffer is a buffer that resides on the GPU and be written to/from both CPU & GPU However the access in both cases is limited. More...
 
class  GLES2Support
 
struct  GLES2SurfaceDesc
 GL surface descriptor. More...
 
class  GLES2TexBufferEmulatedPacked
 
class  GLES2Texture
 
class  GLES2TextureManager
 GL ES-specific implementation of a TextureManager. More...
 
class  GLES2VaoManager
 
struct  GLES2VertexArrayObject
 
class  GLSLESLinkProgram
 C++ encapsulation of GLSL ES Program Object. More...
 
class  GLSLESLinkProgramManager
 Ogre assumes that there are separate vertex and fragment programs to deal with but GLSL ES has one program object that represents the active vertex and fragment shader objects during a rendering state. More...
 
class  GLSLESProgramCommon
 C++ encapsulation of GLSL ES Program Object. More...
 
class  GLSLESProgramManagerCommon
 Ogre assumes that there are separate programs to deal with but GLSL ES has one program object that represents the active shader objects during a rendering state. More...
 
class  GLSLESProgramPipeline
 Specialisation of GLSLESProgramCommon to provide support for separable programs via the Open GL program pipeline. More...
 
class  GLSLESProgramPipelineManager
 Ogre assumes that there are separate vertex and fragment programs to deal with but GLSL ES has one program pipeline object that represents the active vertex and fragment program objects during a rendering state. More...
 
class  GLSLESShader
 Specialisation of HighLevelGpuProgram to encapsulate shader objects obtained from compiled shaders written in the OpenGL Shader Language (GLSL ES) for OpenGL ES 2.0. More...
 
class  GLSLESShaderFactory
 Factory class for GLSL ES programs. More...
 
class  GLSLMonolithicProgram
 Model of OpenGL program object created using the glLinkProgram method of linking. More...
 
class  GLSLMonolithicProgramManager
 Ogre assumes that there are separate vertex and fragment programs to deal with but GLSL has one program object that represents the active vertex and fragment shader objects during a rendering state. More...
 
class  GLSLProgram
 C++ encapsulation of GLSL program object. More...
 
class  GLSLProgramManager
 Ogre assumes that there are separate programs to deal with but GLSL has one program object that represents the active shader objects during a rendering state. More...
 
class  GLSLShader
 Specialisation of HighLevelGpuProgram to encapsulate shader objects obtained from compiled shaders written in the OpenGL Shader Language (GLSL). More...
 
class  GLSLShaderFactory
 Factory class for GLSL shaders. More...
 
class  GLSLShaderManager
 
class  GlSwitchableSupport
 
struct  GLUniformReference
 Structure used to keep track of named uniforms in the linked program object. More...
 
class  GLXContext
 
class  GLXGLSupport
 
class  GLXUtils
 
class  GLXWindow
 
struct  GpuConstantDefinition
 Information about predefined program constants. More...
 
struct  GpuLogicalBufferStruct
 Container struct to allow params to safely & update shared list of logical buffer assignments. More...
 
struct  GpuLogicalIndexUse
 Structure recording the use of a physical buffer by a logical parameter index. More...
 
struct  GpuNamedConstants
 Struct collecting together the information for named constants. More...
 
class  GpuNamedConstantsSerializer
 Simple class for loading / saving GpuNamedConstants. More...
 
class  GpuProgram
 Defines a program which runs on the GPU such as a vertex or fragment program. More...
 
class  GpuProgramManager
 
class  GpuProgramParameters
 Collects together the program parameters used for a GpuProgram. More...
 
class  GpuProgramParameters_AutoConstantEntry
 Structure recording the use of an automatic parameter. More...
 
class  GpuProgramTranslator
 
class  GpuProgramUsage
 This class makes the usage of a vertex and fragment programs (low-level or high-level), with a given set of parameters, explicit. More...
 
class  GpuResource
 
class  GpuSharedParameters
 Definition of container that holds the current bool constants. More...
 
class  GpuSharedParametersUsage
 This class records the usage of a set of shared parameters in a concrete set of GpuProgramParameters. More...
 
struct  GpuTrackedResource
 
class  Grid2DPageStrategy
 Page strategy which loads new pages based on a regular 2D grid. More...
 
class  Grid2DPageStrategyData
 Specialisation of PageStrategyData for Grid2DPageStrategy. More...
 
class  Grid3DPageStrategy
 Page strategy which loads new pages based on a regular 3D grid. More...
 
class  Grid3DPageStrategyData
 Specialisation of PageStrategyData for Grid3DPageStrategy. More...
 
class  HardwareOcclusionQuery
 This is a abstract class that that provides the interface for the query class for hardware occlusion. More...
 
class  HashedVector
 A hashed vector. More...
 
class  HiddenAreaMeshVrGenerator
 
struct  HiddenAreaVrSettings
 
class  HighLevelGpuProgram
 Abstract base class representing a high-level program (a vertex or fragment program). More...
 
class  HighLevelGpuProgramFactory
 Interface definition for factories of HighLevelGpuProgram. More...
 
class  HighLevelGpuProgramManager
 This ResourceManager manages high-level vertex and fragment programs. More...
 
class  Hlms
 HLMS stands for "High Level Material System". More...
 
struct  HlmsBasePieces
 
struct  HlmsBaseProp
 These are "default" or "Base" properties common to many implementations and thus defined here. More...
 
struct  HlmsBits
 
struct  HlmsBlendblock
 A blend block contains settings that rarely change, and thus are common to many materials. More...
 
class  HlmsBufferManager
 Managing constant and texture buffers for sending shader parameters is a very similar process to most Hlms implementations using them. More...
 
struct  HlmsCache
 
class  HlmsCompute
 HLMS implementation that handles compute shaders. More...
 
class  HlmsComputeJob
 
struct  HlmsComputePso
 
class  HlmsDatablock
 An hlms datablock contains individual information about a specific material. More...
 
class  HlmsDiskCache
 This class allows saving the current state of an Hlms to disk: both its compiled shaders with source and the generated PSOs. More...
 
class  HlmsJson
 HLMS stands for "High Level Material System". More...
 
class  HlmsJsonCompute
 HLMS stands for "High Level Material System". More...
 
class  HlmsJsonListener
 
class  HlmsJsonPbs
 
class  HlmsJsonUnlit
 
class  HlmsListener
 Listener that can be hooked to an Hlms implementation for extending it with custom code. More...
 
class  HlmsLowLevel
 This is an HLMS implementation that acts as proxy to use the Material system from Ogre 1.9 The older material system is data-driven (thanks to AutoParamDataSource) compared to HLMS where the user needs to write its own implementation in C++ (or modify an exisiting one). More...
 
class  HlmsLowLevelDatablock
 Contains information needed by the UI (2D) for OpenGL ES 2.0. More...
 
struct  HlmsMacroblock
 A macro block contains settings that will rarely change, and thus are common to many materials. More...
 
class  HlmsManager
 HLMS stands for "High Level Material System". More...
 
struct  HlmsPassPso
 IT'S MEMBERS MUST BE KEPT POD (Otherwise HlmsPso needs to be modified). More...
 
class  HlmsPbs
 Physically based shading implementation specfically designed for OpenGL 3+, D3D11 and other RenderSystems which support uniform buffers. More...
 
class  HlmsPbsDatablock
 Contains information needed by PBS (Physically Based Shading) for OpenGL 3+ & D3D11+. More...
 
struct  HlmsProperty
 
struct  HlmsPso
 Defines a PipelineStateObject as required by Vulkan, Metal & DX12. More...
 
struct  HlmsPsoProp
 
struct  HlmsSamplerblock
 A sampler block contains settings that go hand in hand with a texture, and thus are common to many textures. More...
 
class  HlmsTextureExportListener
 
struct  HlmsTexturePack
 
class  HlmsTranslator
 
class  HlmsUnlit
 Implementation without lighting or skeletal animation specfically designed for OpenGL 3+, D3D11 and other RenderSystems which support uniform buffers. More...
 
class  HlmsUnlitDatablock
 Contains information needed by PBS (Physically Based Shading) for OpenGL 3+ & D3D11+. More...
 
class  HollowEllipsoidEmitter
 Particle emitter which emits particles randomly from points inside a hollow ellipsoid. More...
 
class  HollowEllipsoidEmitter2
 Particle emitter which emits particles randomly from points inside a hollow ellipsoid. More...
 
class  HollowEllipsoidEmitterFactory
 Factory class for particle emitter of type "HollowEllipsoid". More...
 
class  HollowEllipsoidEmitterFactory2
 
class  Id
 Usage: OGRE_NEW SceneNode( Id::generateNewId< Node >() ) More...
 
class  IdObject
 
struct  IdString
 Hashed string. More...
 
class  IesLoader
 
class  IfdProbeVisualizer
 
class  Image2
 Class representing an image file. More...
 
class  ImageCodec2
 Codec specialized in images. More...
 
class  ImportAbstractNode
 This abstract node represents an import statement. More...
 
class  IndexBufferPacked
 
class  IndirectBufferPacked
 Represents Indirect buffers for storing draw call commands. More...
 
class  InstantRadiosity
 
class  InternalCubemapProbe
 This class is internal and should not be interfaced directly by users. More...
 
class  InternalCubemapProbeFactory
 
class  InternalErrorException
 
class  IntersectionSceneQuery
 Separate SceneQuery class to query for pairs of objects which are possibly intersecting one another. More...
 
class  IntersectionSceneQueryListener
 Alternative listener class for dealing with IntersectionSceneQuery. More...
 
struct  IntersectionSceneQueryResult
 Holds the results of an intersection scene query (pair values). More...
 
class  InvalidCallException
 
class  InvalidParametersException
 
class  InvalidStateException
 
class  IOException
 
class  IrradianceField
 Implements an Irradiance Field with Depth, inspired on DDGI. More...
 
class  IrradianceFieldRaster
 Implements IrradianceField, but generating results via cubemap rasterization. More...
 
struct  IrradianceFieldSettings
 
class  IrradianceVolume
 
struct  isPodLike
 
struct  isPodLike< bool >
 
struct  isPodLike< char >
 
struct  isPodLike< double >
 
struct  isPodLike< float >
 
struct  isPodLike< int >
 
struct  isPodLike< long >
 
struct  isPodLike< short >
 
struct  isPodLike< signed char >
 
struct  isPodLike< std::pair< T, U > >
 
struct  isPodLike< T * >
 
struct  isPodLike< unsigned >
 
struct  isPodLike< unsigned char >
 
struct  isPodLike< unsigned long >
 
struct  isPodLike< unsigned short >
 
class  Item
 Defines an instance of a discrete, movable object based on a Mesh. More...
 
class  ItemFactory
 FItemy object for creating Item instances. More...
 
class  ItemIdentityException
 
class  IteratorWrapper
 Basefunctionality for IteratorWrappers. More...
 
struct  KeyFrameRig
 
struct  KfTransform
 Holds the transform of a KeyFrame (which is part of an animation) More...
 
class  KfTransformArrayMemoryManager
 Implementation to create the KfTransform variables needed by SkeletonTrack See SkeletonAnimationDef and SkeletonTrack. More...
 
class  LayerBlendModeEx
 Class which manages blending of both colour and alpha components. More...
 
class  Light
 Representation of a dynamic light source in the scene. More...
 
struct  LightClosest
 Used as the light list, sorted. More...
 
class  LightFactory
 Factory object for creating Light instances. More...
 
struct  LightListInfo
 Holds all lights in SoA after being culled over all frustums. More...
 
class  LightProfiles
 
class  LightweightMutex
 A lightweight mutex is a synchronization mechanism, very similar to a regular mutex. More...
 
class  LinearControllerFunction
 Predefined controller function based on linear function interpolation. More...
 
class  LinearForceAffector
 This class defines a ParticleAffector which applies a linear force to particles in a system. More...
 
class  LinearForceAffector2
 This class defines a ParticleAffector which applies a linear force to particles in a system. More...
 
class  LinearForceAffectorFactory
 Factory class for LinearForceAffector. More...
 
class  LinearForceAffectorFactory2
 
class  Lod0Stripifier
 
class  LodCollapseCost
 
class  LodCollapseCostCurvature
 
class  LodCollapseCostOutside
 
class  LodCollapseCostProfiler
 
class  LodCollapseCostQuadric
 
class  LodCollapser
 
struct  LodConfig
 
class  LodConfigSerializer
 
struct  LodData
 
struct  LodIndexBuffer
 Thread-safe buffer for storing Hardware index buffer. More...
 
struct  LodInputBuffer
 Data representing all required information from a Mesh. Used by LodInputProviderBuffer. More...
 
class  LodInputProvider
 
class  LodInputProviderBuffer
 
class  LodInputProviderMesh
 
struct  LodLevel
 Structure for automatic Lod configuration. More...
 
class  LodListener
 A interface class defining a listener which can be used to receive notifications of LOD events. More...
 
struct  LodOutputBuffer
 Data representing the output of the Mesh reduction. Used by LodOutputProviderBuffer. More...
 
class  LodOutputProvider
 
class  LodOutputProviderBuffer
 
class  LodOutputProviderCompressedBuffer
 
class  LodOutputProviderCompressedMesh
 
class  LodOutputProviderMesh
 
class  LodOutsideMarker
 This class will mark vertices of a mesh, which are visible from far away (from outside). More...
 
class  LodStrategy
 Strategy for determining level of detail. More...
 
class  LodStrategyManager
 Manager for LOD strategies. More...
 
struct  LodVertexBuffer
 Thread-safe buffer for storing Hardware vertex buffer. More...
 
class  LodWorkQueueInjector
 Injects the output of a request to the mesh in a thread safe way. More...
 
class  LodWorkQueueInjectorListener
 
struct  LodWorkQueueRequest
 
class  LodWorkQueueWorker
 Processes requests. More...
 
class  Log
 
class  LogListener
 
class  LogManager
 The log manager handles the creation and retrieval of logs for the application. More...
 
struct  LowLevelProp
 
class  LwConstString
 
class  LwString
 This is a Light-weight string wrapper around the C string interface. More...
 
class  ManualObject
 
class  ManualObjectFactory
 Factory object for creating ManualObject instances. More...
 
class  ManualResourceLoader
 Interface describing a manual resource loader. More...
 
class  MapIterator
 Concrete IteratorWrapper for nonconst access to the underlying key-value container. More...
 
class  MapIteratorWrapper
 Prepared IteratorWrapper for key-value container. More...
 
class  Material
 Class encapsulates rendering properties of an object. More...
 
class  MaterialManager
 Class for managing Material settings for Ogre. More...
 
struct  MaterialScriptProgramDefinition
 Struct for holding a program definition which is in progress. More...
 
class  MaterialSerializer
 Class for serializing Materials to / from a .material script. More...
 
class  MaterialTranslator
 
class  Math
 Class to provide access to common mathematical functions. More...
 
class  MathlibC
 
class  Matrix3
 A 3x3 matrix which can represent rotations around axes. More...
 
class  Matrix4
 Class encapsulating a standard 4x4 homogeneous matrix. More...
 
class  MemoryDataStream
 Common subclass of DataStream for handling data from chunks of memory. More...
 
class  Mesh
 Resource holding data about 3D mesh. More...
 
class  MeshLodGenerator
 
class  MeshManager
 Handles the management of mesh resources. More...
 
class  MeshSerializer
 Class for serialising mesh data to/from an OGRE .mesh file. More...
 
class  MeshSerializerImpl
 Internal implementation of Mesh reading / writing for the latest version of the .mesh format. More...
 
class  MeshSerializerImpl_v2_1_R0
 
class  MeshSerializerImpl_v2_1_R1
 
class  MeshSerializerListener
 
class  MetalAsyncTextureTicket
 See AsyncTextureTicket. More...
 
class  MetalAsyncTicket
 
class  MetalBufferInterface
 For Metal, all buffers can be treated with the same code. More...
 
struct  MetalBufferRegion
 
class  MetalConstBufferPacked
 
struct  MetalDescriptorSetTexture
 
struct  MetalDevice
 
class  MetalDeviceItem
 
class  MetalDeviceList
 
class  MetalDiscardBuffer
 
class  MetalDiscardBufferManager
 Metal doesn't support "DISCARD" like D3D9/D3D11 (and OpenGL but often it's broken) where we requested to map a write-only buffer and the API would discard the previous contents (thus allowing us to avoid a stall until the GPU is done with the region) More...
 
class  MetalDynamicBuffer
 Metal doesn't "map". More...
 
struct  MetalFrameBufferDescValue
 
class  MetalGpuProgramManager
 
struct  MetalHlmsPso
 
class  MetalMappings
 
class  MetalPixelFormatToShaderType
 
class  MetalPlugin
 Plugin instance for Metal Manager. More...
 
class  MetalProgram
 Specialisation of HighLevelGpuProgram to provide support for Metal Shader Language. More...
 
class  MetalProgramFactory
 Factory class for Metal programs. More...
 
class  MetalReadOnlyBufferPacked
 
class  MetalRenderPassDescriptor
 
class  MetalRenderSystem
 Implementation of Metal as a rendering system. More...
 
class  MetalStagingBuffer
 A staging buffer is a buffer that resides on the GPU and be written to/from both CPU & GPU However the access in both cases is limited. More...
 
class  MetalStagingTexture
 
class  MetalTexBufferPacked
 In Metal, Tex and ReadOnly buffers are exactly the same, thus we derive from ReadOnlyBufferPacked to cover both at once. More...
 
struct  MetalTexRegion
 
class  MetalTextureGpu
 
class  MetalTextureGpuManager
 
class  MetalTextureGpuRenderTarget
 
class  MetalTextureGpuWindow
 
class  MetalUavBufferPacked
 
class  MetalVaoManager
 
class  MetalWindow
 
class  MovableObject
 Abstract class defining a movable object in a scene. More...
 
class  MovableObjectFactory
 Interface definition for a factory class which produces a certain kind of MovableObject, and can be registered with Root in order to allow all clients to produce new instances of this object, integrated with the standard Ogre processing. More...
 
struct  MovableObjectLodChangedEvent
 Struct containing information about a LOD change event for movable objects. More...
 
class  MovablePlane
 Definition of a Plane that may be attached to a node, and the derived details of it retrieved simply. More...
 
class  NameGenerator
 Utility class to generate a sequentially numbered series of names. More...
 
class  NoAddRefRelease
 
class  Node
 Class representing a general-purpose node an articulated scene graph. More...
 
class  NodeArrayMemoryManager
 Implementation to create the Transform variables needed by Nodes & SceneNodes. More...
 
class  NodeMemoryManager
 Wrap-around class that contains multiple ArrayMemoryManager, one per hierarchy depth. More...
 
class  NULLAsyncTextureTicket
 See AsyncTextureTicket. More...
 
class  NULLAsyncTicket
 
class  NULLBufferInterface
 For GL3+, most (if not all) buffers, can be treated with the same code. More...
 
class  NULLConstBufferPacked
 
class  NullEntity
 
class  NULLPixelFormatToShaderType
 
class  NULLPlugin
 Plugin instance for NULL Manager. More...
 
class  NULLReadOnlyBufferPacked
 
class  NULLRenderSystem
 Implementation of NULL as a rendering system. More...
 
class  NULLStagingBuffer
 A staging buffer is a buffer that resides on the GPU and be written to/from both CPU & GPU However the access in both cases is limited. More...
 
class  NULLStagingTexture
 
class  NULLTexBufferPacked
 
class  NULLTextureGpu
 
class  NULLTextureGpuManager
 
class  NULLTextureGpuRenderTarget
 
class  NULLUavBufferPacked
 
class  NULLVaoManager
 
struct  NULLVertexArrayObject
 
class  NULLWindow
 
class  NumericSolver
 Provides numeric solvers for Ogre. More...
 
class  ObjCmdBuffer
 
class  ObjectAbstractNode
 This specific abstract node represents a script object. More...
 
struct  ObjectData
 Represents the transform of a single object, arranged in SoA (Structure of Arrays) More...
 
class  ObjectDataArrayMemoryManager
 Implementation to create the ObjectData variables needed by MovableObjects. More...
 
class  ObjectMemoryManager
 Wrap-around class that contains multiple ArrayMemoryManager, one per render queue. More...
 
class  OfflineProfiler
 Simple profiler that will produce a CSV file for offline analysis once dumpProfileResults is called. More...
 
class  OGRE_HLMS_TEXTURE_BASE_CLASS
 This is not a regular header, therefore it has no include guards. More...
 
class  OITDCodec
 Codec specialized in loading OITD (Ogre Internal Texture Dump) format. More...
 
class  OptimisedUtil
 Utility class for provides optimised functions. More...
 
class  OSXGL3PlusSupport
 
class  Page
 Page class. More...
 
class  PageContent
 Interface definition for a unit of content within a page. More...
 
class  PageContentCollection
 Definition of the interface for a collection of PageContent instances. More...
 
class  PageContentCollectionFactory
 Define the interface to a factory class that will create subclasses of PageContentCollection. More...
 
class  PageContentFactory
 Define the interface to a factory class that will create subclasses of PageContent. More...
 
class  PagedWorld
 This class represents a collection of pages which make up a world. More...
 
class  PagedWorldSection
 Represents a section of the PagedWorld which uses a given PageStrategy, and which is made up of a generally localised set of Page instances. More...
 
class  PagedWorldSectionFactory
 A factory class for creating types of world section. More...
 
class  PageManager
 The PageManager is the entry point through which you load all PagedWorld instances, and the place where PageStrategy instances and factory classes are registered to customise the paging behaviour. More...
 
class  PageProvider
 Abstract class that can be implemented by the user application to provide a way to retrieve or generate page data from a source of their choosing. More...
 
class  PageStrategy
 Defines the interface to a strategy class which is responsible for deciding when Page instances are requested for addition and removal from the paging system. More...
 
class  PageStrategyData
 Abstract marker class representing the data held against the PagedWorldSection which is specifically used by the PageStrategy. More...
 
class  ParallaxCorrectedCubemap
 
class  ParallaxCorrectedCubemapAuto
 Per-Pixel reflection probes. More...
 
class  ParallaxCorrectedCubemapAutoListener
 
class  ParallaxCorrectedCubemapBase
 
class  ParallelHlmsCompileQueue
 
class  ParamCommand
 Abstract class which is command object which gets/sets parameters.
 
class  ParamDictionary
 Class to hold a dictionary of parameters for a single class. More...
 
class  ParameterDef
 Definition of a parameter supported by a StringInterface class, for introspection. More...
 
class  Particle
 Class representing a single particle instance. More...
 
class  ParticleAffector
 Abstract class defining the interface to be implemented by particle affectors. More...
 
class  ParticleAffector2
 Affectors are per ParticleSystemDef. More...
 
class  ParticleAffectorFactory
 Abstract class defining the interface to be implemented by creators of ParticleAffector subclasses. More...
 
class  ParticleAffectorFactory2
 Abstract class defining the interface to be implemented by creators of ParticleAffector2 subclasses. More...
 
class  ParticleAffectorTranslator
 
class  ParticleAffectorTranslator2
 
struct  ParticleCpuData
 
class  ParticleEmitter
 Abstract class defining the interface to be implemented by particle emitters. More...
 
class  ParticleEmitterDefDataFactory
 Abstract class defining the interface to be implemented by creators of EmitterDefData subclasses. More...
 
class  ParticleEmitterFactory
 Abstract class defining the interface to be implemented by creators of ParticleEmitter subclasses. More...
 
class  ParticleEmitterTranslator
 
class  ParticleEmitterTranslator2
 
class  ParticleFX2Plugin
 Plugin instance for ParticleFX2 Manager. More...
 
class  ParticleFXPlugin
 Plugin instance for ParticleFX Manager. More...
 
struct  ParticleGpuData
 
class  ParticleIterator
 Convenience class to make it easy to step through all particles in a ParticleSystem. More...
 
class  ParticleSystem
 Class defining particle system based special effects. More...
 
class  ParticleSystem2
 
class  ParticleSystem2Factory
 Object for creating ParticleSystem2 instances. More...
 
class  ParticleSystemDef
 A ParticleSystemDef does not form part of the scene. More...
 
class  ParticleSystemFactory
 Factory object for creating ParticleSystem instances. More...
 
class  ParticleSystemManager
 Manages particle systems, particle system scripts (templates) and the available emitter & affector factories. More...
 
class  ParticleSystemManager2
 
class  ParticleSystemRenderer
 Abstract class defining the interface required to be implemented by classes which provide rendering capability to ParticleSystem instances. More...
 
class  ParticleSystemRendererFactory
 Abstract class definition of a factory object for ParticleSystemRenderer. More...
 
class  ParticleSystemTranslator
 
class  ParticleSystemTranslator2
 
class  ParticleVisualData
 Abstract class containing any additional data required to be associated with a particle to perform the required rendering. More...
 
class  Pass
 Class defining a single pass of a Technique (of a Material), i.e. More...
 
class  PassthroughControllerFunction
 Predefined controller function which just passes through the original source directly to dest. More...
 
class  PassTranslator
 
struct  PbsProperty
 
class  PccPerPixelGridPlacement
 Placing multiple PCC probes by hand can be difficult and even error prone. More...
 
class  PixelCountLodStrategyBase
 Abstract base class for level of detail strategy based on pixel count approximations from bounding sphere projection. More...
 
class  PixelFormatGpuUtils
 The pixel format used for images, textures, and render surfaces. More...
 
class  PixelFormatToShaderType
 
class  PlanarReflectionActor
 
class  PlanarReflections
 Planar Reflections can be used with both Unlit and PBS, but they're setup differently. More...
 
class  Plane
 Defines a plane in 3D space. More...
 
class  PlaneBoundedVolume
 Represents a convex volume bounded by planes. More...
 
class  PlaneBoundedVolumeListSceneQuery
 Specialises the SceneQuery class for querying within a plane-bounded volume. More...
 
class  PlaneOptimalShadowCameraSetup
 Implements the plane optimal shadow camera algorithm. More...
 
class  PlatformInformation
 Class which provides the run-time platform information Ogre runs on. More...
 
class  Plugin
 Class defining a generic OGRE plugin. More...
 
class  PointEmitter
 Particle emitter which emits particles from a single point. More...
 
class  PointEmitter2
 
class  PointEmitterFactory
 Factory class for particle emitter of type "Point". More...
 
class  PointEmitterFactory2
 
class  Polygon
 The class represents a polygon in 3D space. More...
 
class  Pool
 Template class describing a simple pool of items. More...
 
class  PreApplyTextureAliasesScriptCompilerEvent
 
class  ProcessNameExclusionScriptCompilerEvent
 
class  ProcessResourceNameScriptCompilerEvent
 
class  Profile
 An individual profile that will be processed by the Profiler. More...
 
struct  ProfiledEdge
 
struct  ProfileFrame
 Represents the total timing information of a profile since profiles can be called more than once each frame. More...
 
struct  ProfileHistory
 Represents a history of each profile during the duration of the app. More...
 
class  ProfileInstance
 Represents an individual profile call. More...
 
class  Profiler
 The profiler allows you to measure the performance of your code. More...
 
class  ProfileSessionListener
 ProfileSessionListener should be used to visualize profile results. More...
 
class  Property
 Property instance with passthrough calls to a given object. More...
 
class  PropertyAbstractNode
 This abstract node represents a script property. More...
 
class  PropertyBase
 Base interface for an instance of a property. More...
 
class  PropertyDef
 Definition of a property of an object. More...
 
class  PropertySet
 Defines a complete set of properties for a single object instance. More...
 
struct  PropertyValue
 A simple structure designed just as a holder of property values between the instances of objects they might target. More...
 
class  PsoCacheHelper
 Utility class to cache PSOs. More...
 
class  PSSMShadowCameraSetup
 Parallel Split Shadow Map (PSSM) shadow camera setup. More...
 
class  PVRTCCodec
 Codec specialized in loading PVRTC (PowerVR) images. More...
 
class  Quaternion
 Implementation of a Quaternion, i.e. More...
 
struct  QueuedRenderable
 
class  RadialDensityMask
 
class  Radian
 Wrapper class which indicates a given angle value is in Radians. More...
 
class  RadixSort
 Class for performing a radix sort (fast comparison-less sort based on byte value) on various standard STL containers. More...
 
struct  RasterParams
 
class  RawSimdUniquePtr
 Similar to std::unique_ptr, but: More...
 
class  Ray
 Representation of a ray in space, i.e. More...
 
class  RaySceneQuery
 Specialises the SceneQuery class for querying along a ray. More...
 
class  RaySceneQueryListener
 Alternative listener class for dealing with RaySceneQuery. More...
 
struct  RaySceneQueryResultEntry
 This struct allows a single comparison of result data no matter what the type. More...
 
class  ReadOnlyBufferPacked
 Represents the best way to access read-only data. More...
 
class  Rectangle2D
 
class  Rectangle2DFactory
 Factory object for creating Entity instances. More...
 
class  RegionSceneQuery
 Abstract class defining a query which returns single results from a region. More...
 
class  Renderable
 Abstract class defining the interface all renderable objects must implement. More...
 
class  RenderableAnimated
 
class  RenderingAPIException
 
struct  RenderingMetrics
 
class  RenderObjectListener
 Abstract interface which classes must implement if they wish to receive events from the scene manager when single object is about to be rendered. More...
 
struct  RenderPassColourTarget
 
struct  RenderPassDepthTarget
 
class  RenderPassDescriptor
 
struct  RenderPassStencilTarget
 
struct  RenderPassTargetBase
 
class  RenderQueue
 Class to manage the scene object rendering queue. More...
 
class  RenderQueueListener
 Abstract interface which classes must implement if they wish to receive events from the render queue. More...
 
class  RenderSystem
 Defines the functionality of a 3D API. More...
 
class  RenderSystemCapabilities
 singleton class for storing the capabilities of the graphics card. More...
 
class  RenderSystemCapabilitiesManager
 Class for managing RenderSystemCapabilities database for Ogre. More...
 
class  RenderSystemCapabilitiesSerializer
 Class for serializing RenderSystemCapabilities to / from a .rendercaps script. More...
 
struct  RenderTargetViewDef
 
struct  RenderTargetViewEntry
 
struct  RenderWindowDescription
 Render window creation parameters. More...
 
class  Resource
 Abstract class representing a loadable resource (e.g. More...
 
class  ResourceBackgroundQueue
 This class is used to perform Resource operations in a background thread. More...
 
class  ResourceGroupListener
 This abstract class defines an interface which is called back during resource group loading to indicate the progress of the load. More...
 
class  ResourceGroupManager
 This singleton class manages the list of resource groups, and notifying the various resource managers of their obligations to load / unload resources in a group. More...
 
class  ResourceLoadingListener
 
class  ResourceManager
 Defines a generic resource handler. More...
 
struct  ResourceStatus
 
struct  ResourceTransition
 
class  RingEmitter
 Particle emitter which emits particles randomly from points inside a ring (e.g. More...
 
class  RingEmitter2
 Particle emitter which emits particles randomly from points inside a ring (e.g. More...
 
class  RingEmitterFactory
 Factory class for particle emitter of type "Ring". More...
 
class  RingEmitterFactory2
 
class  Root
 The root class of the Ogre system. More...
 
class  RootLayout
 The RootLayout class. More...
 
class  RotationAffector
 This plugin subclass of ParticleAffector allows you to alter the rotation of particles. More...
 
class  RotationAffector2
 This plugin subclass of ParticleAffector allows you to alter the rotation of particles. More...
 
class  RotationAffectorFactory
 Factory class for RotationAffector. More...
 
class  RotationAffectorFactory2
 
class  RotationalSpline
 This class interpolates orientations (rotations) along a spline using derivatives of quaternions. More...
 
class  RqBits
 
class  RuntimeAssertionException
 
struct  SampleDescription
 Opaque struct that holds effective FSAA (MSAA, CSAA, etc.) mode. More...
 
class  ScaleAffector
 This plugin subclass of ParticleAffector allows you to alter the scale of particles. More...
 
class  ScaleAffector2
 This plugin subclass of ParticleAffector allows you to alter the scale of particles. More...
 
class  ScaleAffectorFactory
 Factory class for ScaleAffector. More...
 
class  ScaleAffectorFactory2
 
class  ScaleControllerFunction
 Predefined controller function which simply scales an input to an output value. More...
 
class  ScaleInterpolatorAffector
 
class  ScaleInterpolatorAffector2
 
class  ScaleInterpolatorAffectorFactory
 Factory class for ScaleInterpolatorAffector. More...
 
class  ScaleInterpolatorAffectorFactory2
 
class  SceneFormatBase
 
class  SceneFormatExporter
 
class  SceneFormatImporter
 
class  SceneFormatListener
 Override this listener if you want to filter which objects get exported. More...
 
class  SceneManager
 Manages the organisation and rendering of a 'scene' i.e. More...
 
class  SceneManagerEnumerator
 Enumerates the SceneManager classes available to applications. More...
 
class  SceneManagerFactory
 Class which will create instances of a given SceneManager. More...
 
struct  SceneManagerMetaData
 Structure containing information about a scene manager. More...
 
class  SceneNode
 Class representing a node in the scene graph. More...
 
class  SceneQuery
 A class for performing queries on a scene. More...
 
class  SceneQueryListener
 This optional class allows you to receive per-result callbacks from SceneQuery executions instead of a single set of consolidated results. More...
 
struct  SceneQueryResult
 Holds the results of a scene query. More...
 
class  ScopedLock
 
class  ScreenRatioPixelCountLodStrategy
 The ScreenRatioPixelCountLodStrategy class Implement a strategy which calculates LOD ratios based on coverage in screen ratios in the range [-1.0; 0.0] where -1.0 means the object is covering the whole screen and 0 covering almost nothing in the screen (very tiny). More...
 
class  ScriptCompiler
 This is the main class for the compiler. More...
 
class  ScriptCompilerEvent
 This struct is a base class for events which can be thrown by the compilers and caught by subscribers. More...
 
class  ScriptCompilerListener
 This is a listener for the compiler. More...
 
class  ScriptCompilerManager
 Manages threaded compilation of scripts. More...
 
class  ScriptLexer
 
class  ScriptLoader
 Abstract class defining the interface used by classes which wish to perform script loading to define instances of whatever they manage. More...
 
class  ScriptParser
 
struct  ScriptToken
 This struct represents a token, which is an ID'd lexeme from the parsing input stream. More...
 
class  ScriptTranslator
 This class translates script AST (abstract syntax tree) into Ogre resources. More...
 
class  ScriptTranslatorManager
 The ScriptTranslatorManager manages the lifetime and access to script translators. More...
 
class  Semaphore
 Implements a semaphore. More...
 
class  Serializer
 Generic class for serialising data to / from binary stream-based files. More...
 
class  ShaderParams
 The purpose of this class is to contain a set of both auto and manual parameters that may apply to multiple shaders; without having the shader to be created first (the drawback of GpuProgramParameters). More...
 
class  ShadowCameraSetup
 This class allows you to plug in new ways to define the camera setup when rendering and projecting shadow textures. More...
 
class  ShadowNodeHelper
 
class  ShadowTextureDefinition
 Local texture definition. More...
 
class  SharedParamsTranslator
 
class  SharedPtr
 
class  SimpleMatrix4
 Simple wrap up to load an AoS matrix 4x4 using SSE. More...
 
class  SimpleMatrixAf4x3
 Simple wrap up to load an AoS matrix 4x3 using SSE. More...
 
class  SimplePageContentCollection
 Specialisation of PageContentCollection which just provides a simple list of PageContent instances. More...
 
class  SimplePageContentCollectionFactory
 Factory class for SimplePageContentCollection. More...
 
class  SimpleSpline
 A very simple spline class which implements the Catmull-Rom class of splines. More...
 
class  Singleton
 Template class for creating single-instance global classes. More...
 
class  SkeletonAnimation
 Represents the instance of a Skeletal animation based on its definition. More...
 
class  SkeletonAnimationDef
 
struct  SkeletonAnimManager
 This is how the Skeleton system works in 2.0: There is one BoneMemoryManager per skeleton. More...
 
class  SkeletonDef
 
class  SkeletonInstance
 Instance of a Skeleton, main external interface for retrieving bone positions and applying animations. More...
 
class  SkeletonManager
 Handles the management of skeleton resources. More...
 
class  SkeletonTrack
 
class  SmallVector
 SmallVector - This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small. More...
 
class  SmallVector< T, 0 >
 Specialize SmallVector at N=0. More...
 
class  SmallVectorBase
 SmallVectorBase - This is all the non-templated stuff common to all SmallVectors. More...
 
class  SmallVectorImpl
 SmallVectorImpl - This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More...
 
class  SmallVectorTemplateBase
 SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's. More...
 
class  SmallVectorTemplateBase< T, true >
 SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's. More...
 
class  SmallVectorTemplateCommon
 
struct  SPFMDeleteT
 
class  Sphere
 A sphere primitive, mostly used for bounds checking. More...
 
class  SphereSceneQuery
 Specialises the SceneQuery class for querying within a sphere. More...
 
class  StackVector
 Compact implementation similar to std::array. More...
 
class  StagingBuffer
 A staging buffer is a buffer that resides on the GPU and be written to/from both CPU & GPU However the access in both cases is limited. More...
 
class  StagingTexture
 A StagingTexture is an intermediate texture that can be read and be written from both CPU & GPU. More...
 
class  StagingTextureBufferImpl
 This implementation can be used by all RenderSystem APIs except D3D11, which is why this implementation is part of OgreMain. More...
 
class  StagingTextureManager
 
class  StaticCache
 Template version of cache based on static array. More...
 
class  STBIImageCodec
 Codec specialized in images loaded using stbi (https://github.com/nothings/stb). More...
 
class  StdList
 
class  StdMap
 
class  StdMultiMap
 
class  StdUnorderedSet
 
class  StdVector
 
struct  StencilParams
 
struct  StencilStateOp
 
class  STLAllocator
 
struct  STLAllocatorBase
 Wrapper class for operating as an STL container allocator. More...
 
struct  STLAllocatorBase< const T >
 
class  StreamSerialiser
 Utility class providing helper methods for reading / writing structured data held in a DataStream. More...
 
class  StringConverter
 Class for converting the core Ogre data types to/from Strings. More...
 
class  StringInterface
 Class defining the common interface which classes can use to present a reflection-style, self-defining parameter set to callers. More...
 
class  StringUtil
 Utility class for manipulating Strings. More...
 
class  SubItem
 Utility class which defines the sub-parts of an Item. More...
 
class  SubMesh
 Defines a part of a complete mesh. More...
 
class  SubStringRef
 
class  TagPoint
 TagPoints are like SceneNodes, that can be children of a Bone. More...
 
class  Technique
 Class representing an approach to rendering this particular Material. More...
 
class  TechniqueTranslator
 
class  TexBufferPacked
 Represents Texture buffers (also known as tbuffers in D3D11) More...
 
class  TexCoordModifierControllerValue
 Predefined controller value for getting / setting a texture coordinate modifications (scales and translates). More...
 
class  TextureAnimationControllerValue
 Predefined controller value for getting / setting a texture coordinate modifications (scales and translates). More...
 
struct  TextureBox
 For cubemaps, the face is in sliceStart, (see CubemapSide::CubemapSide) For cubemap arrays, the cubemaps are addressed as sliceStart * 6. More...
 
class  TextureDefinitionBase
 Centralized class for dealing with declarations of textures in Node & Workspace definitions. More...
 
class  TextureFrameControllerValue
 Predefined controller value for getting / setting the frame number of a texture layer. More...
 
class  TextureGpu
 
class  TextureGpuListener
 
class  TextureGpuManager
 This class manages all textures (i.e. More...
 
class  TextureGpuManagerListener
 
struct  TexturePool
 
class  TextureSourceTranslator
 
class  TextureUnitState
 Class representing the state of a single texture unit during a Pass of a Technique, of a Material. More...
 
class  TextureUnitTranslator
 
class  ThreadHandle
 
class  ThreadLocalPtr
 
class  Threads
 
class  Timer
 Timer class. More...
 
struct  Transform
 Represents the transform of a single object, arranged in SoA (Structure of Arrays) More...
 
struct  TRect
 
struct  type4
 
class  UavBufferPacked
 Represents UAV buffers (also known as SSBOs in OpenGL) Uav buffers are supported in DX10/DX10.1 hardware (with up to date drivers). More...
 
struct  uint4
 
class  UnifiedHighLevelGpuProgram
 Specialisation of HighLevelGpuProgram which just delegates its implementation to one other high level program, allowing a single program definition to represent one supported program from a number of options. More...
 
class  UnifiedHighLevelGpuProgramFactory
 Factory class for Unified programs. More...
 
class  UniformScalableTask
 A uniform task is a highly parallelizable task that can be divided in many threads where all threads take near the same amount of time to perform. More...
 
class  UnimplementedException
 Template struct which creates a distinct type for each exception code. More...
 
struct  UnlitProperty
 
struct  UpdateLodRequest
 
struct  UpdateTransformRequest
 
class  UserObjectBindings
 Class that provides convenient interface to establish a linkage between custom user application objects and Ogre core classes. More...
 
class  VaoManager
 
class  VariableAccessAbstractNode
 This abstract node represents a variable assignment. More...
 
class  VctCascadedVoxelizer
 This class manages multiple cascades of Voxels and each cascade can be composed of VctImageVoxelizer. More...
 
struct  VctCascadeSetting
 Contains VctLighting settings about each cascade that cannot be set by setting them directly via VctCascadedVoxelizer::getVctLighting. More...
 
class  VctImageVoxelizer
 The image voxelizer aims to be faster than VctImageVoxelizer for the whole scene by following a different approach: More...
 
class  VctLighting
 
class  VctMaterial
 
class  VctVoxelizer
 The voxelizer consists in several stages. More...
 
class  VctVoxelizerSourceBase
 This class contains shared functionality between voxelizer; and is used by VctLighting to source its voxel data to generate GI. More...
 
class  Vector2
 Standard 2-dimensional vector. More...
 
class  Vector3
 Standard 3-dimensional vector. More...
 
class  Vector4
 4-dimensional homogeneous vector. More...
 
class  VectorIterator
 Concrete IteratorWrapper for nonconst access to the underlying container. More...
 
class  VectorIteratorWrapper
 Prepared IteratorWrapper for container like std::vector. More...
 
struct  VectorSet
 VectorSet is basically a helper to use a vector as a small set container. More...
 
struct  VertexArrayObject
 Vertex array objects (Vaos) are immutable objects that describe a combination of vertex buffers and index buffer with a given operation type. More...
 
struct  VertexBoneAssignment
 Records the assignment of a single vertex to a single bone with the corresponding weight. More...
 
class  VertexBufferDownloadHelper
 Ogre currently does not support deinterleaved vertex buffers. More...
 
class  VertexBufferPacked
 
struct  VertexElement2
 
struct  VertexElementSemanticFull
 
class  VertexFormatWarmUpStorage
 The purpose of this class is to trigger shader compilations on demand (e.g. More...
 
class  VertexShadowMapHelper
 
struct  VerticesRemapInfo
 
struct  ViewPoint
 Structure for holding a position & orientation pair. More...
 
class  Viewport
 An abstraction of a viewport, i.e. More...
 
class  VoxelizedMeshCache
 Uses a VctVoxelizer to convert a single mesh made up of triangles into a voxel 3D texture representation. More...
 
struct  VoxelizerBucket
 
class  VoxelVisualizer
 
struct  VrData
 
class  VulkanAndroidSupport
 
class  VulkanAndroidWindow
 
class  VulkanAsyncTextureTicket
 See AsyncTextureTicket. More...
 
class  VulkanAsyncTicket
 
class  VulkanBufferInterface
 
class  VulkanCache
 
struct  VulkanConstantDefinitionBindingParam
 
class  VulkanConstBufferPacked
 
class  VulkanDelayed_vkDestroyBufferView
 
class  VulkanDelayed_vkDestroyFramebuffer
 
class  VulkanDelayed_vkDestroyImage
 
class  VulkanDelayed_vkDestroyImageView
 
class  VulkanDelayed_vkDestroyPipeline
 
class  VulkanDelayed_vkDestroyRenderPass
 
class  VulkanDelayed_vkDestroySampler
 
class  VulkanDelayed_vkDestroyShaderModule
 
class  VulkanDelayedFuncBase
 
class  VulkanDescriptorPool
 The VulkanDescriptorPool class A VulkanDescriptorPool manages the pool of a single set (i.e. More...
 
struct  VulkanDescriptorSetSampler
 
struct  VulkanDescriptorSetTexture
 
struct  VulkanDescriptorSetTexture2
 
struct  VulkanDescriptorSetUav
 
struct  VulkanDevice
 
class  VulkanDeviceResource
 Represents a Vulkan device depended rendering resource. More...
 
class  VulkanDeviceResourceManager
 Singleton that is used to propagate device state changed notifications. More...
 
class  VulkanDiscardBuffer
 
class  VulkanDiscardBufferManager
 Vulkan doesn't support "DISCARD" like D3D9/D3D11 (and OpenGL but often it's broken) where we requested to map a write-only buffer and the API would discard the previous contents (thus allowing us to avoid a stall until the GPU is done with the region) More...
 
class  VulkanDynamicBuffer
 Vulkan maps per pool, thus mapping the same pool twice is a common occurrence. More...
 
struct  VulkanExternalDevice
 Use it to pass an external device. More...
 
struct  VulkanExternalInstance
 Use it to pass an external instance. More...
 
struct  VulkanFlushOnlyDescValue
 
struct  VulkanFrameBufferDescKey
 
struct  VulkanFrameBufferDescValue
 
struct  VulkanGlobalBindingTable
 This table holds an emulation of D3D11/Metal style of resource binding. More...
 
class  VulkanGpuProgramManager
 
struct  VulkanHlmsPso
 
class  VulkanInstance
 We need the ability to re-enumerate devices to handle physical device removing, that requires fresh VkInstance instance, as otherwise Vulkan returns obsolete physical devices list. More...
 
class  VulkanMappings
 
struct  VulkanPhysicalDevice
 
class  VulkanPixelFormatToShaderType
 
class  VulkanPlugin
 Plugin instance for Vulkan Manager. More...
 
class  VulkanProgram
 Specialisation of HighLevelGpuProgram to provide support for Vulkan Shader Language. More...
 
class  VulkanProgramFactory
 Factory class for Vulkan programs. More...
 
class  VulkanQueue
 
struct  VulkanRawBuffer
 Provides a simple interface similar to that of MTLBuffer. More...
 
class  VulkanReadOnlyBufferPacked
 
class  VulkanRenderPassDescriptor
 
class  VulkanRenderSystem
 Implementation of Vulkan as a rendering system. More...
 
struct  VulkanResourceTransition
 
class  VulkanRootLayout
 
class  VulkanStagingBuffer
 A staging buffer is a buffer that resides on the GPU and be written to/from both CPU & GPU However the access in both cases is limited. More...
 
class  VulkanStagingTexture
 
class  VulkanSupport
 
class  VulkanTexBufferPacked
 
class  VulkanTextureGpu
 
class  VulkanTextureGpuManager
 
class  VulkanTextureGpuRenderTarget
 
class  VulkanTextureGpuWindow
 
class  VulkanUavBufferPacked
 
class  VulkanVaoManager
 
class  VulkanWin32Support
 
class  VulkanWin32Window
 
class  VulkanWindow
 
class  VulkanWindowNull
 
class  VulkanWindowSwapChainBased
 
class  VulkanXcbSupport
 
class  VulkanXcbWindow
 
class  WaitableEvent
 A WaitableEvent is useful in the scenario of a singler consumer, multiple producers The consumer will wait until any of the producers wake it up to consume the work. More...
 
class  WarmUpHelper
 
class  WaveformControllerFunction
 Predefined controller function based on a waveform. More...
 
class  Win32Context
 
class  Win32EGLContext
 
class  Win32EGLSupport
 
class  Win32EGLWindow
 
class  Win32GLSupport
 
class  Win32Window
 
class  Window
 
class  WindowEventListener
 
class  WindowEventUtilities
 
class  WireAabb
 Helper class to display the Aabb of a MovableObject as lines. More...
 
class  WireAabbFactory
 Factory object for creating WireAabb instances. More...
 
struct  Workarounds
 
class  WorkQueue
 Interface to a general purpose request / response style background work queue. More...
 
class  X11EGLContext
 
class  X11EGLSupport
 
class  X11EGLWindow
 
class  ZipArchive
 Specialisation of the Archive class to allow reading of files from a zip format source archive. More...
 
class  ZipArchiveFactory
 Specialisation of ArchiveFactory for Zip files. More...
 
class  ZipDataStream
 Specialisation of DataStream to handle streaming data from zip archives. More...
 

Typedefs

typedef std::string _StringBase
 
typedef ::std::hash< _StringBase_StringHash
 
typedef std::basic_stringstream< char, std::char_traits< char >, std::allocator< char > > _StringStreamBase
 
typedef uint32 ABGR
 
typedef list< AbstractNodePtr >::type AbstractNodeList
 
typedef SharedPtr< AbstractNodeListAbstractNodeListPtr
 
typedef SharedPtr< AbstractNodeAbstractNodePtr
 
typedef vector< SkeletonAnimation * >::type ActiveAnimationsVec
 
typedef StdMap< String, StringAliasTextureNamePairList
 Alias / Texture name pair (first = alias, second = texture name) More...
 
typedef StdAllocPolicy AllocPolicy
 
typedef SharedPtr< AnimableValueAnimableValuePtr
 
typedef vector< Archive * >::type ArchiveVec
 
typedef uint32 ARGB
 
typedef uint32 ArrayInt
 
typedef bool ArrayMaskI
 
typedef bool ArrayMaskR
 
typedef Radian ArrayRadian
 
typedef Real ArrayReal
 
typedef uint32 ArrayToS16
 To store the result of ToSnorm16, can be consumed by extractS16. More...
 
typedef uint32 ArrayToS8
 To store the result of ToSnorm8, can be consumed by extractS8. More...
 
typedef SharedPtr< AsyncTicketAsyncTicketPtr
 
typedef WorkQueue::RequestID BackgroundProcessTicket
 Identifier of a background process. More...
 
typedef uint32 BGRA
 
typedef StdMap< String, StringBinaryOptionList
 
typedef map< SkeletonInstance *, BoneVec >::type BonesPerSkeletonInstance
 
typedef vector< Bone * >::type BoneVec
 
typedef StdUnorderedSet< BufferPacked * > BufferPackedSet
 
typedef StdVector< BufferPacked * > BufferPackedVec
 
typedef vector< uint32 >::type ChannelMappings
 
typedef void(* CleanupRoutines) (char *dstPtr, size_t indexDst, char *srcPtr, size_t indexSrc, size_t numSlots, size_t numFreeSlots, size_t elementsMemSize)
 
typedef TextureGpuCompositorChannel
 A channel in the compositor transports textures between nodes. More...
 
typedef vector< CompositorChannel >::type CompositorChannelVec
 
typedef vector< CompositorNamedBuffer >::type CompositorNamedBufferVec
 
typedef vector< CompositorNode * >::type CompositorNodeVec
 
typedef vector< CompositorPassDef * >::type CompositorPassDefVec
 
typedef vector< CompositorPass * >::type CompositorPassVec
 
typedef vector< CompositorShadowNode * >::type CompositorShadowNodeVec
 
typedef vector< CompositorTargetDef >::type CompositorTargetDefVec
 
typedef vector< CompositorTexture >::type CompositorTextureVec
 
typedef vector< CompositorWorkspaceListener * >::type CompositorWorkspaceListenerVec
 
typedef list< ConcreteNodePtr >::type ConcreteNodeList
 
typedef SharedPtr< ConcreteNodeListConcreteNodeListPtr
 
typedef SharedPtr< ConcreteNodeConcreteNodePtr
 
typedef struct Ogre::_ConfigOption ConfigOption
 Packages the details of a configuration option. More...
 
typedef map< String, ConfigOption >::type ConfigOptionMap
 
typedef SharedPtr< ControllerFunction< Real > > ControllerFunctionRealPtr
 
typedef SharedPtr< ControllerValue< Real > > ControllerValueRealPtr
 
typedef vector< CubemapProbe * >::type CubemapProbeVec
 
typedef map< FrameBufferDescKey, D3D11FrameBufferDescValue >::type D3D11FrameBufferDescMap
 
typedef SharedPtr< D3D11HLSLProgramD3D11HLSLProgramPtr
 
typedef StdList< DataStreamPtrDataStreamList
 List of DataStream items. More...
 
typedef SharedPtr< DataStreamListDataStreamListPtr
 Shared pointer to list of DataStream items. More...
 
typedef SharedPtr< DataStreamDataStreamPtr
 
typedef map< uint16, TextureGpuVec >::type DepthBufferMap2
 
typedef map< TextureGpu *, uint16 >::type DepthBufferRefMap
 
typedef DistanceLodBoxStrategy DistanceLodStrategy
 Backward compatible name for Distance_Box strategy. More...
 
typedef vector< double >::type DoubleConstantList
 Definition of container that holds the current double constants. More...
 
typedef vector< FileInfo >::type FileInfoList
 
typedef SharedPtr< FileInfoListFileInfoListPtr
 
typedef String FileSystemPath
 Some machinery to properly handle Unicode filesystem pathes. More...
 
typedef FastArray< TextureFilter::FilterBase * > FilterBaseArray
 
typedef vector< float >::type FloatConstantList
 Definition of container that holds the current float constants. More...
 
typedef TRect< float > FloatRect
 Structure used to define a rectangle in a 2-D floating point space. More...
 
typedef SharedPtr< FontFontPtr
 
typedef vector< Frustum * >::type FrustumVec
 
typedef map< FrameBufferDescKey, GL3PlusFrameBufferDescValue >::type GL3PlusFrameBufferDescMap
 
typedef SharedPtr< GLES2TextureGLES2TexturePtr
 
typedef SharedPtr< GLSLShaderGLSLShaderPtr
 
typedef GLUniformBufferList::iterator GLUniformBufferIterator
 
typedef vector< v1::HardwareUniformBufferSharedPtr >::type GLUniformBufferList
 
typedef GLUniformReferenceList::iterator GLUniformReferenceIterator
 
typedef vector< GLUniformReference >::type GLUniformReferenceList
 
typedef ConstMapIterator< GpuConstantDefinitionMapGpuConstantDefinitionIterator
 
typedef map< String, GpuConstantDefinition >::type GpuConstantDefinitionMap
 
typedef SharedPtr< GpuLogicalBufferStructGpuLogicalBufferStructPtr
 
typedef map< size_t, GpuLogicalIndexUse >::type GpuLogicalIndexUseMap
 
typedef SharedPtr< GpuNamedConstantsGpuNamedConstantsPtr
 
typedef SharedPtr< GpuProgramParametersGpuProgramParametersSharedPtr
 
typedef SharedPtr< GpuProgramGpuProgramPtr
 
typedef SharedPtr< GpuSharedParametersGpuSharedParametersPtr
 
typedef SharedPtr< HighLevelGpuProgramHighLevelGpuProgramPtr
 
typedef vector< HlmsCache * >::type HlmsCacheVec
 
typedef vector< std::pair< IdString, String > >::type HlmsParamVec
 
typedef vector< HlmsProperty >::type HlmsPropertyVec
 
typedef StdVector< IdStringIdStringVec
 
typedef Ogre::uint32 IdType
 Big projects with lots, lots of units for very long periods of time (MMORPGs?) may want to define this to 64-bit. More...
 
typedef void() ImageBlur2D(uint8 *_tmpPtr, uint8 *_srcDstPtr, int32 width, int32 height, int32 bytesPerRow, const uint8 kernel[5], const int8 kernelStart, const int8 kernelEnd)
 Range is [kernelStart; kernelEnd]. More...
 
typedef void() ImageDownsampler2D(uint8 *dstPtr, uint8 const *srcPtr, int32 dstWidth, int32 dstHeight, int32 dstBytesPerRow, int32 srcWidth, int32 srcBytesPerRow, const uint8 kernel[5][5], const int8 kernelStartX, const int8 kernelEndX, const int8 kernelStartY, const int8 kernelEndY)
 Range is [kernelStart; kernelEnd]. More...
 
typedef void() ImageDownsampler3D(uint8 *dstPtr, uint8 const *srcPtr, int32 dstWidth, int32 dstHeight, int32 dstDepth, int32 dstBytesPerRow, int32 dstBytesPerImage, int32 srcWidth, int32 srcHeight, int32 srcBytesPerRow, int32 srcBytesPerImage)
 Bilinear 3D downsampler. More...
 
typedef void() ImageDownsamplerCube(uint8 *dstPtr, uint8 const **srcPtr, int32 dstWidth, int32 dstHeight, int32 dstBytesPerRow, int32 srcWidth, int32 srcHeight, int32 srcBytesPerRow, const uint8 kernel[5][5], const int8 kernelStartX, const int8 kernelEndX, const int8 kernelStartY, const int8 kernelEndY, uint8 currentFace)
 
typedef ::int16_t int16
 
typedef ::int32_t int32
 
typedef ::int64_t int64
 
typedef ::int8_t int8
 
typedef vector< int >::type IntConstantList
 Definition of container that holds the current int constants. More...
 
typedef vector< KeyFrameRig >::type KeyFrameRigVec
 
typedef vector< KeyFrameRigVec::const_iterator >::type KnownKeyFramesVec
 
typedef FastArray< Light * > LightArray
 
typedef FastArray< LightClosestLightClosestArray
 
typedef HashedVector< LightClosestLightList
 
typedef SharedPtr< LodCollapseCostLodCollapseCostPtr
 
typedef SharedPtr< LodCollapserLodCollapserPtr
 
typedef SharedPtr< LodDataLodDataPtr
 
typedef SharedPtr< LodInputProviderLodInputProviderPtr
 
typedef SharedPtr< LodOutputProviderLodOutputProviderPtr
 
typedef vector< ProfiledEdge >::type LodProfile
 
typedef SharedPtr< MaterialMaterialPtr
 
typedef MathlibC Mathlib
 
typedef SharedPtr< MemoryDataStreamMemoryDataStreamPtr
 
typedef vector< char * >::type MemoryPoolVec
 
typedef SharedPtr< MeshMeshPtr
 
typedef vector< MetalDiscardBuffer * >::type MetalDiscardBufferVec
 
typedef map< FrameBufferDescKey, MetalFrameBufferDescValue >::type MetalFrameBufferDescMap
 
typedef vector< byte >::type MicroCode
 
typedef StdMap< String, StringNameValuePairList
 Name / value parameter pair (first = name, second = value) More...
 
typedef AllocatedObject< StdAllocPolicy > OgreAllocatedObj
 
typedef HlmsUnlitMobileDatablock OverlayUnlitDatablock
 
typedef GeneralAllocatedObject PageAlloc
 
typedef uint32 PageID
 Identifier for a page. More...
 
typedef map< String, ParamCommand * >::type ParamCommandMap
 
typedef vector< ParameterDef >::type ParameterList
 
typedef map< TextureGpu *, FastArray< CompositorPass * > >::type PassesByRenderWindowMap
 
typedef map< IdString, String >::type PiecesMap
 
typedef AbsolutePixelCountLodStrategy PixelCountLodStrategy
 Backward compatible name for Distance_Box strategy. More...
 
typedef vector< PlaneBoundedVolume >::type PlaneBoundedVolumeList
 
typedef StdVector< PlanePlaneList
 
typedef double PreciseReal
 Real type for numeric solvers. More...
 
typedef GeneralAllocatedObject PropertyAlloc
 
typedef map< String, PropertyDef >::type PropertyDefMap
 Map from property name to shared definition. More...
 
typedef map< String, PropertyValue >::type PropertyValueMap
 Defines a transferable map of properties using wrapped value types (Ogre::Any) More...
 
typedef vector< RaySceneQueryResultEntry >::type RaySceneQueryResult
 
typedef float Real
 Software floating point type. More...
 
typedef uint32 RealAsUint
 
typedef TRect< RealRealRect
 Structure used to define a rectangle in a 2-D floating point space, subject to double / single floating point settings. More...
 
typedef TRect< long > Rect
 Structure used to define a rectangle in a 2-D integer space. More...
 
typedef FastArray< Renderable * > RenderableArray
 
typedef vector< RenderSystem * >::type RenderSystemList
 
typedef vector< RenderTargetViewEntry >::type RenderTargetViewEntryVec
 
typedef vector< RenderWindowDescription >::type RenderWindowDescriptionList
 Render window creation parameters container. More...
 
typedef unsigned long long int ResourceHandle
 
typedef SharedPtr< ResourceResourcePtr
 
typedef StdMap< GpuTrackedResource *, ResourceStatusResourceStatusMap
 
typedef FastArray< ResourceTransitionResourceTransitionArray
 
typedef uint32 RGBA
 
typedef list< SceneQueryMovableObjectPair >::type SceneQueryMovableIntersectionList
 
typedef std::pair< MovableObject *, MovableObject * > SceneQueryMovableObjectPair
 
typedef std::pair< MovableObject *, SceneQuery::WorldFragment * > SceneQueryMovableObjectWorldFragmentPair
 
typedef list< SceneQueryMovableObjectWorldFragmentPair >::type SceneQueryMovableWorldFragmentIntersectionList
 
typedef list< MovableObject * >::type SceneQueryResultMovableList
 
typedef list< SceneQuery::WorldFragment * >::type SceneQueryResultWorldFragmentList
 
typedef uint16 SceneTypeMask
 Bitmask containing scene types. More...
 
typedef vector< ScriptToken >::type ScriptTokenList
 
typedef SharedPtr< ScriptTokenListScriptTokenListPtr
 
typedef SharedPtr< ShadowCameraSetupShadowCameraSetupPtr
 
typedef map< VertexBufferPacked *, VertexBufferPacked * >::type SharedVertexBufferMap
 When cloning Vaos, some vertex buffers are used multiple times for LOD'ing purposes (only the IndexBuffer changes). More...
 
typedef vector< SkeletonAnimationDef >::type SkeletonAnimationDefVec
 
typedef vector< SkeletonAnimation >::type SkeletonAnimationVec
 
typedef SharedPtr< SkeletonDefSkeletonDefPtr
 
typedef vector< SkeletonTrack >::type SkeletonTrackVec
 
typedef vector< StagingBuffer * >::type StagingBufferVec
 
typedef vector< StagingTexture * >::type StagingTextureVec
 
typedef _StringBase String
 
typedef _StringStreamBase StringStream
 
typedef StringStream stringstream
 
typedef vector< String >::type StringVector
 
typedef SharedPtr< StringVectorStringVectorPtr
 
typedef set< TextureGpu * >::type TextureGpuSet
 
typedef vector< TextureGpu * >::type TextureGpuVec
 
typedef list< TexturePool >::type TexturePoolList
 
typedef void *OGRE_THREAD_CALL_CONVENTIONTHREAD_ENTRY_POINT(void *lpThreadParameter)
 
typedef SharedPtr< ThreadHandleThreadHandlePtr
 
typedef StdVector< ThreadHandlePtrThreadHandleVec
 
typedef pthread_key_t TlsHandle
 
typedef int TrackVertexColourType
 An enumeration describing which material properties should track the vertex colours. More...
 
typedef FastArray< BoneTransformTransformArray
 
typedef vector< UavBufferPacked * >::type UavBufferPackedVec
 
typedef unsigned char uchar
 In order to avoid finger-aches :) More...
 
typedef unsigned int uint
 
typedef ::uint16_t uint16
 
typedef ::uint32_t uint32
 
typedef ::uint64_t uint64
 
typedef ::uint8_t uint8
 
typedef unsigned long ulong
 
typedef StdMap< String, bool > UnaryOptionList
 
typedef vector< uint >::type UnsignedIntConstantList
 Definition of container that holds the current uint constants. More...
 
typedef unsigned short ushort
 
typedef FastArray< VertexArrayObject * > VertexArrayObjectArray
 
typedef unordered_set< VertexArrayObject * >::type VertexArrayObjectSet
 
typedef vector< VertexBufferPacked * >::type VertexBufferPackedVec
 
typedef vector< VertexElement2 >::type VertexElement2Vec
 
typedef vector< VertexElement2Vec >::type VertexElement2VecVec
 
typedef FastArray< VertexElementSemanticFullVertexElementSemanticFullArray
 
typedef FastArray< MovableObject::MovableObjectArrayVisibleObjectsPerRq
 
typedef FastArray< VisibleObjectsPerRqVisibleObjectsPerThreadArray
 
typedef FastArray< VkFence > VkFenceArray
 
typedef FastArray< VkSemaphore > VkSemaphoreArray
 
typedef vector< VulkanDiscardBuffer * >::type VulkanDiscardBufferVec
 
typedef map< FrameBufferDescKey, VulkanFlushOnlyDescValue >::type VulkanFlushOnlyDescMap
 
typedef map< VulkanFrameBufferDescKey, VulkanFrameBufferDescValue >::type VulkanFrameBufferDescMap
 
typedef FastArray< VkDescriptorSetLayoutBinding > VulkanSingleSetLayoutDesc
 
typedef StdVector< Window * > WindowList
 Render window container. More...
 

Enumerations

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_CASTER_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_CULL_HARDWARE , ID_CULL_MODE , ID_CLOCKWISE , ID_ANTICLOCKWISE ,
  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_CHANNEL_MASK ,
  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_ADDRESS_MODE , ID_WRAP ,
  ID_CLAMP , ID_BORDER , ID_MIRROR , ID_TEX_BORDER_COLOUR ,
  ID_FILTERING , ID_BILINEAR , ID_TRILINEAR , ID_ANISOTROPIC ,
  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_COMPOSITOR , ID_AUTOMATIC_BATCHING , ID_TEXTURE_SOURCE , ID_SHARED_PARAMS ,
  ID_SHARED_PARAM_NAMED , ID_SHARED_PARAMS_REF , ID_PARTICLE_SYSTEM , ID_EMITTER ,
  ID_AFFECTOR , ID_WORKSPACE , ID_ALIAS , ID_CONNECT ,
  ID_CONNECT_BUFFER , ID_CONNECT_OUTPUT , ID_CONNECT_EXTERNAL , ID_CONNECT_BUFFER_EXTERNAL ,
  ID_COMPOSITOR_NODE , ID_IN , ID_OUT , ID_IN_BUFFER ,
  ID_OUT_BUFFER , ID_CUSTOM_ID , ID_RTV , ID_RESOLVE ,
  ID_MIP , ID_RESOLVE_MIP , ID_RESOLVE_MIPMAP , ID_SLICE ,
  ID_RESOLVE_SLICE , ID_ALL_LAYERS , ID_DEPTH_STENCIL , ID_DEPTH_READ_ONLY ,
  ID_STENCIL_READ_ONLY , ID_BUFFER , ID_TARGET_WIDTH , ID_TARGET_HEIGHT ,
  ID_TARGET_WIDTH_SCALED , ID_TARGET_HEIGHT_SCALED , ID_TARGET_ORIENTATION_MODE , ID_TARGET_FORMAT ,
  ID_MSAA , ID_MSAA_AUTO , ID_EXPLICIT_RESOLVE , ID_NOT_TEXTURE ,
  ID_REINTERPRETABLE , ID_KEEP_CONTENT , ID_DEPTH_POOL , ID_DEPTH_TEXTURE ,
  ID_DEPTH_FORMAT , ID_2D_ARRAY , ID_CUBEMAP , ID_CUBEMAP_ARRAY ,
  ID_MIPMAPS , ID_NO_AUTOMIPMAPS , ID_TARGET , ID_TARGET_LEVEL_BARRIER ,
  ID_CLEAR , ID_STENCIL , ID_RENDER_SCENE , ID_RENDER_QUAD ,
  ID_DEPTH_COPY , ID_BIND_UAV , ID_LOAD , ID_ALL ,
  ID_CLEAR_COLOUR , ID_CLEAR_COLOUR_REVERSE_DEPTH_AWARE , ID_CLEAR_DEPTH , ID_CLEAR_STENCIL ,
  ID_WARN_IF_RTV_WAS_FLUSHED , ID_STORE , ID_SKIP_LOAD_STORE_SEMANTICS , ID_VIEWPORT ,
  ID_NUM_INITIAL , ID_FLUSH_COMMAND_BUFFERS , ID_IDENTIFIER , ID_OVERLAYS ,
  ID_EXECUTION_MASK , ID_VIEWPORT_MODIFIER_MASK , ID_USES_UAV , ID_ALLOW_WRITE_AFTER_WRITE ,
  ID_EXPOSE , ID_SHADOW_MAP_FULL_VIEWPORT , ID_PROFILING_ID , ID_LOD_BIAS ,
  ID_LOD_UPDATE_LIST , ID_LOD_CAMERA , ID_CULL_REUSE_DATA , ID_CULL_CAMERA ,
  ID_MATERIAL_SCHEME , ID_VISIBILITY_MASK , ID_LIGHT_VISIBILITY_MASK , ID_SHADOWS_ENABLED ,
  ID_CAMERA , ID_FIRST_RENDER_QUEUE , ID_LAST_RENDER_QUEUE , ID_CAMERA_CUBEMAP_REORIENT ,
  ID_ENABLE_FORWARDPLUS , ID_FLUSH_COMMAND_BUFFERS_AFTER_SHADOW_NODE , ID_IS_PREPASS , ID_USE_PREPASS ,
  ID_GEN_NORMALS_GBUFFER , ID_USE_REFRACTIONS , ID_UV_BAKING , ID_UV_BAKING_OFFSET ,
  ID_BAKE_LIGHTING_ONLY , ID_INSTANCED_STEREO , ID_USE_QUAD , ID_QUAD_NORMALS ,
  ID_CAMERA_FAR_CORNERS_VIEW_SPACE , ID_CAMERA_FAR_CORNERS_VIEW_SPACE_NORMALIZED , ID_CAMERA_FAR_CORNERS_VIEW_SPACE_NORMALIZED_LH , ID_CAMERA_FAR_CORNERS_WORLD_SPACE ,
  ID_CAMERA_FAR_CORNERS_WORLD_SPACE_CENTERED , ID_CAMERA_DIRECTION , ID_INPUT , ID_OUTPUT ,
  ID_NON_TILERS_ONLY , ID_BUFFERS , ID_COLOUR , ID_DEPTH ,
  ID_COLOUR_VALUE , ID_DEPTH_VALUE , ID_STENCIL_VALUE , ID_DISCARD_ONLY ,
  ID_CHECK , ID_REF_VALUE , ID_MASK , ID_READ_MASK ,
  ID_BOTH , ID_FRONT , ID_BACK , ID_COMP_FUNC ,
  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 , ID_UAV , ID_UAV_EXTERNAL ,
  ID_UAV_BUFFER , ID_STARTING_SLOT , ID_KEEP_PREVIOUS_UAV , ID_READ ,
  ID_WRITE , ID_MIPMAP , ID_JOB , ID_MIPMAP_METHOD ,
  ID_API_DEFAULT , ID_COMPUTE_HQ , ID_KERNEL_RADIUS , ID_GAUSS_DEVIATION ,
  ID_MIP_RANGE , ID_SAMPLES_PER_ITERATION , ID_SAMPLES_SINGLE_ITERATION_FALLBACK , ID_FORCE_MIPMAP_FALLBACK ,
  ID_MODE , ID_READ_BACK_AS_TEXTURE , ID_SHADOW_NODE , ID_NUM_SPLITS ,
  ID_NUM_STABLE_SPLITS , ID_NORMAL_OFFSET_BIAS , ID_CONSTANT_BIAS_SCALE , ID_PSSM_SPLIT_PADDING ,
  ID_PSSM_SPLIT_BLEND , ID_PSSM_SPLIT_FADE , ID_PSSM_LAMBDA , ID_SHADOW_MAP_TARGET_TYPE ,
  ID_SHADOW_MAP_REPEAT , ID_SHADOW_MAP , ID_UV , ID_ARRAY_INDEX ,
  ID_FSAA , ID_LIGHT , ID_SPLIT , ID_HLMS ,
  ID_TESSELLATION_HULL_PROGRAM , ID_TESSELLATION_DOMAIN_PROGRAM , ID_COMPUTE_PROGRAM , ID_TESSELLATION_HULL_PROGRAM_REF ,
  ID_TESSELLATION_DOMAIN_PROGRAM_REF , ID_COMPUTE_PROGRAM_REF , ID_GEOMETRY , ID_TESSELLATION_HULL ,
  ID_TESSELLATION_DOMAIN , ID_COMPUTE , ID_SUBROUTINE , ID_END_BUILTIN_IDS
}
 This enum defines the integer ids for keywords this compiler handles. More...
 
enum  {
  TID_LBRACKET = 0 , TID_RBRACKET , TID_COLON , TID_VARIABLE ,
  TID_WORD , TID_QUOTE , TID_NEWLINE , TID_UNKNOWN ,
  TID_END
}
 These codes represent token IDs which are numerical translations of specific lexemes. More...
 
enum  AbstractNodeType {
  ANT_UNKNOWN , ANT_ATOM , ANT_OBJECT , ANT_PROPERTY ,
  ANT_IMPORT , ANT_VARIABLE_SET , ANT_VARIABLE_ACCESS
}
 This enum holds the types of the possible abstract nodes. More...
 
enum  BaseConstantType {
  BCT_FLOAT = 1 , BCT_INT = 2 , BCT_DOUBLE = 3 , BCT_UINT = 4 ,
  BCT_BOOL = 5 , BCT_SAMPLER = 6 , BCT_SUBROUTINE = 7 , BCT_UNKNOWN = 99
}
 
enum  BufferBindFlags {
  BB_FLAG_VERTEX = 1u << BP_TYPE_VERTEX , BB_FLAG_INDEX = 1u << BP_TYPE_INDEX , BB_FLAG_CONST = 1u << BP_TYPE_CONST , BB_FLAG_TEX = 1u << BP_TYPE_TEX ,
  BB_FLAG_READONLY = 1u << BP_TYPE_READONLY , BB_FLAG_UAV = 1u << BP_TYPE_UAV , BB_FLAG_INDIRECT = 1u << BP_TYPE_INDIRECT
}
 
enum  BufferPackedTypes {
  BP_TYPE_VERTEX , BP_TYPE_INDEX , BP_TYPE_CONST , BP_TYPE_TEX ,
  BP_TYPE_READONLY , BP_TYPE_UAV , BP_TYPE_INDIRECT , NUM_BUFFER_PACKED_TYPES
}
 
enum  BufferType {
  BT_IMMUTABLE , BT_DEFAULT , BT_DEFAULT_SHARED , BT_DYNAMIC_DEFAULT ,
  BT_DYNAMIC_PERSISTENT , BT_DYNAMIC_PERSISTENT_COHERENT
}
 
enum  Capabilities {
  RSC_AUTOMIPMAP = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 0) , RSC_BLENDING = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 1) , RSC_ANISOTROPY = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 2) , RSC_DOT3 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 3) ,
  RSC_CUBEMAPPING = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 4) , RSC_HWSTENCIL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 5) , RSC_VBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 7) , RSC_32BIT_INDEX = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 8) ,
  RSC_VERTEX_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 9) , RSC_FRAGMENT_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 10) , RSC_TEXTURE_SIGNED_INT = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 11) , RSC_TWO_SIDED_STENCIL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 12) ,
  RSC_STENCIL_WRAP = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 13) , RSC_HWOCCLUSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 14) , RSC_USER_CLIP_PLANES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 15) , RSC_VERTEX_FORMAT_UBYTE4 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 16) ,
  RSC_INFINITE_FAR_PLANE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 17) , RSC_HWRENDER_TO_TEXTURE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 18) , RSC_TEXTURE_FLOAT = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 19) , RSC_NON_POWER_OF_2_TEXTURES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 20) ,
  RSC_TEXTURE_3D = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 21) , RSC_POINT_SPRITES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 22) , RSC_POINT_EXTENDED_PARAMETERS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 23) , RSC_VERTEX_TEXTURE_FETCH = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 24) ,
  RSC_MIPMAP_LOD_BIAS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 25) , RSC_GEOMETRY_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 26) , RSC_HWRENDER_TO_VERTEX_BUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 27) , RSC_TEXTURE_COMPRESSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 0) ,
  RSC_TEXTURE_COMPRESSION_DXT = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 1) , RSC_TEXTURE_COMPRESSION_VTC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 2) , RSC_TEXTURE_COMPRESSION_PVRTC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 3) , RSC_TEXTURE_COMPRESSION_ATC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 4) ,
  RSC_TEXTURE_COMPRESSION_ETC1 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 5) , RSC_TEXTURE_COMPRESSION_ETC2 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 6) , RSC_TEXTURE_COMPRESSION_BC4_BC5 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 7) , RSC_TEXTURE_COMPRESSION_BC6H_BC7 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 8) ,
  RSC_FIXED_FUNCTION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 9) , RSC_MRT_DIFFERENT_BIT_DEPTHS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 10) , RSC_ALPHA_TO_COVERAGE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 11) , RSC_HW_GAMMA = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 12) ,
  RSC_RTT_SEPARATE_DEPTHBUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 13) , RSC_RTT_MAIN_DEPTHBUFFER_ATTACHABLE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 14) , RSC_RTT_DEPTHBUFFER_RESOLUTION_LESSEQUAL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 15) , RSC_VERTEX_BUFFER_INSTANCE_DATA = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 16) ,
  RSC_CAN_GET_COMPILED_SHADER_BUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 17) , RSC_SHADER_SUBROUTINE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 18) , RSC_HWRENDER_TO_TEXTURE_3D = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 19) , RSC_TEXTURE_1D = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 20) ,
  RSC_TESSELLATION_HULL_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 21) , RSC_TESSELLATION_DOMAIN_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 22) , RSC_COMPUTE_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 23) , RSC_HWOCCLUSION_ASYNCHRONOUS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 24) ,
  RSC_ATOMIC_COUNTERS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 25) , RSC_READ_BACK_AS_TEXTURE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 26) , RSC_EXPLICIT_FSAA_RESOLVE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 27) , RSC_COMPLETE_TEXTURE_BINDING = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 0) ,
  RSC_TEXTURE_2D_ARRAY = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 1) , RSC_TEXTURE_CUBE_MAP_ARRAY = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 2) , RSC_TEXTURE_GATHER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 3) , RSC_UAV = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 4) ,
  RSC_EXPLICIT_API = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 5) , RSC_SEPARATE_SAMPLERS_FROM_TEXTURES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 6) , RSC_MSAA_2D_ARRAY = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 7) , RSC_IS_TILER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 8) ,
  RSC_TILER_CAN_CLEAR_STENCIL_REGION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 9) , RSC_CONST_BUFFER_SLOTS_IN_SHADER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 10) , RSC_TEXTURE_COMPRESSION_ASTC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 11) , RSC_STORE_AND_MULTISAMPLE_RESOLVE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 12) ,
  RSC_DEPTH_CLAMP = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 13) , RSC_SHADER_RELAXED_FLOAT = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 14) , RSC_SHADER_FLOAT16 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 15) , RSC_UMA = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_3, 16) ,
  RSC_PERSTAGECONSTANT = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 0) , RSC_TYPED_UAV_LOADS = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 1) , RSC_VP_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 2) , RSC_GL1_5_NOVBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 1) ,
  RSC_FBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 2) , RSC_FBO_ARB = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 3) , RSC_FBO_ATI = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 4) , RSC_PBUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 5) ,
  RSC_GL1_5_NOHWOCCLUSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 6) , RSC_POINT_EXTENDED_PARAMETERS_ARB = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 7) , RSC_POINT_EXTENDED_PARAMETERS_EXT = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 8) , RSC_SEPARATE_UNUSED = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 9) ,
  RSC_VAO = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 10)
}
 Enum describing the different hardware capabilities we want to check for OGRE_CAPS_VALUE(a, b) defines each capability. More...
 
enum  CapabilitiesCategory {
  CAPS_CATEGORY_COMMON = 0 , CAPS_CATEGORY_COMMON_2 = 1 , CAPS_CATEGORY_COMMON_3 = 2 , CAPS_CATEGORY_D3D9 = 3 ,
  CAPS_CATEGORY_GL = 4 , CAPS_CATEGORY_METAL = 5 , CAPS_CATEGORY_COUNT = 6
}
 Enumerates the categories of capabilities. More...
 
enum  CbType {
  CB_INVALID , CB_SET_VAO , CB_SET_INDIRECT_BUFFER , CB_DRAW_CALL_INDEXED_EMULATED_NO_BASE_INSTANCE ,
  CB_DRAW_CALL_INDEXED_EMULATED , CB_DRAW_CALL_INDEXED , CB_DRAW_CALL_STRIP_EMULATED_NO_BASE_INSTANCE , CB_DRAW_CALL_STRIP_EMULATED ,
  CB_DRAW_CALL_STRIP , CB_SET_CONSTANT_BUFFER_VS , CB_SET_CONSTANT_BUFFER_PS , CB_SET_CONSTANT_BUFFER_GS ,
  CB_SET_CONSTANT_BUFFER_HS , CB_SET_CONSTANT_BUFFER_DS , CB_SET_CONSTANT_BUFFER_CS , CB_SET_CONSTANT_BUFFER_INVALID ,
  CB_SET_TEXTURE_BUFFER_VS , CB_SET_TEXTURE_BUFFER_PS , CB_SET_TEXTURE_BUFFER_GS , CB_SET_TEXTURE_BUFFER_HS ,
  CB_SET_TEXTURE_BUFFER_DS , CB_SET_TEXTURE_BUFFER_CS , CB_SET_TEXTURE_BUFFER_INVALID , CB_SET_READONLY_BUFFER_VS ,
  CB_SET_READONLY_BUFFER_PS , CB_SET_READONLY_BUFFER_GS , CB_SET_READONLY_BUFFER_HS , CB_SET_READONLY_BUFFER_DS ,
  CB_SET_READONLY_BUFFER_CS , CB_SET_READONLY_BUFFER_INVALID , CB_SET_PSO , CB_SET_TEXTURE ,
  CB_SET_TEXTURES , CB_SET_SAMPLERS , CB_START_V1_LEGACY_RENDERING , CB_SET_V1_RENDER_OP ,
  CB_DRAW_V1_INDEXED_NO_BASE_INSTANCE , CB_DRAW_V1_INDEXED , CB_DRAW_V1_STRIP_NO_BASE_INSTANCE , CB_DRAW_V1_STRIP ,
  CB_LOW_LEVEL_MATERIAL , MAX_COMMAND_BUFFER
}
 
enum  ClipResult { CLIPPED_NONE = 0 , CLIPPED_SOME = 1 , CLIPPED_ALL = 2 }
 Generic result of clipping. More...
 
enum  ColourBufferType { CBT_BACK = 0x0 , CBT_BACK_LEFT , CBT_BACK_RIGHT }
 Defines the colour buffer types. More...
 
enum  CompareFunction {
  CMPF_ALWAYS_FAIL , CMPF_ALWAYS_PASS , CMPF_LESS , CMPF_LESS_EQUAL ,
  CMPF_EQUAL , CMPF_NOT_EQUAL , CMPF_GREATER_EQUAL , CMPF_GREATER ,
  NUM_COMPARE_FUNCTIONS
}
 Comparison functions used for the depth/stencil buffer operations and others. More...
 
enum  CompositorPassType {
  PASS_INVALID = 0 , PASS_SCENE , PASS_QUAD , PASS_CLEAR ,
  PASS_STENCIL , PASS_RESOLVE , PASS_DEPTHCOPY , PASS_UAV ,
  PASS_MIPMAP , PASS_IBL_SPECULAR , PASS_SHADOWS , PASS_TARGET_BARRIER ,
  PASS_WARM_UP , PASS_COMPUTE , PASS_CUSTOM
}
 
enum  ConcreteNodeType {
  CNT_VARIABLE , CNT_VARIABLE_ASSIGN , CNT_WORD , CNT_IMPORT ,
  CNT_QUOTE , CNT_LBRACE , CNT_RBRACE , CNT_COLON
}
 These enums hold the types of the concrete parsed nodes. More...
 
enum  CullingMode { CULL_NONE = 1 , CULL_CLOCKWISE = 2 , CULL_ANTICLOCKWISE = 3 }
 Hardware culling modes based on vertex winding. More...
 
enum  eTexturePlayMode { TextureEffectPause = 0 , TextureEffectPlay_ASAP = 1 , TextureEffectPlay_Looping = 2 }
 Enum for type of texture play mode. More...
 
enum  FilterOptions { FO_NONE , FO_POINT , FO_LINEAR , FO_ANISOTROPIC }
 Filtering options for textures / mipmaps. More...
 
enum  FilterType { FT_MIN , FT_MAG , FT_MIP }
 
enum  FogMode { FOG_NONE , FOG_EXP , FOG_EXP2 , FOG_LINEAR }
 Fog modes. More...
 
enum  FontType { FT_TRUETYPE = 1 , FT_IMAGE = 2 }
 Enumerates the types of Font usable in the engine. More...
 
enum  FrameBufferType { FBT_COLOUR = 0x1 , FBT_DEPTH = 0x2 , FBT_STENCIL = 0x4 }
 Defines the frame buffer types. More...
 
enum  FrustrumExtentsType { FET_PROJ_PLANE_POS , FET_TAN_HALF_ANGLES }
 Specify how the frustrum extents are represented. More...
 
enum  FrustumPlane {
  FRUSTUM_PLANE_NEAR = 0 , FRUSTUM_PLANE_FAR = 1 , FRUSTUM_PLANE_LEFT = 2 , FRUSTUM_PLANE_RIGHT = 3 ,
  FRUSTUM_PLANE_TOP = 4 , FRUSTUM_PLANE_BOTTOM = 5
}
 Worldspace clipping planes. More...
 
enum  GpuConstantType {
  GCT_FLOAT1 = 1 , GCT_FLOAT2 = 2 , GCT_FLOAT3 = 3 , GCT_FLOAT4 = 4 ,
  GCT_SAMPLER1D = 5 , GCT_SAMPLER2D = 6 , GCT_SAMPLER3D = 7 , GCT_SAMPLERCUBE = 8 ,
  GCT_SAMPLERRECT = 9 , GCT_SAMPLER1DSHADOW = 10 , GCT_SAMPLER2DSHADOW = 11 , GCT_SAMPLER2DARRAY = 12 ,
  GCT_MATRIX_2X2 = 13 , GCT_MATRIX_2X3 = 14 , GCT_MATRIX_2X4 = 15 , GCT_MATRIX_3X2 = 16 ,
  GCT_MATRIX_3X3 = 17 , GCT_MATRIX_3X4 = 18 , GCT_MATRIX_4X2 = 19 , GCT_MATRIX_4X3 = 20 ,
  GCT_MATRIX_4X4 = 21 , GCT_INT1 = 22 , GCT_INT2 = 23 , GCT_INT3 = 24 ,
  GCT_INT4 = 25 , GCT_SUBROUTINE = 26 , GCT_DOUBLE1 = 27 , GCT_DOUBLE2 = 28 ,
  GCT_DOUBLE3 = 29 , GCT_DOUBLE4 = 30 , GCT_MATRIX_DOUBLE_2X2 = 31 , GCT_MATRIX_DOUBLE_2X3 = 32 ,
  GCT_MATRIX_DOUBLE_2X4 = 33 , GCT_MATRIX_DOUBLE_3X2 = 34 , GCT_MATRIX_DOUBLE_3X3 = 35 , GCT_MATRIX_DOUBLE_3X4 = 36 ,
  GCT_MATRIX_DOUBLE_4X2 = 37 , GCT_MATRIX_DOUBLE_4X3 = 38 , GCT_MATRIX_DOUBLE_4X4 = 39 , GCT_UINT1 = 40 ,
  GCT_UINT2 = 41 , GCT_UINT3 = 42 , GCT_UINT4 = 43 , GCT_BOOL1 = 44 ,
  GCT_BOOL2 = 45 , GCT_BOOL3 = 46 , GCT_BOOL4 = 47 , GCT_SAMPLER_WRAPPER1D = 48 ,
  GCT_SAMPLER_WRAPPER2D = 49 , GCT_SAMPLER_WRAPPER3D = 50 , GCT_SAMPLER_WRAPPERCUBE = 51 , GCT_SAMPLER_STATE = 52 ,
  GCT_SAMPLERCUBE_ARRAY = 53 , GCT_UNKNOWN = 99
}
 Enumeration of the types of constant we may encounter in programs. More...
 
enum  GpuParamVariability {
  GPV_GLOBAL = 1 , GPV_PER_OBJECT = 2 , GPV_LIGHTS = 4 , GPV_PASS_ITERATION_NUMBER = 8 ,
  GPV_ALL = 0xFFFF
}
 The variability of a GPU parameter, as derived from auto-params targeting it. More...
 
enum  GpuProgramType {
  GPT_VERTEX_PROGRAM , GPT_FRAGMENT_PROGRAM , GPT_GEOMETRY_PROGRAM , GPT_HULL_PROGRAM ,
  GPT_DOMAIN_PROGRAM , GPT_COMPUTE_PROGRAM
}
 Enumerates the types of programs which can run on the GPU. More...
 
enum  GPUVendor {
  GPU_UNKNOWN = 0 , GPU_NVIDIA = 1 , GPU_AMD = 2 , GPU_INTEL = 3 ,
  GPU_S3 = 4 , GPU_MATROX = 5 , GPU_3DLABS = 6 , GPU_SIS = 7 ,
  GPU_IMAGINATION_TECHNOLOGIES = 8 , GPU_APPLE = 9 , GPU_NOKIA = 10 , GPU_MS_SOFTWARE = 11 ,
  GPU_MS_WARP = 12 , GPU_ARM = 13 , GPU_QUALCOMM = 14 , GPU_MOZILLA = 15 ,
  GPU_WEBKIT = 16 , GPU_IMGTEC = 17 , GPU_VENDOR_COUNT = 18
}
 Enumeration of GPU vendors. More...
 
enum  Grid2DMode { G2D_X_Z = 0 , G2D_X_Y = 1 , G2D_Y_Z = 2 }
 The 2D grid mode. More...
 
enum  HlmsBasicBlock { BLOCK_MACRO , BLOCK_BLEND , BLOCK_SAMPLER , NUM_BASIC_BLOCKS }
 
enum  HlmsTypes {
  HLMS_LOW_LEVEL , HLMS_PBS , HLMS_TOON , HLMS_UNLIT ,
  HLMS_USER0 , HLMS_USER1 , HLMS_USER2 , HLMS_USER3 ,
  HLMS_MAX = 8 , HLMS_COMPUTE
}
 Up to 8 different HLMS generator types are allowed. More...
 
enum  IndexType { IT_16BIT , IT_32BIT }
 
enum  InstanceManagerFlags {
  IM_USE16BIT = 0x0001 , IM_VTFBESTFIT = 0x0002 , IM_VTFBONEMATRIXLOOKUP = 0x0004 , IM_USEBONEDUALQUATERNIONS = 0x0008 ,
  IM_USEONEWEIGHT = 0x0010 , IM_FORCEONEWEIGHT = 0x0020 , IM_USEALL = IM_USE16BIT | IM_VTFBESTFIT | IM_USEONEWEIGHT
}
 Flags for the Instance Manager when calculating ideal number of instances per batch. More...
 
enum  LayerBlendOperation { LBO_REPLACE , LBO_ADD , LBO_MODULATE , LBO_ALPHA_BLEND }
 List of valid texture blending operations, for use with TextureUnitState::setColourOperation. More...
 
enum  LayerBlendOperationEx {
  LBX_SOURCE1 , LBX_SOURCE2 , LBX_MODULATE , LBX_MODULATE_X2 ,
  LBX_MODULATE_X4 , LBX_ADD , LBX_ADD_SIGNED , LBX_ADD_SMOOTH ,
  LBX_SUBTRACT , LBX_BLEND_DIFFUSE_ALPHA , LBX_BLEND_TEXTURE_ALPHA , LBX_BLEND_CURRENT_ALPHA ,
  LBX_BLEND_MANUAL , LBX_DOTPRODUCT , LBX_BLEND_DIFFUSE_COLOUR
}
 Expert list of valid texture blending operations, for use with TextureUnitState::setColourOperationEx and TextureUnitState::setAlphaOperation, and internally in the LayerBlendModeEx class. More...
 
enum  LayerBlendSource {
  LBS_CURRENT , LBS_TEXTURE , LBS_DIFFUSE , LBS_SPECULAR ,
  LBS_MANUAL
}
 List of valid sources of values for blending operations used in TextureUnitState::setColourOperation and TextureUnitState::setAlphaOperation, and internally in the LayerBlendModeEx class. More...
 
enum  LayerBlendType { LBT_COLOUR , LBT_ALPHA }
 Type of texture blend mode. More...
 
enum  LoggingLevel { LL_LOW = 1 , LL_NORMAL = 2 , LL_BOREME = 3 }
 The level of detail to which the log will go into. More...
 
enum  LogMessageLevel { LML_TRIVIAL = 1 , LML_NORMAL = 2 , LML_CRITICAL = 3 }
 The importance of a logged message. More...
 
enum  MappingState { MS_UNMAPPED , MS_MAPPED , NUM_MAPPING_STATE }
 
enum  MemoryCategory {
  MEMCATEGORY_GENERAL = 0 , MEMCATEGORY_GEOMETRY = 1 , MEMCATEGORY_ANIMATION = 2 , MEMCATEGORY_SCENE_CONTROL = 3 ,
  MEMCATEGORY_SCENE_OBJECTS = 4 , MEMCATEGORY_RESOURCE = 5 , MEMCATEGORY_SCRIPTING = 6 , MEMCATEGORY_RENDERSYS = 7 ,
  MEMCATEGORY_COUNT = 8
}
 A set of categories that indicate the purpose of a chunk of memory being allocated. More...
 
enum  MeshChunkID {
  M_HEADER = 0x1000 , M_MESH = 0x3000 , M_HASH_FOR_CACHES = 0x3200 , M_SUBMESH = 0x4000 ,
  M_SUBMESH_TEXTURE_ALIAS = 0x4200 , M_SUBMESH_LOD = 0x4300 , M_SUBMESH_LOD_OPERATION = 0x4310 , M_SUBMESH_INDEX_BUFFFER = 0x4320 ,
  M_SUBMESH_M_GEOMETRY = 0x4330 , M_SUBMESH_M_GEOMETRY_VERTEX_DECLARATION = 0x4331 , M_SUBMESH_M_GEOMETRY_VERTEX_BUFFER = 0x4332 , M_SUBMESH_M_GEOMETRY_EXTERNAL_SOURCE = 0x4340 ,
  M_MESH_SKELETON_LINK = 0x6000 , M_MESH_BOUNDS = 0x9000 , M_SUBMESH_NAME_TABLE = 0xA000 , M_SUBMESH_NAME_TABLE_ELEMENT = 0xA100 ,
  M_EDGE_LISTS = 0xB000 , M_EDGE_LIST_LOD = 0xB100 , M_EDGE_GROUP = 0xB110 , M_POSES = 0xC000 ,
  M_POSE = 0xC100 , M_POSE_VERTEX = 0xC111 , M_ANIMATIONS = 0xD000 , M_ANIMATION = 0xD100 ,
  M_ANIMATION_BASEINFO = 0xD105 , M_ANIMATION_TRACK = 0xD110 , M_ANIMATION_MORPH_KEYFRAME = 0xD111 , M_ANIMATION_POSE_KEYFRAME = 0xD112 ,
  M_ANIMATION_POSE_REF = 0xD113 , M_SUBMESH_OPERATION = 0x4010 , M_SUBMESH_BONE_ASSIGNMENT = 0x4100 , M_GEOMETRY = 0x5000 ,
  M_GEOMETRY_VERTEX_DECLARATION = 0x5100 , M_GEOMETRY_VERTEX_ELEMENT = 0x5110 , M_GEOMETRY_VERTEX_BUFFER = 0x5200 , M_GEOMETRY_VERTEX_BUFFER_DATA = 0x5210 ,
  M_MESH_BONE_ASSIGNMENT = 0x7000 , M_MESH_LOD_LEVEL = 0x8000 , M_MESH_LOD_USAGE = 0x8100 , M_MESH_LOD_MANUAL = 0x8110 ,
  M_MESH_LOD_GENERATED = 0x8120 , M_TABLE_EXTREMES = 0xE000 , M_GEOMETRY_NORMALS = 0x5100 , M_GEOMETRY_COLOURS = 0x5200 ,
  M_GEOMETRY_TEXCOORDS = 0x5300
}
 Definition of the OGRE .mesh file format. More...
 
enum  MeshVersion { MESH_VERSION_LATEST , MESH_VERSION_2_1 , MESH_VERSION_LEGACY }
 Mesh compatibility versions Naming convention: MeshSerializer_v2.1 R0 LEGACYV1. More...
 
enum  OperationType {
  OT_POINT_LIST = 1 , OT_LINE_LIST = 2 , OT_LINE_STRIP = 3 , OT_TRIANGLE_LIST = 4 ,
  OT_TRIANGLE_STRIP = 5 , OT_TRIANGLE_FAN = 6 , OT_PATCH_1_CONTROL_POINT = 7 , OT_PATCH_2_CONTROL_POINT = 8 ,
  OT_PATCH_3_CONTROL_POINT = 9 , OT_PATCH_4_CONTROL_POINT = 10 , OT_PATCH_5_CONTROL_POINT = 11 , OT_PATCH_6_CONTROL_POINT = 12 ,
  OT_PATCH_7_CONTROL_POINT = 13 , OT_PATCH_8_CONTROL_POINT = 14 , OT_PATCH_9_CONTROL_POINT = 15 , OT_PATCH_10_CONTROL_POINT = 16 ,
  OT_PATCH_11_CONTROL_POINT = 17 , OT_PATCH_12_CONTROL_POINT = 18 , OT_PATCH_13_CONTROL_POINT = 19 , OT_PATCH_14_CONTROL_POINT = 20 ,
  OT_PATCH_15_CONTROL_POINT = 21 , OT_PATCH_16_CONTROL_POINT = 22 , OT_PATCH_17_CONTROL_POINT = 23 , OT_PATCH_18_CONTROL_POINT = 24 ,
  OT_PATCH_19_CONTROL_POINT = 25 , OT_PATCH_20_CONTROL_POINT = 26 , OT_PATCH_21_CONTROL_POINT = 27 , OT_PATCH_22_CONTROL_POINT = 28 ,
  OT_PATCH_23_CONTROL_POINT = 29 , OT_PATCH_24_CONTROL_POINT = 30 , OT_PATCH_25_CONTROL_POINT = 31 , OT_PATCH_26_CONTROL_POINT = 32 ,
  OT_PATCH_27_CONTROL_POINT = 33 , OT_PATCH_28_CONTROL_POINT = 34 , OT_PATCH_29_CONTROL_POINT = 35 , OT_PATCH_30_CONTROL_POINT = 36 ,
  OT_PATCH_31_CONTROL_POINT = 37 , OT_PATCH_32_CONTROL_POINT = 38 , OT_DETAIL_ADJACENCY_BIT = 1 << 6 , OT_LINE_LIST_ADJ = OT_LINE_LIST | OT_DETAIL_ADJACENCY_BIT ,
  OT_LINE_STRIP_ADJ = OT_LINE_STRIP | OT_DETAIL_ADJACENCY_BIT , OT_TRIANGLE_LIST_ADJ = OT_TRIANGLE_LIST | OT_DETAIL_ADJACENCY_BIT , OT_TRIANGLE_STRIP_ADJ = OT_TRIANGLE_STRIP | OT_DETAIL_ADJACENCY_BIT
}
 
enum  OrientationMode {
  OR_DEGREE_0 = 0 , OR_DEGREE_90 = 1 , OR_DEGREE_180 = 2 , OR_DEGREE_270 = 3 ,
  OR_PORTRAIT = OR_DEGREE_0 , OR_LANDSCAPERIGHT = OR_DEGREE_90 , OR_LANDSCAPELEFT = OR_DEGREE_270
}
 Specifies orientation mode. More...
 
enum  ParameterType {
  PT_BOOL , PT_REAL , PT_INT , PT_UNSIGNED_INT ,
  PT_SHORT , PT_UNSIGNED_SHORT , PT_LONG , PT_UNSIGNED_LONG ,
  PT_STRING , PT_VECTOR3 , PT_MATRIX3 , PT_MATRIX4 ,
  PT_QUATERNION , PT_COLOURVALUE
}
 List of parameter types available. More...
 
enum  PbsBlendModes {
  PBSM_BLEND_NORMAL_NON_PREMUL , PBSM_BLEND_NORMAL_PREMUL , PBSM_BLEND_ADD , PBSM_BLEND_SUBTRACT ,
  PBSM_BLEND_MULTIPLY , PBSM_BLEND_MULTIPLY2X , PBSM_BLEND_SCREEN , PBSM_BLEND_OVERLAY ,
  PBSM_BLEND_LIGHTEN , PBSM_BLEND_DARKEN , PBSM_BLEND_GRAIN_EXTRACT , PBSM_BLEND_GRAIN_MERGE ,
  PBSM_BLEND_DIFFERENCE , NUM_PBSM_BLEND_MODES
}
 
enum  PbsTextureTypes {
  PBSM_DIFFUSE , PBSM_NORMAL , PBSM_SPECULAR , PBSM_METALLIC = PBSM_SPECULAR ,
  PBSM_ROUGHNESS , PBSM_DETAIL_WEIGHT , PBSM_DETAIL0 , PBSM_DETAIL1 ,
  PBSM_DETAIL2 , PBSM_DETAIL3 , PBSM_DETAIL0_NM , PBSM_DETAIL1_NM ,
  PBSM_DETAIL2_NM , PBSM_DETAIL3_NM , PBSM_EMISSIVE , PBSM_REFLECTION ,
  NUM_PBSM_SOURCES = PBSM_REFLECTION , NUM_PBSM_TEXTURE_TYPES
}
 
enum  PixelFormatGpu {
  PFG_UNKNOWN , PFG_NULL , PFG_RGBA32_FLOAT , PFG_RGBA32_UINT ,
  PFG_RGBA32_SINT , PFG_RGB32_FLOAT , PFG_RGB32_UINT , PFG_RGB32_SINT ,
  PFG_RGBA16_FLOAT , PFG_RGBA16_UNORM , PFG_RGBA16_UINT , PFG_RGBA16_SNORM ,
  PFG_RGBA16_SINT , PFG_RG32_FLOAT , PFG_RG32_UINT , PFG_RG32_SINT ,
  PFG_D32_FLOAT_S8X24_UINT , PFG_R10G10B10A2_UNORM , PFG_R10G10B10A2_UINT , PFG_R11G11B10_FLOAT ,
  PFG_RGBA8_UNORM , PFG_RGBA8_UNORM_SRGB , PFG_RGBA8_UINT , PFG_RGBA8_SNORM ,
  PFG_RGBA8_SINT , PFG_RG16_FLOAT , PFG_RG16_UNORM , PFG_RG16_UINT ,
  PFG_RG16_SNORM , PFG_RG16_SINT , PFG_D32_FLOAT , PFG_R32_FLOAT ,
  PFG_R32_UINT , PFG_R32_SINT , PFG_D24_UNORM , PFG_D24_UNORM_S8_UINT ,
  PFG_RG8_UNORM , PFG_RG8_UINT , PFG_RG8_SNORM , PFG_RG8_SINT ,
  PFG_R16_FLOAT , PFG_D16_UNORM , PFG_R16_UNORM , PFG_R16_UINT ,
  PFG_R16_SNORM , PFG_R16_SINT , PFG_R8_UNORM , PFG_R8_UINT ,
  PFG_R8_SNORM , PFG_R8_SINT , PFG_A8_UNORM , PFG_R1_UNORM ,
  PFG_R9G9B9E5_SHAREDEXP , PFG_R8G8_B8G8_UNORM , PFG_G8R8_G8B8_UNORM , PFG_BC1_UNORM ,
  PFG_BC1_UNORM_SRGB , PFG_BC2_UNORM , PFG_BC2_UNORM_SRGB , PFG_BC3_UNORM ,
  PFG_BC3_UNORM_SRGB , PFG_BC4_UNORM , PFG_BC4_SNORM , PFG_BC5_UNORM ,
  PFG_BC5_SNORM , PFG_B5G6R5_UNORM , PFG_B5G5R5A1_UNORM , PFG_BGRA8_UNORM ,
  PFG_BGRX8_UNORM , PFG_R10G10B10_XR_BIAS_A2_UNORM , PFG_BGRA8_UNORM_SRGB , PFG_BGRX8_UNORM_SRGB ,
  PFG_BC6H_UF16 , PFG_BC6H_SF16 , PFG_BC7_UNORM , PFG_BC7_UNORM_SRGB ,
  PFG_AYUV , PFG_Y410 , PFG_Y416 , PFG_NV12 ,
  PFG_P010 , PFG_P016 , PFG_420_OPAQUE , PFG_YUY2 ,
  PFG_Y210 , PFG_Y216 , PFG_NV11 , PFG_AI44 ,
  PFG_IA44 , PFG_P8 , PFG_A8P8 , PFG_B4G4R4A4_UNORM ,
  PFG_P208 , PFG_V208 , PFG_V408 , PFG_RGB8_UNORM ,
  PFG_RGB8_UNORM_SRGB , PFG_BGR8_UNORM , PFG_BGR8_UNORM_SRGB , PFG_RGB16_UNORM ,
  PFG_PVRTC_RGB2 , PFG_PVRTC_RGB2_SRGB , PFG_PVRTC_RGBA2 , PFG_PVRTC_RGBA2_SRGB ,
  PFG_PVRTC_RGB4 , PFG_PVRTC_RGB4_SRGB , PFG_PVRTC_RGBA4 , PFG_PVRTC_RGBA4_SRGB ,
  PFG_PVRTC2_2BPP , PFG_PVRTC2_2BPP_SRGB , PFG_PVRTC2_4BPP , PFG_PVRTC2_4BPP_SRGB ,
  PFG_ETC1_RGB8_UNORM , PFG_ETC2_RGB8_UNORM , PFG_ETC2_RGB8_UNORM_SRGB , PFG_ETC2_RGBA8_UNORM ,
  PFG_ETC2_RGBA8_UNORM_SRGB , PFG_ETC2_RGB8A1_UNORM , PFG_ETC2_RGB8A1_UNORM_SRGB , PFG_EAC_R11_UNORM ,
  PFG_EAC_R11_SNORM , PFG_EAC_R11G11_UNORM , PFG_EAC_R11G11_SNORM , PFG_ATC_RGB ,
  PFG_ATC_RGBA_EXPLICIT_ALPHA , PFG_ATC_RGBA_INTERPOLATED_ALPHA , PFG_ASTC_RGBA_UNORM_4X4_LDR , PFG_ASTC_RGBA_UNORM_5X4_LDR ,
  PFG_ASTC_RGBA_UNORM_5X5_LDR , PFG_ASTC_RGBA_UNORM_6X5_LDR , PFG_ASTC_RGBA_UNORM_6X6_LDR , PFG_ASTC_RGBA_UNORM_8X5_LDR ,
  PFG_ASTC_RGBA_UNORM_8X6_LDR , PFG_ASTC_RGBA_UNORM_8X8_LDR , PFG_ASTC_RGBA_UNORM_10X5_LDR , PFG_ASTC_RGBA_UNORM_10X6_LDR ,
  PFG_ASTC_RGBA_UNORM_10X8_LDR , PFG_ASTC_RGBA_UNORM_10X10_LDR , PFG_ASTC_RGBA_UNORM_12X10_LDR , PFG_ASTC_RGBA_UNORM_12X12_LDR ,
  PFG_ASTC_RGBA_UNORM_4X4_sRGB , PFG_ASTC_RGBA_UNORM_5X4_sRGB , PFG_ASTC_RGBA_UNORM_5X5_sRGB , PFG_ASTC_RGBA_UNORM_6X5_sRGB ,
  PFG_ASTC_RGBA_UNORM_6X6_sRGB , PFG_ASTC_RGBA_UNORM_8X5_sRGB , PFG_ASTC_RGBA_UNORM_8X6_sRGB , PFG_ASTC_RGBA_UNORM_8X8_sRGB ,
  PFG_ASTC_RGBA_UNORM_10X5_sRGB , PFG_ASTC_RGBA_UNORM_10X6_sRGB , PFG_ASTC_RGBA_UNORM_10X8_sRGB , PFG_ASTC_RGBA_UNORM_10X10_sRGB ,
  PFG_ASTC_RGBA_UNORM_12X10_sRGB , PFG_ASTC_RGBA_UNORM_12X12_sRGB , PFG_COUNT
}
 The pixel format used for images, textures, and render surfaces. More...
 
enum  PolygonMode { PM_POINTS = 1 , PM_WIREFRAME = 2 , PM_SOLID = 3 }
 The polygon mode to use when rasterising. More...
 
enum  PrePassMode { PrePassNone , PrePassCreate , PrePassUse }
 
enum  ProfileGroupMask {
  OGREPROF_USER_DEFAULT = 0x00000001 , OGREPROF_ALL = 0xFF000000 , OGREPROF_GENERAL = 0x80000000 , OGREPROF_CULLING = 0x40000000 ,
  OGREPROF_RENDERING = 0x20000000
}
 List of reserved profiling masks. More...
 
enum  ProjectionType { PT_ORTHOGRAPHIC , PT_PERSPECTIVE }
 Specifies perspective (realistic) or orthographic (architectural) projection. More...
 
enum  PropertyType {
  PROP_SHORT = 0 , PROP_UNSIGNED_SHORT = 1 , PROP_INT = 2 , PROP_UNSIGNED_INT = 3 ,
  PROP_LONG = 4 , PROP_UNSIGNED_LONG = 5 , PROP_REAL = 6 , PROP_STRING = 7 ,
  PROP_VECTOR2 = 8 , PROP_VECTOR3 = 9 , PROP_VECTOR4 = 10 , PROP_COLOUR = 11 ,
  PROP_BOOL = 12 , PROP_QUATERNION = 13 , PROP_MATRIX3 = 14 , PROP_MATRIX4 = 15 ,
  PROP_UNKNOWN = 999
}
 The type of a property. More...
 
enum  SceneBlendFactor {
  SBF_ONE , SBF_ZERO , SBF_DEST_COLOUR , SBF_SOURCE_COLOUR ,
  SBF_ONE_MINUS_DEST_COLOUR , SBF_ONE_MINUS_SOURCE_COLOUR , SBF_DEST_ALPHA , SBF_SOURCE_ALPHA ,
  SBF_ONE_MINUS_DEST_ALPHA , SBF_ONE_MINUS_SOURCE_ALPHA
}
 Blending factors for manually blending objects with the scene. More...
 
enum  SceneBlendOperation {
  SBO_ADD , SBO_SUBTRACT , SBO_REVERSE_SUBTRACT , SBO_MIN ,
  SBO_MAX
}
 Blending operations controls how objects are blended into the scene. More...
 
enum  SceneBlendType {
  SBT_TRANSPARENT_ALPHA , SBT_TRANSPARENT_COLOUR , SBT_ADD , SBT_MODULATE ,
  SBT_REPLACE
}
 Types of blending that you can specify between an object and the existing contents of the scene. More...
 
enum  SceneMemoryMgrTypes { SCENE_DYNAMIC = 0 , SCENE_STATIC , NUM_SCENE_MEMORY_MANAGER_TYPES }
 The types of NodeMemoryManager & ObjectMemoryManagers. More...
 
enum  SceneType {
  ST_GENERIC = 1 , ST_EXTERIOR_CLOSE = 2 , ST_EXTERIOR_FAR = 4 , ST_EXTERIOR_REAL_FAR = 8 ,
  ST_INTERIOR = 16
}
 Classification of a scene to allow a decision of what type of SceenManager to provide back to the application. More...
 
enum  ShadeOptions { SO_FLAT , SO_GOURAUD , SO_PHONG }
 Light shading modes. More...
 
enum  ShaderSyntax { GLSL , HLSL }
 
enum  ShaderType {
  VertexShader , PixelShader , GeometryShader , HullShader ,
  DomainShader , NumShaderTypes
}
 
enum  ShadowMapTechniques { SHADOWMAP_UNIFORM , SHADOWMAP_PLANEOPTIMAL , SHADOWMAP_FOCUSED , SHADOWMAP_PSSM }
 
enum  ShadowNodeRecalculation { SHADOW_NODE_RECALCULATE , SHADOW_NODE_REUSE , SHADOW_NODE_FIRST_ONLY , SHADOW_NODE_CASTER_PASS }
 
enum  SkeletonChunkID {
  SKELETON_HEADER = 0x1000 , SKELETON_BLENDMODE = 0x1010 , SKELETON_BONE = 0x2000 , SKELETON_BONE_PARENT = 0x3000 ,
  SKELETON_ANIMATION = 0x4000 , SKELETON_ANIMATION_BASEINFO = 0x4010 , SKELETON_ANIMATION_TRACK = 0x4100 , SKELETON_ANIMATION_TRACK_KEYFRAME = 0x4110 ,
  SKELETON_ANIMATION_LINK = 0x5000
}
 Definition of the OGRE .skeleton file format. More...
 
enum  SortMode { SM_DIRECTION , SM_DISTANCE }
 Sort mode for billboard-set and particle-system. More...
 
enum  StagingStallType { STALL_NONE , STALL_PARTIAL , STALL_FULL , NUM_STALL_TYPES }
 
enum  StencilOperation {
  SOP_KEEP , SOP_ZERO , SOP_REPLACE , SOP_INCREMENT ,
  SOP_DECREMENT , SOP_INCREMENT_WRAP , SOP_DECREMENT_WRAP , SOP_INVERT
}
 Enum describing the various actions which can be taken on the stencil buffer. More...
 
enum  StereoModeType { SMT_NONE = 0x0 , SMT_FRAME_SEQUENTIAL }
 Defines the stereo mode types. More...
 
enum  TexCoordCalcMethod {
  TEXCALC_NONE , TEXCALC_ENVIRONMENT_MAP , TEXCALC_ENVIRONMENT_MAP_PLANAR , TEXCALC_ENVIRONMENT_MAP_REFLECTION ,
  TEXCALC_ENVIRONMENT_MAP_NORMAL , TEXCALC_PROJECTIVE_TEXTURE
}
 Enum describing the ways to generate texture coordinates. More...
 
enum  TextureAddressingMode {
  TAM_WRAP , TAM_MIRROR , TAM_CLAMP , TAM_BORDER ,
  TAM_UNKNOWN = 99
}
 
enum  TextureFilterOptions { TFO_NONE , TFO_BILINEAR , TFO_TRILINEAR , TFO_ANISOTROPIC }
 High-level filtering options providing shortcuts to settings the minification, magnification and mip filters. More...
 
enum  TrackVertexColourEnum {
  TVC_NONE = 0x0 , TVC_AMBIENT = 0x1 , TVC_DIFFUSE = 0x2 , TVC_SPECULAR = 0x4 ,
  TVC_EMISSIVE = 0x8
}
 
enum  UnlitBlendModes {
  UNLIT_BLEND_NORMAL_NON_PREMUL , UNLIT_BLEND_NORMAL_PREMUL , UNLIT_BLEND_ADD , UNLIT_BLEND_SUBTRACT ,
  UNLIT_BLEND_MULTIPLY , UNLIT_BLEND_MULTIPLY2X , UNLIT_BLEND_SCREEN , UNLIT_BLEND_OVERLAY ,
  UNLIT_BLEND_LIGHTEN , UNLIT_BLEND_DARKEN , UNLIT_BLEND_GRAIN_EXTRACT , UNLIT_BLEND_GRAIN_MERGE ,
  UNLIT_BLEND_DIFFERENCE , NUM_UNLIT_BLEND_MODES
}
 
enum  UnlitTextureTypes { NUM_UNLIT_TEXTURE_TYPES = 16 }
 
enum  UnmapOptions { UO_UNMAP_ALL , UO_KEEP_PERSISTENT }
 
enum  VertexElementSemantic {
  VES_POSITION = 1 , VES_BLEND_WEIGHTS = 2 , VES_BLEND_INDICES = 3 , VES_NORMAL = 4 ,
  VES_DIFFUSE = 5 , OGRE_DEPRECATED_ENUM_VER =( 4 ) = 6 , VES_TEXTURE_COORDINATES = 7 , VES_BINORMAL = 8 ,
  VES_TANGENT = 9 , VES_BLEND_WEIGHTS2 = 10 , VES_BLEND_INDICES2 = 11 , VES_COUNT = 11
}
 Vertex element semantics, used to identify the meaning of vertex buffer contents. More...
 
enum  VertexElementType {
  VET_FLOAT1 = 0 , VET_FLOAT2 = 1 , VET_FLOAT3 = 2 , VET_FLOAT4 = 3 ,
  VET_COLOUR = 4 , VET_SHORT2 = 6 , VET_SHORT4 = 8 , VET_UBYTE4 = 9 ,
  VET_COLOUR_ARGB = 10 , VET_COLOUR_ABGR = 11 , VET_DOUBLE1 = 12 , VET_DOUBLE2 = 13 ,
  VET_DOUBLE3 = 14 , VET_DOUBLE4 = 15 , VET_USHORT1_DEPRECATED = 16 , VET_USHORT2 = 17 ,
  VET_USHORT3_DEPRECATED = 18 , VET_USHORT4 = 19 , VET_INT1 = 20 , VET_INT2 = 21 ,
  VET_INT3 = 22 , VET_INT4 = 23 , VET_UINT1 = 24 , VET_UINT2 = 25 ,
  VET_UINT3 = 26 , VET_UINT4 = 27 , VET_BYTE4 = 28 , VET_BYTE4_SNORM = 29 ,
  VET_UBYTE4_NORM = 30 , VET_SHORT2_SNORM = 31 , VET_SHORT4_SNORM = 32 , VET_USHORT2_NORM = 33 ,
  VET_USHORT4_NORM = 34 , VET_HALF2 = 35 , VET_HALF4 = 36
}
 Vertex element type, used to identify the base types of the vertex contents Note that all attributes must be aligned to 4 bytes, that's why VET_SHORT1 (among others) doesn't exist. More...
 
enum  VertexPass { VpNormal , VpShadow , NumVertexPass }
 
enum  WaveformType {
  WFT_SINE , WFT_TRIANGLE , WFT_SQUARE , WFT_SAWTOOTH ,
  WFT_INVERSE_SAWTOOTH , WFT_PWM
}
 Enumerates the wave types usable with the Ogre engine. More...
 

Functions

template<class T >
static FORCEINLINE void advanceRawPointer (const T *&ptr, ptrdiff_t offset)
 Advance the pointer with raw offset. More...
 
template<class T >
static FORCEINLINE void advanceRawPointer (T *&ptr, ptrdiff_t offset)
 
template<class T >
static FORCEINLINE void advanceRawPointer (T *&ptr, size_t offset)
 
VkDeviceSize alignMemory (size_t offset, const VkDeviceSize alignment)
 
template<typename T >
alignToNextMultiple (T offset, T alignment)
 Aligns the input 'offset' to the next multiple of 'alignment'. More...
 
size_t alignToPreviousMult (size_t offset, size_t alignment)
 This function has been purposedly not been named 'alignToPrevMultiple' to avoid easily confusing it with alignToNextMultiple. More...
 
template<typename ValueType >
ValueType * any_cast (Any *operand)
 
template<typename ValueType >
ValueType any_cast (const Any &operand)
 
template<typename ValueType >
const ValueType * any_cast (const Any *operand)
 
void cleanerArrayAabb (char *dstPtr, size_t indexDst, char *srcPtr, size_t indexSrc, size_t numSlots, size_t numFreeSlots, size_t elementsMemSize)
 
void cleanerArrayQuaternion (char *dstPtr, size_t indexDst, char *srcPtr, size_t indexSrc, size_t numSlots, size_t numFreeSlots, size_t elementsMemSize)
 
void cleanerArrayVector3Unit (char *dstPtr, size_t indexDst, char *srcPtr, size_t indexSrc, size_t numSlots, size_t numFreeSlots, size_t elementsMemSize)
 
void cleanerArrayVector3Zero (char *dstPtr, size_t indexDst, char *srcPtr, size_t indexSrc, size_t numSlots, size_t numFreeSlots, size_t elementsMemSize)
 
void cleanerFlat (char *dstPtr, size_t indexDst, char *srcPtr, size_t indexSrc, size_t numSlots, size_t numFreeSlots, size_t elementsMemSize)
 
template<typename T >
T * constructN (T *basePtr, size_t count)
 Utility function for constructing an array of objects with placement new, without using new[] (which allocates an undocumented amount of extra memory and so isn't appropriate for custom allocators). More...
 
void delayed_vkDestroyBufferView (VaoManager *vaoMgr, VkDevice device, VkBufferView bufferView, VkAllocationCallbacks const *pAllocator)
 
void delayed_vkDestroyFramebuffer (VaoManager *vaoMgr, VkDevice device, VkFramebuffer framebuffer, VkAllocationCallbacks const *pAllocator)
 
void delayed_vkDestroyImage (VaoManager *vaoMgr, VkDevice device, VkImage image, VkAllocationCallbacks const *pAllocator)
 
void delayed_vkDestroyImageView (VaoManager *vaoMgr, VkDevice device, VkImageView pView, VkAllocationCallbacks const *pAllocator)
 
void delayed_vkDestroyPipeline (VaoManager *vaoMgr, VkDevice device, VkPipeline pipeline, VkAllocationCallbacks const *pAllocator)
 
void delayed_vkDestroyRenderPass (VaoManager *vaoMgr, VkDevice device, VkRenderPass renderPass, VkAllocationCallbacks const *pAllocator)
 
void delayed_vkDestroySampler (VaoManager *vaoMgr, VkDevice device, VkSampler sampler, VkAllocationCallbacks const *pAllocator)
 
void delayed_vkDestroyShaderModule (VaoManager *vaoMgr, VkDevice device, VkShaderModule shaderModule, VkAllocationCallbacks const *pAllocator)
 
template<typename T >
T::iterator efficientVectorRemove (T &container, typename T::iterator &iterator)
 Used for efficient removal in std::vector and std::deque (like an std::list) However it assumes the order of elements in container is not important or something external to the container holds the index of an element in it (but still should be kept deterministically across machines) Basically it swaps the iterator with the last iterator, and pops back Returns the next iterator. More...
 
uint32 FastHash (const char *data, int len, uint32 hashSoFar=0)
 Fast general hashing algorithm. More...
 
const FileSystemPathfileSystemPathFromString (const String &path)
 
const StringfileSystemPathToString (const FileSystemPath &path)
 
int _OgreExport findCommandLineOpts (int numargs, char **argv, UnaryOptionList &unaryOptList, BinaryOptionList &binOptList)
 Locate command-line options of the unary form '-blah' and of the binary form '-blah foo', passing back the index of the next non-option. More...
 
uint32_t findMemoryType (VkPhysicalDeviceMemoryProperties &memProperties, uint32_t typeFilter, VkMemoryPropertyFlags properties)
 
PixelFormatGpu findSupportedFormat (VkPhysicalDevice physicalDevice, const FastArray< PixelFormatGpu > &candidates, VkImageTiling tiling, VkFormatFeatureFlags features)
 
FORCEINLINE AbiCookie generateAbiCookie ()
 generateAbiCookie Generates a cookie containing all (or most) relevant settings that determine ABI compatibility between a library and an application More...
 
GL3PlusSupportgetGLSupport ()
 
int getNumVulkanSupports ()
 
String getSpirvReflectError (SpvReflectResult spirvReflectResult)
 
VulkanSupportgetVulkanSupport (int i)
 
template<typename T >
uint32 HashCombine (uint32 hashSoFar, const T &data)
 Combine hashes with same style as boost::hash_combine. More...
 
void initUtils (VkDevice device)
 
bool IsWindows10OrGreater ()
 
bool IsWindows10RS3OrGreater ()
 
bool IsWindows8OrGreater ()
 
bool IsWindows8Point1OrGreater ()
 
bool IsWorkingUnderNsight ()
 
String logObjectInfo (const String &msg, const GLuint obj)
 If there is a message in GL info log then post it in the Ogre Log. More...
 
template<typename T >
void makeVkStruct (T &inOutStruct, VkStructureType structType)
 
void ogreGlObjectLabel (GLenum identifier, GLuint name, const String &label)
 
void ogreGlObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
 
template<class T >
bool operator!= (const ComPtr< T > &a, const ComPtr< T > &b) ASSUME_NOEXCEPT
 
template<typename T , typename P , typename OtherAllocator >
bool operator!= (STLAllocator< T, P > const &, OtherAllocator const &)
 determine equality, can memory from another allocator be released by this allocator, (ISO C++) More...
 
template<typename T , typename T2 , typename P >
bool operator!= (STLAllocator< T, P > const &, STLAllocator< T2, P > const &)
 determine equality, can memory from another allocator be released by this allocator, (ISO C++) More...
 
Vector4 operator* (const Vector4 &v, const Matrix4 &mat)
 
Degree operator* (Real a, const Degree &b)
 
Radian operator* (Real a, const Radian &b)
 
Degree operator/ (Real a, const Degree &b)
 
Radian operator/ (Real a, const Radian &b)
 
template<class T >
bool operator< (const ComPtr< T > &a, const ComPtr< T > &b) ASSUME_NOEXCEPT
 
bool operator< (const VertexBoneAssignment &_l, uint32 _vertexIndex)
 
bool operator< (const VulkanSingleSetLayoutDesc &a, const VulkanSingleSetLayoutDesc &b)
 
bool operator< (uint32 _vertexIndex, const VertexBoneAssignment &_r)
 
template<class T >
bool operator<= (const ComPtr< T > &a, const ComPtr< T > &b) ASSUME_NOEXCEPT
 
template<class T >
bool operator== (const ComPtr< T > &a, const ComPtr< T > &b) ASSUME_NOEXCEPT
 
template<typename T , typename P , typename OtherAllocator >
bool operator== (STLAllocator< T, P > const &, OtherAllocator const &)
 determine equality, can memory from another allocator be released by this allocator, (ISO C++) More...
 
template<typename T , typename T2 , typename P >
bool operator== (STLAllocator< T, P > const &, STLAllocator< T2, P > const &)
 determine equality, can memory from another allocator be released by this allocator, (ISO C++) More...
 
template<class T >
bool operator> (const ComPtr< T > &a, const ComPtr< T > &b) ASSUME_NOEXCEPT
 
template<class T >
bool operator>= (const ComPtr< T > &a, const ComPtr< T > &b) ASSUME_NOEXCEPT
 
bool OrderCacheByHash (const HlmsCache *_left, const HlmsCache *_right)
 
bool OrderConstBufferPoolUserByPoolThenSlot (const ConstBufferPoolUser *_l, const ConstBufferPoolUser *_r)
 
bool OrderParamVecByKey (const std::pair< IdString, String > &_left, const std::pair< IdString, String > &_right)
 
bool OrderPropertyByIdString (const HlmsProperty &_left, const HlmsProperty &_right)
 
bool OrderSkeletonInstanceByMemory (const SkeletonInstance *_left, const SkeletonInstance *_right)
 
template<class T >
static FORCEINLINE const T * rawOffsetPointer (const T *ptr, ptrdiff_t offset)
 Returns raw offseted of the given pointer. More...
 
template<class T >
static FORCEINLINE const T * rawOffsetPointer (const T *ptr, size_t offset)
 
template<class T >
static FORCEINLINE T * rawOffsetPointer (T *ptr, ptrdiff_t offset)
 
template<class T >
static FORCEINLINE T * rawOffsetPointer (T *ptr, size_t offset)
 
template<class C >
void removeDuplicates (C &c)
 
void setAlignMemoryCoherentAtom (VkMappedMemoryRange &outMemRange, const size_t offset, const size_t sizeBytes, const VkDeviceSize alignment)
 
void setObjectName (VkDevice device, uint64_t object, VkDebugReportObjectTypeEXT objectType, const char *name)
 
template<class T >
void swap (ComPtr< T > &a, ComPtr< T > &b)
 
bool _OgreExport testAbiCookie (const AbiCookie appCookie, bool bAbortOnError=true)
 testAbiCookie Tests the given clientCookie (generated by generateAbiCookie) against a cookie generated in the library. More...
 
uint32 toVkDescriptorType (DescBindingTypes::DescBindingTypes type)
 
String translateWGLError ()
 
String vkResultToString (VkResult result)
 

Variables

const String BLANKSTRING
 Constant blank string, useful for returning by ref where local does not exist. More...
 
static const uint8 c_allGraphicStagesMask
 
static const uint8 c_computeStageMask = 1u << NumShaderTypes
 
const FilterKernel c_filterKernels [3]
 
const FilterSeparableKernel c_filterSeparableKernels [1]
 
static const size_t c_ForwardPlusNumFloat4PerCubemapProbe = 8u
 
static const size_t c_ForwardPlusNumFloat4PerDecal = 4u
 
static const size_t c_ForwardPlusNumFloat4PerLight = 6u
 
static const uint32 c_srcValidAccessFlags
 
const char * CompositorPassTypeEnumNames [PASS_CUSTOM+1u]
 
ImageDownsampler2D downscale2x_A8
 
ImageDownsamplerCube downscale2x_A8_cube
 
ImageDownsampler2D downscale2x_Float32_A
 
ImageDownsamplerCube downscale2x_Float32_A_cube
 
ImageDownsampler2D downscale2x_Float32_X
 
ImageDownsamplerCube downscale2x_Float32_X_cube
 
ImageDownsampler2D downscale2x_Float32_XA
 
ImageDownsamplerCube downscale2x_Float32_XA_cube
 
ImageDownsampler2D downscale2x_Float32_XX
 
ImageDownsamplerCube downscale2x_Float32_XX_cube
 
ImageDownsampler2D downscale2x_Float32_XXX
 
ImageDownsamplerCube downscale2x_Float32_XXX_cube
 
ImageDownsampler2D downscale2x_Float32_XXXA
 
ImageDownsamplerCube downscale2x_Float32_XXXA_cube
 
ImageDownsampler2D downscale2x_Signed_A8
 
ImageDownsamplerCube downscale2x_Signed_A8_cube
 
ImageDownsampler2D downscale2x_Signed_X8
 
ImageDownsamplerCube downscale2x_Signed_X8_cube
 
ImageDownsampler2D downscale2x_Signed_XA88
 
ImageDownsamplerCube downscale2x_Signed_XA88_cube
 
ImageDownsampler2D downscale2x_Signed_XX88
 
ImageDownsamplerCube downscale2x_Signed_XX88_cube
 
ImageDownsampler2D downscale2x_Signed_XXX888
 
ImageDownsamplerCube downscale2x_Signed_XXX888_cube
 
ImageDownsampler2D downscale2x_Signed_XXXA8888
 
ImageDownsamplerCube downscale2x_Signed_XXXA8888_cube
 
ImageDownsampler2D downscale2x_sRGB_A8
 
ImageDownsamplerCube downscale2x_sRGB_A8_cube
 
ImageDownsampler2D downscale2x_sRGB_AX88
 
ImageDownsamplerCube downscale2x_sRGB_AX88_cube
 
ImageDownsampler2D downscale2x_sRGB_AXXX8888
 
ImageDownsamplerCube downscale2x_sRGB_AXXX8888_cube
 
ImageDownsampler2D downscale2x_sRGB_X8
 
ImageDownsamplerCube downscale2x_sRGB_X8_cube
 
ImageDownsampler2D downscale2x_sRGB_XA88
 
ImageDownsamplerCube downscale2x_sRGB_XA88_cube
 
ImageDownsampler2D downscale2x_sRGB_XX88
 
ImageDownsamplerCube downscale2x_sRGB_XX88_cube
 
ImageDownsampler2D downscale2x_sRGB_XXX888
 
ImageDownsamplerCube downscale2x_sRGB_XXX888_cube
 
ImageDownsampler2D downscale2x_sRGB_XXXA8888
 
ImageDownsamplerCube downscale2x_sRGB_XXXA8888_cube
 
ImageDownsampler2D downscale2x_X8
 
ImageDownsamplerCube downscale2x_X8_cube
 
ImageDownsampler2D downscale2x_XA88
 
ImageDownsamplerCube downscale2x_XA88_cube
 
ImageDownsampler2D downscale2x_XX88
 
ImageDownsamplerCube downscale2x_XX88_cube
 
ImageDownsampler2D downscale2x_XXX888
 
ImageDownsamplerCube downscale2x_XXX888_cube
 
ImageDownsampler2D downscale2x_XXXA8888
 
ImageDownsamplerCube downscale2x_XXXA8888_cube
 
ImageDownsampler3D downscale3D2x_A8
 
ImageDownsampler3D downscale3D2x_Float32_A
 
ImageDownsampler3D downscale3D2x_Float32_X
 
ImageDownsampler3D downscale3D2x_Float32_XA
 
ImageDownsampler3D downscale3D2x_Float32_XX
 
ImageDownsampler3D downscale3D2x_Float32_XXX
 
ImageDownsampler3D downscale3D2x_Float32_XXXA
 
ImageDownsampler3D downscale3D2x_Signed_A8
 
ImageDownsampler3D downscale3D2x_Signed_X8
 
ImageDownsampler3D downscale3D2x_Signed_XA88
 
ImageDownsampler3D downscale3D2x_Signed_XX88
 
ImageDownsampler3D downscale3D2x_Signed_XXX888
 
ImageDownsampler3D downscale3D2x_Signed_XXXA8888
 
ImageDownsampler3D downscale3D2x_sRGB_A8
 
ImageDownsampler3D downscale3D2x_sRGB_AX88
 
ImageDownsampler3D downscale3D2x_sRGB_AXXX8888
 
ImageDownsampler3D downscale3D2x_sRGB_X8
 
ImageDownsampler3D downscale3D2x_sRGB_XA88
 
ImageDownsampler3D downscale3D2x_sRGB_XX88
 
ImageDownsampler3D downscale3D2x_sRGB_XXX888
 
ImageDownsampler3D downscale3D2x_sRGB_XXXA8888
 
ImageDownsampler3D downscale3D2x_X8
 
ImageDownsampler3D downscale3D2x_XA88
 
ImageDownsampler3D downscale3D2x_XX88
 
ImageDownsampler3D downscale3D2x_XXX888
 
ImageDownsampler3D downscale3D2x_XXXA8888
 
static constexpr uint8 kParticleSystemDefaultRenderQueueId = 15u
 
static unsigned int modeCount = 0
 
ImageBlur2D separableBlur_A8
 
ImageBlur2D separableBlur_Float32_A
 
ImageBlur2D separableBlur_Float32_X
 
ImageBlur2D separableBlur_Float32_XA
 
ImageBlur2D separableBlur_Float32_XX
 
ImageBlur2D separableBlur_Float32_XXX
 
ImageBlur2D separableBlur_Float32_XXXA
 
ImageBlur2D separableBlur_Signed_A8
 
ImageBlur2D separableBlur_Signed_X8
 
ImageBlur2D separableBlur_Signed_XA88
 
ImageBlur2D separableBlur_Signed_XX88
 
ImageBlur2D separableBlur_Signed_XXX888
 
ImageBlur2D separableBlur_Signed_XXXA8888
 
ImageBlur2D separableBlur_sRGB_A8
 
ImageBlur2D separableBlur_sRGB_AX88
 
ImageBlur2D separableBlur_sRGB_AXXX8888
 
ImageBlur2D separableBlur_sRGB_X8
 
ImageBlur2D separableBlur_sRGB_XA88
 
ImageBlur2D separableBlur_sRGB_XX88
 
ImageBlur2D separableBlur_sRGB_XXX888
 
ImageBlur2D separableBlur_sRGB_XXXA8888
 
ImageBlur2D separableBlur_X8
 
ImageBlur2D separableBlur_XA88
 
ImageBlur2D separableBlur_XX88
 
ImageBlur2D separableBlur_XXX888
 
ImageBlur2D separableBlur_XXXA8888
 
const SPFMDeleteT SPFM_DELETE_T
 
PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB
 

Detailed Description

bswapNN may be defined as macros in <sys/endian.h> or <sys/bswap.h>


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

Copyright (c) 2000-2014 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.


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

Copyright (c) 2000-2014 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.

Typedef Documentation

◆ _StringBase

typedef std::string Ogre::_StringBase

◆ _StringStreamBase

typedef std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > Ogre::_StringStreamBase

◆ ActiveAnimationsVec

◆ AllocPolicy

typedef StdAllocPolicy Ogre::AllocPolicy

◆ AnimableValuePtr

◆ ArrayInt

◆ ArrayMaskI

typedef bool Ogre::ArrayMaskI

◆ ArrayMaskR

typedef bool Ogre::ArrayMaskR

◆ ArrayRadian

◆ ArrayReal

◆ ArrayToS16

To store the result of ToSnorm16, can be consumed by extractS16.

◆ ArrayToS8

To store the result of ToSnorm8, can be consumed by extractS8.

◆ AsyncTicketPtr

◆ BonesPerSkeletonInstance

◆ BoneVec

typedef vector<Bone *>::type Ogre::BoneVec

◆ BufferPackedSet

◆ BufferPackedVec

◆ CompositorNodeVec

typedef vector<CompositorNode *>::type Ogre::CompositorNodeVec

◆ CompositorPassVec

typedef vector<CompositorPass *>::type Ogre::CompositorPassVec

◆ CompositorShadowNodeVec

◆ CompositorWorkspaceListenerVec

◆ CubemapProbeVec

typedef vector<CubemapProbe *>::type Ogre::CubemapProbeVec

◆ D3D11HLSLProgramPtr

◆ DataStreamPtr

◆ FileSystemPath

Some machinery to properly handle Unicode filesystem pathes.

It is designed to be later replaced by typedef std::filesystem::path FileSystemPath; FileSystemPath is always internally Unicode and is intended to be passed to the same std::[iof]stream constructors and methods that accepts std::filesystem::path in C++17. Note: Narrow strings are interpreted as UTF-8 on most platforms, but on Windows interpretation in both this machinery and FileSystemArchive is controlled by internal define _OGRE_FILESYSTEM_ARCHIVE_UNICODE, and could be CP_UTF8, CP_ACP or even CP_OEMCP.

◆ FontPtr

◆ FrustumVec

typedef vector<Frustum *>::type Ogre::FrustumVec

◆ GLES2TexturePtr

◆ GLSLShaderPtr

◆ GLUniformBufferIterator

typedef GLUniformBufferList::iterator Ogre::GLUniformBufferIterator

◆ GLUniformBufferList

typedef vector<v1::HardwareUniformBufferSharedPtr>::type Ogre::GLUniformBufferList

◆ GLUniformReferenceIterator

typedef GLUniformReferenceList::iterator Ogre::GLUniformReferenceIterator

◆ GLUniformReferenceList

◆ GpuLogicalBufferStructPtr

◆ GpuNamedConstantsPtr

◆ GpuProgramParametersSharedPtr

◆ GpuProgramPtr

◆ GpuSharedParametersPtr

◆ HighLevelGpuProgramPtr

◆ IdStringVec

◆ IdType

Big projects with lots, lots of units for very long periods of time (MMORPGs?) may want to define this to 64-bit.

◆ int16

typedef ::int16_t Ogre::int16

◆ int32

typedef ::int32_t Ogre::int32

◆ int64

typedef ::int64_t Ogre::int64

◆ int8

typedef ::int8_t Ogre::int8

◆ KeyFrameRigVec

typedef vector<KeyFrameRig>::type Ogre::KeyFrameRigVec

◆ KnownKeyFramesVec

typedef vector<KeyFrameRigVec::const_iterator>::type Ogre::KnownKeyFramesVec

◆ LodCollapseCostPtr

◆ LodCollapserPtr

◆ LodDataPtr

◆ LodInputProviderPtr

◆ LodOutputProviderPtr

◆ LodProfile

typedef vector<ProfiledEdge>::type Ogre::LodProfile

◆ MaterialPtr

◆ Mathlib

◆ MemoryDataStreamPtr

◆ MemoryPoolVec

typedef vector<char *>::type Ogre::MemoryPoolVec

◆ MeshPtr

◆ MetalDiscardBufferVec

◆ MicroCode

typedef vector<byte>::type Ogre::MicroCode

◆ OgreAllocatedObj

typedef AllocatedObject<StdAllocPolicy> Ogre::OgreAllocatedObj

◆ OverlayUnlitDatablock

typedef HlmsUnlitMobileDatablock Ogre::OverlayUnlitDatablock

◆ PageAlloc

typedef GeneralAllocatedObject Ogre::PageAlloc

◆ PageID

Identifier for a page.

◆ PropertyAlloc

typedef GeneralAllocatedObject Ogre::PropertyAlloc

◆ Real

typedef float Ogre::Real

Software floating point type.

Note
Not valid as a pointer to GPU buffers / parameters

◆ RealAsUint

◆ ResourceHandle

typedef unsigned long long int Ogre::ResourceHandle

◆ ResourcePtr

◆ ShadowCameraSetupPtr

◆ SharedVertexBufferMap

When cloning Vaos, some vertex buffers are used multiple times for LOD'ing purposes (only the IndexBuffer changes).

This maps an old VertexBuffer to a new VertexBuffer to know when to reuse an existing one while cloning.

◆ SkeletonAnimationDefVec

◆ SkeletonAnimationVec

◆ SkeletonDefPtr

◆ SkeletonTrackVec

typedef vector<SkeletonTrack>::type Ogre::SkeletonTrackVec

◆ StagingBufferVec

typedef vector<StagingBuffer *>::type Ogre::StagingBufferVec

◆ String

◆ StringStream

◆ stringstream

◆ THREAD_ENTRY_POINT

typedef void* OGRE_THREAD_CALL_CONVENTION* Ogre::THREAD_ENTRY_POINT(void *lpThreadParameter)

◆ ThreadHandlePtr

◆ ThreadHandleVec

◆ TlsHandle

typedef pthread_key_t Ogre::TlsHandle

◆ TransformArray

◆ uchar

typedef unsigned char Ogre::uchar

In order to avoid finger-aches :)

◆ uint

typedef unsigned int Ogre::uint

◆ uint16

typedef ::uint16_t Ogre::uint16

◆ uint32

typedef ::uint32_t Ogre::uint32

◆ uint64

typedef ::uint64_t Ogre::uint64

◆ uint8

typedef ::uint8_t Ogre::uint8

◆ ulong

typedef unsigned long Ogre::ulong

◆ ushort

typedef unsigned short Ogre::ushort

◆ VertexArrayObjectArray

◆ VertexArrayObjectSet

typedef unordered_set<VertexArrayObject *>::type Ogre::VertexArrayObjectSet

◆ VertexBufferPackedVec

◆ VertexElement2Vec

typedef vector<VertexElement2>::type Ogre::VertexElement2Vec

◆ VertexElement2VecVec

◆ VertexElementSemanticFullArray

◆ VkFenceArray

typedef FastArray<VkFence> Ogre::VkFenceArray

◆ VkSemaphoreArray

typedef FastArray<VkSemaphore> Ogre::VkSemaphoreArray

◆ VulkanDiscardBufferVec

◆ VulkanSingleSetLayoutDesc

typedef FastArray<VkDescriptorSetLayoutBinding> Ogre::VulkanSingleSetLayoutDesc

Enumeration Type Documentation

◆ BufferBindFlags

Enumerator
BB_FLAG_VERTEX 
BB_FLAG_INDEX 
BB_FLAG_CONST 
BB_FLAG_TEX 
BB_FLAG_READONLY 
BB_FLAG_UAV 
BB_FLAG_INDIRECT 

◆ BufferPackedTypes

Enumerator
BP_TYPE_VERTEX 
BP_TYPE_INDEX 
BP_TYPE_CONST 
BP_TYPE_TEX 
BP_TYPE_READONLY 
BP_TYPE_UAV 
BP_TYPE_INDIRECT 
NUM_BUFFER_PACKED_TYPES 

◆ BufferType

Enumerator
BT_IMMUTABLE 

Read access from GPU.

i.e. Textures, most meshes.

BT_DEFAULT 

Read and write access from GPU.

No access for CPU at all. i.e. RenderTextures, vertex buffers that will be used for R2VB

Remarks
Ogre will use staging buffers to upload and download contents, but don't do this frequently (except where needed, i.e. live video capture)
BT_DEFAULT_SHARED 

Read and write access from GPU/CPU.

Remarks
!!! SERIOUSLY DO NOT USE THIS FLAG UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING IT HAS VERY SPECIFIC USES AND USING IT CARELESSLY CAN CAUSE GLITCHES OR CRASHES.

THIS FLAG ASSUMSE YOU ARE FAMILIAR WITH HOW OGRE-NEXT WORKS INTERNALLY AND HOW GPUs AND APIs WORK.

IF YOU DON'T KNOW WHAT THIS FLAG IS, USE BT_IMMUTABLE OR BT_DEFAULT. !!!

This functionality was written for UMA (Unified Memory Architecture), like the iPhone and most Android phones; and a few desktop iGPUs.

Its main implementation purpose is to be able to access vertex & index buffers from meshes (which are either BT_IMMUTABLE or BT_DEFAULT and never modified again after the first upload).

The main advantage of this buffer type is that apps can read the (vertex/index) data from CPU without neither waiting nor needing a shadow copy (which wastes precious RAM on mobile).

There is no synchronization going on thus if you write to a BT_DEFAULT_SHARED buffer from GPU (e.g. BufferPacked::copyTo) you're going to have to manually wait for that transfer (using VaoManager::waitForSpecificFrameToFinish).

And if you're reading from GPU from that buffer (e.g. rendering), you're also going to have to manually wait for those reads (using VaoManager::waitForSpecificFrameToFinish) before writing to this buffer.

Ogre won't use any staging buffers to upload and download contents. It's fast on UMA and slow on other archs.

Theoretically better synchronization could be implemented on top of this buffer type to be multi-purpose, but it would complicate things.

Basically it's the perfect replacement for BT_IMMUTABLE if you want stall-free access to GPU data from within the CPU without consuming extra RAM.

See Capabilities::RSC_UMA to check support.

BT_DYNAMIC_DEFAULT 

Read access from GPU.

Write access for CPU. i.e. Particles, dynamic textures. Dynamic buffers don't put a hidden buffer behind the scenes. You get what you ask, therefore it's your responsability to ensure you don't lock a region that is currently in use by the GPU (or else stall).

BT_DYNAMIC_PERSISTENT 

Same as BT_DYNAMIC, but mapping will be persistent.

BT_DYNAMIC_PERSISTENT_COHERENT 

Same as BT_DYNAMIC_PERSISTENT, but mapping will be persistent and cache coherent.

◆ CbType

Enumerator
CB_INVALID 
CB_SET_VAO 
CB_SET_INDIRECT_BUFFER 
CB_DRAW_CALL_INDEXED_EMULATED_NO_BASE_INSTANCE 
CB_DRAW_CALL_INDEXED_EMULATED 
CB_DRAW_CALL_INDEXED 
CB_DRAW_CALL_STRIP_EMULATED_NO_BASE_INSTANCE 
CB_DRAW_CALL_STRIP_EMULATED 
CB_DRAW_CALL_STRIP 
CB_SET_CONSTANT_BUFFER_VS 
CB_SET_CONSTANT_BUFFER_PS 
CB_SET_CONSTANT_BUFFER_GS 
CB_SET_CONSTANT_BUFFER_HS 
CB_SET_CONSTANT_BUFFER_DS 
CB_SET_CONSTANT_BUFFER_CS 
CB_SET_CONSTANT_BUFFER_INVALID 
CB_SET_TEXTURE_BUFFER_VS 
CB_SET_TEXTURE_BUFFER_PS 
CB_SET_TEXTURE_BUFFER_GS 
CB_SET_TEXTURE_BUFFER_HS 
CB_SET_TEXTURE_BUFFER_DS 
CB_SET_TEXTURE_BUFFER_CS 
CB_SET_TEXTURE_BUFFER_INVALID 
CB_SET_READONLY_BUFFER_VS 
CB_SET_READONLY_BUFFER_PS 
CB_SET_READONLY_BUFFER_GS 
CB_SET_READONLY_BUFFER_HS 
CB_SET_READONLY_BUFFER_DS 
CB_SET_READONLY_BUFFER_CS 
CB_SET_READONLY_BUFFER_INVALID 
CB_SET_PSO 
CB_SET_TEXTURE 
CB_SET_TEXTURES 
CB_SET_SAMPLERS 
CB_START_V1_LEGACY_RENDERING 
CB_SET_V1_RENDER_OP 
CB_DRAW_V1_INDEXED_NO_BASE_INSTANCE 
CB_DRAW_V1_INDEXED 
CB_DRAW_V1_STRIP_NO_BASE_INSTANCE 
CB_DRAW_V1_STRIP 
CB_LOW_LEVEL_MATERIAL 
MAX_COMMAND_BUFFER 

◆ MappingState

Enumerator
MS_UNMAPPED 
MS_MAPPED 
NUM_MAPPING_STATE 

◆ MeshVersion

Mesh compatibility versions Naming convention: MeshSerializer_v2.1 R0 LEGACYV1.

  • "v2.1" means it was written during the development of Ogre 2.1
  • "R0" is the revision number. If we later add something new to the format while still developing Ogre 2.1; we will increase it to R1. Then R2, R3 and so on. This ensure we don't break compatibility with our users who are actively working with Ogre 2.1 the next time their pull from the repo. It would be a disaster if we broke compatibility. However we plan that the final version of Ogre 2.1 (when we officially release it) to remove compatibility with these temporary R0-Rn-1 formats and only leave RN as the final version. Users should be able to upgrade via OgreMeshTool before that happens. But forcing them to upgrade every single time we update something is insane.
  • LEGACYV1 means it's a v1 format, which can be opened by Entity. To open it via Item, you need to import the mesh to a v2 format (as shown in V2Mesh sample).
  • Lack of LEGACYV1 word means this is a v2 format, which can be opened by Item. To open via Entity, you need to import the mesh to a v1 format (OgreMeshTool shows how to do this; it's basically the reverse of importing a v1 into a v2)

See http://www.ogre3d.org/forums/viewtopic.php?f=25&t=85491&p=524682#p524682

Enumerator
MESH_VERSION_LATEST 

Latest version available.

MESH_VERSION_2_1 

OGRE version v2.0+.

MESH_VERSION_LEGACY 

◆ PbsBlendModes

Enumerator
PBSM_BLEND_NORMAL_NON_PREMUL 

Regular alpha blending.

PBSM_BLEND_NORMAL_PREMUL 

Premultiplied alpha blending.

PBSM_BLEND_ADD 
PBSM_BLEND_SUBTRACT 
PBSM_BLEND_MULTIPLY 
PBSM_BLEND_MULTIPLY2X 
PBSM_BLEND_SCREEN 
PBSM_BLEND_OVERLAY 
PBSM_BLEND_LIGHTEN 
PBSM_BLEND_DARKEN 
PBSM_BLEND_GRAIN_EXTRACT 
PBSM_BLEND_GRAIN_MERGE 
PBSM_BLEND_DIFFERENCE 
NUM_PBSM_BLEND_MODES 

◆ PbsTextureTypes

Enumerator
PBSM_DIFFUSE 
PBSM_NORMAL 
PBSM_SPECULAR 
PBSM_METALLIC 
PBSM_ROUGHNESS 
PBSM_DETAIL_WEIGHT 
PBSM_DETAIL0 
PBSM_DETAIL1 
PBSM_DETAIL2 
PBSM_DETAIL3 
PBSM_DETAIL0_NM 
PBSM_DETAIL1_NM 
PBSM_DETAIL2_NM 
PBSM_DETAIL3_NM 
PBSM_EMISSIVE 
PBSM_REFLECTION 
NUM_PBSM_SOURCES 
NUM_PBSM_TEXTURE_TYPES 

◆ ShaderSyntax

Enumerator
GLSL 
HLSL 

◆ StagingStallType

Enumerator
STALL_NONE 

Next map will not stall.

STALL_PARTIAL 

Next map call will cause a stall.

We can't predict how long, but on average should be small. You should consider doing something else then try again.

STALL_FULL 

The whole pipeline is brought to a stop.

We have to wait for the GPU to finish all operations issued so far. This can be very expensive. Grab a different StagingBuffer.

NUM_STALL_TYPES 

◆ UnlitBlendModes

Enumerator
UNLIT_BLEND_NORMAL_NON_PREMUL 

Regular alpha blending.

UNLIT_BLEND_NORMAL_PREMUL 

Premultiplied alpha blending.

UNLIT_BLEND_ADD 
UNLIT_BLEND_SUBTRACT 
UNLIT_BLEND_MULTIPLY 
UNLIT_BLEND_MULTIPLY2X 
UNLIT_BLEND_SCREEN 
UNLIT_BLEND_OVERLAY 
UNLIT_BLEND_LIGHTEN 
UNLIT_BLEND_DARKEN 
UNLIT_BLEND_GRAIN_EXTRACT 
UNLIT_BLEND_GRAIN_MERGE 
UNLIT_BLEND_DIFFERENCE 
NUM_UNLIT_BLEND_MODES 

◆ UnlitTextureTypes

Enumerator
NUM_UNLIT_TEXTURE_TYPES 

◆ UnmapOptions

Enumerator
UO_UNMAP_ALL 

Unmaps all types of mapping, including persistent buffers.

UO_KEEP_PERSISTENT 

When unmapping, unmap() will keep persistent buffers mapped.

Further calls to map will only do some error checking

◆ VertexElementSemantic

Vertex element semantics, used to identify the meaning of vertex buffer contents.

Enumerator
VES_POSITION 

Position, 3 reals per vertex.

VES_BLEND_WEIGHTS 

Blending weights.

VES_BLEND_INDICES 

Blending indices.

VES_NORMAL 

Normal, 3 reals per vertex.

VES_DIFFUSE 

Diffuse colours.

OGRE_DEPRECATED_ENUM_VER 

Specular colours.

    DEPRECATED. DO NOT USE. 
VES_TEXTURE_COORDINATES 

Texture coordinates.

You can have up to 8 of these. 6 if VES_BLEND_WEIGHTS2 or VES_BLEND_INDICES2 if present.

VES_BINORMAL 

Binormal (Y axis if normal is Z)

VES_TANGENT 

Tangent (X axis if normal is Z)

VES_BLEND_WEIGHTS2 

Second pair of blending weights (i.e. more than 4, less or equal than 8)

VES_BLEND_INDICES2 

Second pair of blending indices (i.e. more than 4, less or equal than 8)

VES_COUNT 

The number of VertexElementSemantic elements (note - the first value VES_POSITION is 1)

◆ VertexElementType

Vertex element type, used to identify the base types of the vertex contents Note that all attributes must be aligned to 4 bytes, that's why VET_SHORT1 (among others) doesn't exist.

Enumerator
VET_FLOAT1 
VET_FLOAT2 
VET_FLOAT3 
VET_FLOAT4 
VET_COLOUR 

alias to more specific colour type - use the current rendersystem's colour packing

VET_SHORT2 
VET_SHORT4 
VET_UBYTE4 
VET_COLOUR_ARGB 

D3D style compact colour.

VET_COLOUR_ABGR 

GL style compact colour.

VET_DOUBLE1 
VET_DOUBLE2 
VET_DOUBLE3 
VET_DOUBLE4 
VET_USHORT1_DEPRECATED 
VET_USHORT2 
VET_USHORT3_DEPRECATED 
VET_USHORT4 
VET_INT1 
VET_INT2 
VET_INT3 
VET_INT4 
VET_UINT1 
VET_UINT2 
VET_UINT3 
VET_UINT4 
VET_BYTE4 
VET_BYTE4_SNORM 
VET_UBYTE4_NORM 
VET_SHORT2_SNORM 
VET_SHORT4_SNORM 
VET_USHORT2_NORM 
VET_USHORT4_NORM 
VET_HALF2 
VET_HALF4 

Function Documentation

◆ alignMemory()

VkDeviceSize Ogre::alignMemory ( size_t  offset,
const VkDeviceSize  alignment 
)
inline

◆ alignToNextMultiple()

template<typename T >
T Ogre::alignToNextMultiple ( offset,
alignment 
)

Aligns the input 'offset' to the next multiple of 'alignment'.

Alignment can be any value except 0. Some examples:

alignToNextMultiple( 0, 4 ) = 0; alignToNextMultiple( 1, 4 ) = 4; alignToNextMultiple( 2, 4 ) = 4; alignToNextMultiple( 3, 4 ) = 4; alignToNextMultiple( 4, 4 ) = 4; alignToNextMultiple( 5, 4 ) = 8;

alignToNextMultiple( 0, 3 ) = 0; alignToNextMultiple( 1, 3 ) = 3;

◆ alignToPreviousMult()

size_t Ogre::alignToPreviousMult ( size_t  offset,
size_t  alignment 
)
inline

This function has been purposedly not been named 'alignToPrevMultiple' to avoid easily confusing it with alignToNextMultiple.

◆ delayed_vkDestroyBufferView()

void Ogre::delayed_vkDestroyBufferView ( VaoManager vaoMgr,
VkDevice  device,
VkBufferView  bufferView,
VkAllocationCallbacks const *  pAllocator 
)

◆ delayed_vkDestroyFramebuffer()

void Ogre::delayed_vkDestroyFramebuffer ( VaoManager vaoMgr,
VkDevice  device,
VkFramebuffer  framebuffer,
VkAllocationCallbacks const *  pAllocator 
)

◆ delayed_vkDestroyImage()

void Ogre::delayed_vkDestroyImage ( VaoManager vaoMgr,
VkDevice  device,
VkImage  image,
VkAllocationCallbacks const *  pAllocator 
)

◆ delayed_vkDestroyImageView()

void Ogre::delayed_vkDestroyImageView ( VaoManager vaoMgr,
VkDevice  device,
VkImageView  pView,
VkAllocationCallbacks const *  pAllocator 
)

◆ delayed_vkDestroyPipeline()

void Ogre::delayed_vkDestroyPipeline ( VaoManager vaoMgr,
VkDevice  device,
VkPipeline  pipeline,
VkAllocationCallbacks const *  pAllocator 
)

◆ delayed_vkDestroyRenderPass()

void Ogre::delayed_vkDestroyRenderPass ( VaoManager vaoMgr,
VkDevice  device,
VkRenderPass  renderPass,
VkAllocationCallbacks const *  pAllocator 
)

◆ delayed_vkDestroySampler()

void Ogre::delayed_vkDestroySampler ( VaoManager vaoMgr,
VkDevice  device,
VkSampler  sampler,
VkAllocationCallbacks const *  pAllocator 
)

◆ delayed_vkDestroyShaderModule()

void Ogre::delayed_vkDestroyShaderModule ( VaoManager vaoMgr,
VkDevice  device,
VkShaderModule  shaderModule,
VkAllocationCallbacks const *  pAllocator 
)

◆ efficientVectorRemove()

template<typename T >
T::iterator Ogre::efficientVectorRemove ( T &  container,
typename T::iterator &  iterator 
)

Used for efficient removal in std::vector and std::deque (like an std::list) However it assumes the order of elements in container is not important or something external to the container holds the index of an element in it (but still should be kept deterministically across machines) Basically it swaps the iterator with the last iterator, and pops back Returns the next iterator.

◆ fileSystemPathFromString()

const FileSystemPath& Ogre::fileSystemPathFromString ( const String path)
inline

◆ fileSystemPathToString()

const String& Ogre::fileSystemPathToString ( const FileSystemPath path)
inline

◆ findMemoryType()

uint32_t Ogre::findMemoryType ( VkPhysicalDeviceMemoryProperties &  memProperties,
uint32_t  typeFilter,
VkMemoryPropertyFlags  properties 
)

◆ findSupportedFormat()

PixelFormatGpu Ogre::findSupportedFormat ( VkPhysicalDevice  physicalDevice,
const FastArray< PixelFormatGpu > &  candidates,
VkImageTiling  tiling,
VkFormatFeatureFlags  features 
)

◆ generateAbiCookie()

◆ getGLSupport()

GLES2Support * Ogre::getGLSupport ( )
inline

◆ getNumVulkanSupports()

int Ogre::getNumVulkanSupports ( )
inline

◆ getSpirvReflectError()

String Ogre::getSpirvReflectError ( SpvReflectResult  spirvReflectResult)

◆ getVulkanSupport()

VulkanSupport* Ogre::getVulkanSupport ( int  i)
inline

◆ initUtils()

void Ogre::initUtils ( VkDevice  device)

◆ IsWindows10OrGreater()

bool Ogre::IsWindows10OrGreater ( )
inline

◆ IsWindows10RS3OrGreater()

bool Ogre::IsWindows10RS3OrGreater ( )
inline

◆ IsWindows8OrGreater()

bool Ogre::IsWindows8OrGreater ( )
inline

◆ IsWindows8Point1OrGreater()

bool Ogre::IsWindows8Point1OrGreater ( )
inline

◆ IsWorkingUnderNsight()

bool Ogre::IsWorkingUnderNsight ( )

◆ logObjectInfo()

String Ogre::logObjectInfo ( const String msg,
const GLuint  obj 
)

If there is a message in GL info log then post it in the Ogre Log.

Parameters
msgThe info log message string is appended to this string
objThe GL object that is used to retrieve the info log

◆ makeVkStruct()

template<typename T >
void Ogre::makeVkStruct ( T &  inOutStruct,
VkStructureType  structType 
)

◆ ogreGlObjectLabel() [1/2]

void Ogre::ogreGlObjectLabel ( GLenum  identifier,
GLuint  name,
const String label 
)

◆ ogreGlObjectLabel() [2/2]

void Ogre::ogreGlObjectLabel ( GLenum  identifier,
GLuint  name,
GLsizei  length,
const GLchar *  label 
)

◆ operator<()

bool Ogre::operator< ( const VulkanSingleSetLayoutDesc a,
const VulkanSingleSetLayoutDesc b 
)

◆ removeDuplicates()

template<class C >
void Ogre::removeDuplicates ( C &  c)

◆ setAlignMemoryCoherentAtom()

void Ogre::setAlignMemoryCoherentAtom ( VkMappedMemoryRange &  outMemRange,
const size_t  offset,
const size_t  sizeBytes,
const VkDeviceSize  alignment 
)
inline

References alignMemory().

◆ setObjectName()

void Ogre::setObjectName ( VkDevice  device,
uint64_t  object,
VkDebugReportObjectTypeEXT  objectType,
const char *  name 
)

◆ testAbiCookie()

bool _OgreExport Ogre::testAbiCookie ( const AbiCookie  appCookie,
bool  bAbortOnError = true 
)

testAbiCookie Tests the given clientCookie (generated by generateAbiCookie) against a cookie generated in the library.

They must match. If they don't, then:

  • The libraries are outdated or too new
  • Wrong Ogre version (e.g. 2.3 vs 2.4)
  • The app was compiled against the wrong headers
  • The app was compiled against the wrong OgreBuildSettings.h
  • Some stale compiler cache. Rebuild everything from scratch.
  • Compiler settings mismatch
Parameters
appCookieCookie generated by generateAbiCookie
bAbortOnErrorWhen true, we won't return false on error. We will call abort()
Returns
True on success. False if there is an ABI mismatch and we should not continue.

◆ toVkDescriptorType()

uint32 Ogre::toVkDescriptorType ( DescBindingTypes::DescBindingTypes  type)

◆ translateWGLError()

String Ogre::translateWGLError ( )

◆ vkResultToString()

String Ogre::vkResultToString ( VkResult  result)

Variable Documentation

◆ c_srcValidAccessFlags

const uint32 Ogre::c_srcValidAccessFlags
static
Initial value:
=
0xFFFFFFFF ^
( VK_ACCESS_INDIRECT_COMMAND_READ_BIT | VK_ACCESS_INDEX_READ_BIT |
VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | VK_ACCESS_UNIFORM_READ_BIT |
VK_ACCESS_INPUT_ATTACHMENT_READ_BIT | VK_ACCESS_SHADER_READ_BIT |
VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_HOST_READ_BIT | VK_ACCESS_MEMORY_READ_BIT |
VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT |
VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT |
VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT |
VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR | VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV |
VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT | VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV )

◆ kParticleSystemDefaultRenderQueueId

constexpr uint8 Ogre::kParticleSystemDefaultRenderQueueId = 15u
staticconstexpr

◆ modeCount

unsigned int Ogre::modeCount = 0
static

◆ wglCreateContextAttribsARB

PFNWGLCREATECONTEXTATTRIBSARBPROC Ogre::wglCreateContextAttribsARB
extern