OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Resources

Namespaces

namespace  Ogre::PbsBrdf
 
namespace  Ogre::ReadBarrier
 
namespace  Ogre::ResourceAccess
 
namespace  Ogre::ResourceLayout
 
namespace  Ogre::WriteBarrier
 

Classes

class  Ogre::Archive
 Archive-handling class. More...
 
class  Ogre::ArchiveFactory
 Abstract factory class, archive codec plugins can register concrete subclasses of this. More...
 
class  Ogre::ArchiveManager
 This class manages the available ArchiveFactory plugins. More...
 
struct  Ogre::BackgroundProcessResult
 Encapsulates the result of a background queue request. More...
 
struct  Ogre::BasicBlock
 
class  Ogre::ConstBufferPool
 Maintains a pool of buffers grouped by hash ID. More...
 
class  Ogre::ConstBufferPoolUser
 
struct  Ogre::D3D11HlmsPso
 @See HlmsPso. More...
 
class  Ogre::DataStream
 General purpose class used for encapsulating the reading and writing of data. More...
 
class  Ogre::EmbeddedZipArchiveFactory
 Specialisation of ZipArchiveFactory for embedded Zip files. More...
 
class  Ogre::FileHandleDataStream
 Common subclass of DataStream for handling data from C-style file handles. More...
 
struct  Ogre::FileInfo
 Information about a file/directory within the archive will be returned using a FileInfo struct. More...
 
class  Ogre::FileStreamDataStream
 Common subclass of DataStream for handling data from std::basic_istream. More...
 
class  Ogre::FileSystemArchive
 Specialisation of the Archive class to allow reading of files from filesystem folders / directories. More...
 
class  Ogre::FileSystemArchiveFactory
 Specialisation of ArchiveFactory for FileSystem files. More...
 
class  Ogre::Font
 Class representing a font in the system. More...
 
class  Ogre::FontManager
 Manages Font resources, parsing .fontdef files and generally organising them. More...
 
class  Ogre::Forward3D
 Forward3D. More...
 
class  Ogre::ForwardClustered
 Implementation of Clustered Forward Shading. More...
 
class  Ogre::ForwardPlusBase
 ForwardPlusBase. More...
 
struct  Ogre::GL3PlusHlmsPso
 @See HlmsPso. More...
 
struct  Ogre::GLES2HlmsPso
 @See HlmsPso. More...
 
struct  Ogre::GLES2HlmsSamplerblock
 A sampler block contains settings that go hand in hand with a texture, and thus are common to many textures. More...
 
class  Ogre::GpuProgram
 Defines a program which runs on the GPU such as a vertex or fragment program. More...
 
class  Ogre::GpuProgramManager
 
struct  Ogre::GpuResource
 
class  Ogre::HighLevelGpuProgram
 Abstract base class representing a high-level program (a vertex or fragment program). More...
 
class  Ogre::HighLevelGpuProgramFactory
 Interface definition for factories of HighLevelGpuProgram. More...
 
class  Ogre::HighLevelGpuProgramManager
 This ResourceManager manages high-level vertex and fragment programs. More...
 
class  Ogre::Hlms
 HLMS stands for "High Level Material System". More...
 
struct  Ogre::HlmsBasePieces
 
struct  Ogre::HlmsBaseProp
 These are "default" or "Base" properties common to many implementations and thus defined here. More...
 
struct  Ogre::HlmsBits
 
struct  Ogre::HlmsBlendblock
 A blend block contains settings that rarely change, and thus are common to many materials. More...
 
struct  Ogre::HlmsCache
 
struct  Ogre::HlmsComputePso
 
class  Ogre::HlmsDatablock
 An hlms datablock contains individual information about a specific material. More...
 
class  Ogre::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  Ogre::HlmsJson
 HLMS stands for "High Level Material System". More...
 
class  Ogre::HlmsJsonCompute
 HLMS stands for "High Level Material System". More...
 
class  Ogre::HlmsJsonListener
 
class  Ogre::HlmsListener
 Listener that can be hooked to an Hlms implementation for extending it with custom code. More...
 
struct  Ogre::HlmsMacroblock
 A macro block contains settings that will rarely change, and thus are common to many materials. More...
 
class  Ogre::HlmsManager
 HLMS stands for "High Level Material System". More...
 
struct  Ogre::HlmsPassPso
 IT'S MEMBERS MUST BE KEPT POD (Otherwise HlmsPso needs to be modified). More...
 
class  Ogre::HlmsPbsDatablock
 Contains information needed by PBS (Physically Based Shading) for OpenGL 3+ & D3D11+. More...
 
class  Ogre::HlmsPbsMobileDatablock
 Contains information needed by PBS (Physically Based Shading) for OpenGL ES 2.0. More...
 
struct  Ogre::HlmsProperty
 
struct  Ogre::HlmsPso
 Defines a PipelineStateObject as required by Vulkan, Metal & DX12. More...
 
struct  Ogre::HlmsPsoProp
 
struct  Ogre::HlmsSamplerblock
 A sampler block contains settings that go hand in hand with a texture, and thus are common to many textures. More...
 
class  Ogre::HlmsTextureExportListener
 
class  Ogre::HlmsTextureManager
 HLMS Texture Manager manages textures in the way HLMS expects. More...
 
struct  Ogre::HlmsTexturePack
 
class  Ogre::HlmsUnlitDatablock
 Contains information needed by PBS (Physically Based Shading) for OpenGL 3+ & D3D11+. More...
 
class  Ogre::ManualResourceLoader
 Interface describing a manual resource loader. More...
 
class  Ogre::MemoryDataStream
 Common subclass of DataStream for handling data from chunks of memory. More...
 
class  Ogre::Mesh
 Resource holding data about 3D mesh. More...
 
class  Ogre::MeshManager
 Handles the management of mesh resources. More...
 
class  Ogre::MeshSerializer
 Class for serialising mesh data to/from an OGRE .mesh file. More...
 
class  Ogre::MeshSerializerImpl
 Internal implementation of Mesh reading / writing for the latest version of the .mesh format. More...
 
class  Ogre::MeshSerializerImpl_v2_1_R0
 
class  Ogre::MeshSerializerImpl_v2_1_R1
 
class  Ogre::MeshSerializerListener
 
struct  Ogre::MetalHlmsPso
 @See HlmsPso More...
 
struct  Ogre::PackedTexture
 Used by JSON serialization, but can also be used outside of it. More...
 
struct  Ogre::PbsBakedTexture
 
class  Ogre::PsoCacheHelper
 Utility class to cache PSOs. More...
 
class  Ogre::Resource
 Abstract class representing a loadable resource (e.g. More...
 
class  Ogre::ResourceBackgroundQueue
 This class is used to perform Resource operations in a background thread. More...
 
class  Ogre::ResourceGroupListener
 This abstract class defines an interface which is called back during resource group loading to indicate the progress of the load. More...
 
class  Ogre::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  Ogre::ResourceLoadingListener
 
class  Ogre::ResourceManager
 Defines a generic resource handler. More...
 
struct  Ogre::ResourceTransition
 
class  Ogre::StreamSerialiser
 Utility class providing helper methods for reading / writing structured data held in a DataStream. More...
 
class  Ogre::SubMesh
 Defines a part of a complete mesh. More...
 
class  Ogre::SubStringRef
 
class  Ogre::Texture
 Abstract class representing a Texture resource. More...
 
class  Ogre::TextureManager
 Class for loading & managing textures. More...
 
class  Ogre::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  Ogre::UnifiedHighLevelGpuProgramFactory
 Factory class for Unified programs. More...
 
struct  Ogre::UnlitBakedTexture
 
class  Ogre::v1::Mesh
 Resource holding data about 3D mesh. More...
 
struct  Ogre::v1::MeshLodUsage
 A way of recording the way each LODs is recorded this Mesh. More...
 
class  Ogre::v1::MeshManager
 Handles the management of mesh resources. More...
 
class  Ogre::v1::MeshSerializer
 Class for serialising mesh data to/from an OGRE .mesh file. More...
 
class  Ogre::v1::MeshSerializerImpl
 Internal implementation of Mesh reading / writing for the latest version of the .mesh format. More...
 
class  Ogre::v1::MeshSerializerImpl_v1_1
 Class for providing backwards-compatibility for loading version 1.1 of the .mesh format. More...
 
class  Ogre::v1::MeshSerializerImpl_v1_10
 Class for providing backwards-compatibility for loading version 1.10 of the .mesh format. More...
 
class  Ogre::v1::MeshSerializerImpl_v1_2
 Class for providing backwards-compatibility for loading version 1.2 of the .mesh format. More...
 
class  Ogre::v1::MeshSerializerImpl_v1_3
 Class for providing backwards-compatibility for loading version 1.3 of the .mesh format. More...
 
class  Ogre::v1::MeshSerializerImpl_v1_4
 Class for providing backwards-compatibility for loading version 1.4 of the .mesh format. More...
 
class  Ogre::v1::MeshSerializerImpl_v1_41
 Class for providing backwards-compatibility for loading version 1.41 of the .mesh format. More...
 
class  Ogre::v1::MeshSerializerImpl_v1_8
 Class for providing backwards-compatibility for loading version 1.8 of the .mesh format. More...
 
class  Ogre::v1::MeshSerializerListener
 
class  Ogre::v1::PrefabFactory
 A factory class that can create various mesh prefabs. More...
 
class  Ogre::v1::SubMesh
 Defines a part of a complete mesh. More...
 
class  Ogre::ZipArchive
 Specialisation of the Archive class to allow reading of files from a zip format source archive. More...
 
class  Ogre::ZipArchiveFactory
 Specialisation of ArchiveFactory for Zip files. More...
 
class  Ogre::ZipDataStream
 Specialisation of DataStream to handle streaming data from zip archives. More...
 

Macros

#define OGRE_EXTRACT_HLMS_TYPE_FROM_CACHE_HASH(x)   (x >> 29)
 
#define OGRE_HLMS_MAX_BASIC_BLOCKS   OGRE_HLMS_NUM_SAMPLERBLOCKS
 
#define OGRE_HLMS_MAX_LIFETIME_BLENDBLOCKS   4096
 
#define OGRE_HLMS_MAX_LIFETIME_MACROBLOCKS   4096
 
#define OGRE_HLMS_NUM_BLENDBLOCKS   32
 
#define OGRE_HLMS_NUM_MACROBLOCKS   32
 
#define OGRE_HLMS_NUM_SAMPLERBLOCKS   64
 

Typedefs

typedef vector< Archive * >::type Ogre::ArchiveVec
 
typedef WorkQueue::RequestID Ogre::BackgroundProcessTicket
 Identifier of a background process.
 
typedef list< DataStreamPtr >::type Ogre::DataStreamList
 List of DataStream items.
 
typedef SharedPtr< DataStreamListOgre::DataStreamListPtr
 Shared pointer to list of DataStream items.
 
typedef vector< FileInfo >::type Ogre::FileInfoList
 
typedef SharedPtr< FileInfoListOgre::FileInfoListPtr
 
typedef vector< HlmsCache * >::type Ogre::HlmsCacheVec
 
typedef vector< std::pair< IdString, String > >::type Ogre::HlmsParamVec
 
typedef vector< HlmsProperty >::type Ogre::HlmsPropertyVec
 
typedef FastArray< PbsBakedTextureOgre::PbsBakedTextureArray
 
typedef map< IdString, String >::type Ogre::PiecesMap
 
typedef map< GpuResource *, ResourceAccess::ResourceAccess >::type Ogre::ResourceAccessMap
 
typedef map< GpuResource *, ResourceLayout::Layout >::type Ogre::ResourceLayoutMap
 
typedef FastArray< UnlitBakedTextureOgre::UnlitBakedTextureArray
 

Enumerations

enum  Ogre::FontType { Ogre::FT_TRUETYPE = 1 , Ogre::FT_IMAGE = 2 }
 Enumerates the types of Font usable in the engine. More...
 
enum  Ogre::GpuProgramType {
  Ogre::GPT_VERTEX_PROGRAM , Ogre::GPT_FRAGMENT_PROGRAM , Ogre::GPT_GEOMETRY_PROGRAM , Ogre::GPT_HULL_PROGRAM ,
  Ogre::GPT_DOMAIN_PROGRAM , Ogre::GPT_COMPUTE_PROGRAM
}
 Enumerates the types of programs which can run on the GPU. More...
 
enum  Ogre::HlmsBasicBlock { Ogre::BLOCK_MACRO , Ogre::BLOCK_BLEND , Ogre::BLOCK_SAMPLER , Ogre::NUM_BASIC_BLOCKS }
 
enum  Ogre::HlmsTypes {
  Ogre::HLMS_LOW_LEVEL , Ogre::HLMS_PBS , Ogre::HLMS_TOON , Ogre::HLMS_UNLIT ,
  Ogre::HLMS_USER0 , Ogre::HLMS_USER1 , Ogre::HLMS_USER2 , Ogre::HLMS_USER3 ,
  Ogre::HLMS_MAX = 8 , Ogre::HLMS_COMPUTE
}
 Up to 8 different HLMS generator types are allowed. More...
 
enum  Ogre::MeshChunkID {
  Ogre::M_HEADER = 0x1000 , Ogre::M_MESH = 0x3000 , Ogre::M_SUBMESH = 0x4000 , Ogre::M_SUBMESH_TEXTURE_ALIAS = 0x4200 ,
  Ogre::M_SUBMESH_LOD = 0x4300 , Ogre::M_SUBMESH_LOD_OPERATION = 0x4310 , Ogre::M_SUBMESH_INDEX_BUFFFER = 0x4320 , Ogre::M_SUBMESH_M_GEOMETRY = 0x4330 ,
  Ogre::M_SUBMESH_M_GEOMETRY_VERTEX_DECLARATION = 0x4331 , Ogre::M_SUBMESH_M_GEOMETRY_VERTEX_BUFFER = 0x4332 , Ogre::M_SUBMESH_M_GEOMETRY_EXTERNAL_SOURCE = 0x4340 , Ogre::M_MESH_SKELETON_LINK = 0x6000 ,
  Ogre::M_MESH_BOUNDS = 0x9000 , Ogre::M_SUBMESH_NAME_TABLE = 0xA000 , Ogre::M_SUBMESH_NAME_TABLE_ELEMENT = 0xA100 , Ogre::M_EDGE_LISTS = 0xB000 ,
  Ogre::M_EDGE_LIST_LOD = 0xB100 , Ogre::M_EDGE_GROUP = 0xB110 , Ogre::M_POSES = 0xC000 , Ogre::M_POSE = 0xC100 ,
  Ogre::M_POSE_VERTEX = 0xC111 , Ogre::M_ANIMATIONS = 0xD000 , Ogre::M_ANIMATION = 0xD100 , Ogre::M_ANIMATION_BASEINFO = 0xD105 ,
  Ogre::M_ANIMATION_TRACK = 0xD110 , Ogre::M_ANIMATION_MORPH_KEYFRAME = 0xD111 , Ogre::M_ANIMATION_POSE_KEYFRAME = 0xD112 , Ogre::M_ANIMATION_POSE_REF = 0xD113 ,
  Ogre::M_SUBMESH_OPERATION = 0x4010 , Ogre::M_SUBMESH_BONE_ASSIGNMENT = 0x4100 , Ogre::M_GEOMETRY = 0x5000 , Ogre::M_GEOMETRY_VERTEX_DECLARATION = 0x5100 ,
  Ogre::M_GEOMETRY_VERTEX_ELEMENT = 0x5110 , Ogre::M_GEOMETRY_VERTEX_BUFFER = 0x5200 , Ogre::M_GEOMETRY_VERTEX_BUFFER_DATA = 0x5210 , Ogre::M_MESH_BONE_ASSIGNMENT = 0x7000 ,
  Ogre::M_MESH_LOD_LEVEL = 0x8000 , Ogre::M_MESH_LOD_USAGE = 0x8100 , Ogre::M_MESH_LOD_MANUAL = 0x8110 , Ogre::M_MESH_LOD_GENERATED = 0x8120 ,
  Ogre::M_TABLE_EXTREMES = 0xE000 , Ogre::M_GEOMETRY_NORMALS = 0x5100 , Ogre::M_GEOMETRY_COLOURS = 0x5200 , Ogre::M_GEOMETRY_TEXCOORDS = 0x5300
}
 Definition of the OGRE .mesh file format. More...
 
enum  Ogre::OperationType {
  Ogre::OT_POINT_LIST = 1 , Ogre::OT_LINE_LIST = 2 , Ogre::OT_LINE_STRIP = 3 , Ogre::OT_TRIANGLE_LIST = 4 ,
  Ogre::OT_TRIANGLE_STRIP = 5 , Ogre::OT_TRIANGLE_FAN = 6 , Ogre::OT_PATCH_1_CONTROL_POINT = 7 , Ogre::OT_PATCH_2_CONTROL_POINT = 8 ,
  Ogre::OT_PATCH_3_CONTROL_POINT = 9 , Ogre::OT_PATCH_4_CONTROL_POINT = 10 , Ogre::OT_PATCH_5_CONTROL_POINT = 11 , Ogre::OT_PATCH_6_CONTROL_POINT = 12 ,
  Ogre::OT_PATCH_7_CONTROL_POINT = 13 , Ogre::OT_PATCH_8_CONTROL_POINT = 14 , Ogre::OT_PATCH_9_CONTROL_POINT = 15 , Ogre::OT_PATCH_10_CONTROL_POINT = 16 ,
  Ogre::OT_PATCH_11_CONTROL_POINT = 17 , Ogre::OT_PATCH_12_CONTROL_POINT = 18 , Ogre::OT_PATCH_13_CONTROL_POINT = 19 , Ogre::OT_PATCH_14_CONTROL_POINT = 20 ,
  Ogre::OT_PATCH_15_CONTROL_POINT = 21 , Ogre::OT_PATCH_16_CONTROL_POINT = 22 , Ogre::OT_PATCH_17_CONTROL_POINT = 23 , Ogre::OT_PATCH_18_CONTROL_POINT = 24 ,
  Ogre::OT_PATCH_19_CONTROL_POINT = 25 , Ogre::OT_PATCH_20_CONTROL_POINT = 26 , Ogre::OT_PATCH_21_CONTROL_POINT = 27 , Ogre::OT_PATCH_22_CONTROL_POINT = 28 ,
  Ogre::OT_PATCH_23_CONTROL_POINT = 29 , Ogre::OT_PATCH_24_CONTROL_POINT = 30 , Ogre::OT_PATCH_25_CONTROL_POINT = 31 , Ogre::OT_PATCH_26_CONTROL_POINT = 32 ,
  Ogre::OT_PATCH_27_CONTROL_POINT = 33 , Ogre::OT_PATCH_28_CONTROL_POINT = 34 , Ogre::OT_PATCH_29_CONTROL_POINT = 35 , Ogre::OT_PATCH_30_CONTROL_POINT = 36 ,
  Ogre::OT_PATCH_31_CONTROL_POINT = 37 , Ogre::OT_PATCH_32_CONTROL_POINT = 38
}
 
enum  Ogre::TextureAddressingMode {
  Ogre::TAM_WRAP , Ogre::TAM_MIRROR , Ogre::TAM_CLAMP , Ogre::TAM_BORDER ,
  Ogre::TAM_UNKNOWN = 99
}
 
enum  Ogre::TextureMipmap { Ogre::MIP_UNLIMITED = 0x7FFFFFFF , Ogre::MIP_DEFAULT = -1 }
 Enum identifying special mipmap numbers. More...
 
enum  Ogre::TextureType {
  Ogre::TEX_TYPE_1D = 1 , Ogre::TEX_TYPE_2D = 2 , Ogre::TEX_TYPE_3D = 3 , Ogre::TEX_TYPE_CUBE_MAP = 4 ,
  Ogre::TEX_TYPE_2D_ARRAY = 5 , Ogre::TEX_TYPE_2D_RECT = 6
}
 Enum identifying the texture type. More...
 
enum  Ogre::TextureUsage {
  Ogre::TU_STATIC = v1::HardwareBuffer::HBU_STATIC , Ogre::TU_DYNAMIC = v1::HardwareBuffer::HBU_DYNAMIC , Ogre::TU_WRITE_ONLY = v1::HardwareBuffer::HBU_WRITE_ONLY , Ogre::TU_STATIC_WRITE_ONLY = v1::HardwareBuffer::HBU_STATIC_WRITE_ONLY ,
  Ogre::TU_DYNAMIC_WRITE_ONLY = v1::HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY , Ogre::TU_DYNAMIC_WRITE_ONLY_DISCARDABLE = v1::HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE , Ogre::TU_AUTOMIPMAP = 0x10 , Ogre::TU_RENDERTARGET = 0x20 ,
  Ogre::TU_NOT_SRV = 0x40 , Ogre::TU_UAV = 0x80 , Ogre::TU_UAV_NOT_SRV = TU_UAV | TU_NOT_SRV , Ogre::TU_AUTOMIPMAP_AUTO = 0x100 ,
  Ogre::TU_DEFAULT = TU_AUTOMIPMAP | TU_STATIC_WRITE_ONLY , Ogre::TU_NOT_TEXTURE = TU_NOT_SRV , Ogre::TU_UAV_NOT_TEXTURE = TU_UAV | TU_NOT_SRV
}
 Enum identifying the texture usage. More...
 

Functions

bool Ogre::OrderCacheByHash (const HlmsCache *_left, const HlmsCache *_right)
 
bool Ogre::OrderConstBufferPoolUserByPoolThenSlot (const ConstBufferPoolUser *_l, const ConstBufferPoolUser *_r)
 
bool Ogre::OrderParamVecByKey (const std::pair< IdString, String > &_left, const std::pair< IdString, String > &_right)
 
bool Ogre::OrderPropertyByIdString (const HlmsProperty &_left, const HlmsProperty &_right)
 

Variables

static const size_t Ogre::c_ForwardPlusNumFloat4PerCubemapProbe = 7u
 
static const size_t Ogre::c_ForwardPlusNumFloat4PerDecal = 4u
 
static const size_t Ogre::c_ForwardPlusNumFloat4PerLight = 6u
 

Detailed Description

Macro Definition Documentation

◆ OGRE_EXTRACT_HLMS_TYPE_FROM_CACHE_HASH

#define OGRE_EXTRACT_HLMS_TYPE_FROM_CACHE_HASH (   x)    (x >> 29)

◆ OGRE_HLMS_MAX_BASIC_BLOCKS

#define OGRE_HLMS_MAX_BASIC_BLOCKS   OGRE_HLMS_NUM_SAMPLERBLOCKS

◆ OGRE_HLMS_MAX_LIFETIME_BLENDBLOCKS

#define OGRE_HLMS_MAX_LIFETIME_BLENDBLOCKS   4096

◆ OGRE_HLMS_MAX_LIFETIME_MACROBLOCKS

#define OGRE_HLMS_MAX_LIFETIME_MACROBLOCKS   4096

◆ OGRE_HLMS_NUM_BLENDBLOCKS

#define OGRE_HLMS_NUM_BLENDBLOCKS   32

◆ OGRE_HLMS_NUM_MACROBLOCKS

#define OGRE_HLMS_NUM_MACROBLOCKS   32

◆ OGRE_HLMS_NUM_SAMPLERBLOCKS

#define OGRE_HLMS_NUM_SAMPLERBLOCKS   64

Typedef Documentation

◆ ArchiveVec

◆ BackgroundProcessTicket

Identifier of a background process.

◆ DataStreamList

◆ DataStreamListPtr

◆ FileInfoList

◆ FileInfoListPtr

◆ HlmsCacheVec

◆ HlmsParamVec

◆ HlmsPropertyVec

◆ PbsBakedTextureArray

◆ PiecesMap

◆ ResourceAccessMap

◆ ResourceLayoutMap

◆ UnlitBakedTextureArray

Enumeration Type Documentation

◆ FontType

Enumerates the types of Font usable in the engine.

Enumerator
FT_TRUETYPE 

Generated from a truetype (.ttf) font.

FT_IMAGE 

Loaded from an image created by an artist.

◆ GpuProgramType

Enumerates the types of programs which can run on the GPU.

Enumerator
GPT_VERTEX_PROGRAM 
GPT_FRAGMENT_PROGRAM 
GPT_GEOMETRY_PROGRAM 
GPT_HULL_PROGRAM 
GPT_DOMAIN_PROGRAM 
GPT_COMPUTE_PROGRAM 

◆ HlmsBasicBlock

Enumerator
BLOCK_MACRO 
BLOCK_BLEND 
BLOCK_SAMPLER 
NUM_BASIC_BLOCKS 

◆ HlmsTypes

Up to 8 different HLMS generator types are allowed.

The maximum values must be in sync with ShaderBits in RenderQueue.cpp (the higher 3 bits)

Enumerator
HLMS_LOW_LEVEL 
HLMS_PBS 

Proxy that redirects to a regular Material.

HLMS_TOON 

Physically Based Shader Generator.

HLMS_UNLIT 

Toon shading / Cel shading.

HLMS_USER0 

Made for GUIs, overlays, particle FXs, self-iluminating billboards.

HLMS_USER1 
HLMS_USER2 
HLMS_USER3 
HLMS_MAX 
HLMS_COMPUTE 

◆ MeshChunkID

Definition of the OGRE .mesh file format.

.mesh files are binary files (for read efficiency at runtime) and are arranged into chunks of data, very like 3D Studio's format. A chunk always consists of: unsigned short CHUNK_ID : one of the following chunk ids identifying the chunk unsigned long LENGTH : length of the chunk in bytes, including this header void* DATA : the data, which may contain other sub-chunks (various data types)

A .mesh file can contain both the definition of the Mesh itself, and optionally the definitions of the materials is uses (although these can be omitted, if so the Mesh assumes that at runtime the Materials referred to by name in the Mesh are loaded/created from another source)

A .mesh file only contains a single mesh, which can itself have multiple submeshes.

Enumerator
M_HEADER 
M_MESH 
M_SUBMESH 
M_SUBMESH_TEXTURE_ALIAS 
M_SUBMESH_LOD 
M_SUBMESH_LOD_OPERATION 
M_SUBMESH_INDEX_BUFFFER 
M_SUBMESH_M_GEOMETRY 
M_SUBMESH_M_GEOMETRY_VERTEX_DECLARATION 
M_SUBMESH_M_GEOMETRY_VERTEX_BUFFER 
M_SUBMESH_M_GEOMETRY_EXTERNAL_SOURCE 
M_MESH_SKELETON_LINK 
M_MESH_BOUNDS 
M_SUBMESH_NAME_TABLE 
M_SUBMESH_NAME_TABLE_ELEMENT 
M_EDGE_LISTS 
M_EDGE_LIST_LOD 
M_EDGE_GROUP 
M_POSES 
M_POSE 
M_POSE_VERTEX 
M_ANIMATIONS 
M_ANIMATION 
M_ANIMATION_BASEINFO 
M_ANIMATION_TRACK 
M_ANIMATION_MORPH_KEYFRAME 
M_ANIMATION_POSE_KEYFRAME 
M_ANIMATION_POSE_REF 
M_SUBMESH_OPERATION 
M_SUBMESH_BONE_ASSIGNMENT 
M_GEOMETRY 
M_GEOMETRY_VERTEX_DECLARATION 
M_GEOMETRY_VERTEX_ELEMENT 
M_GEOMETRY_VERTEX_BUFFER 
M_GEOMETRY_VERTEX_BUFFER_DATA 
M_MESH_BONE_ASSIGNMENT 
M_MESH_LOD_LEVEL 
M_MESH_LOD_USAGE 
M_MESH_LOD_MANUAL 
M_MESH_LOD_GENERATED 
M_TABLE_EXTREMES 
M_GEOMETRY_NORMALS 
M_GEOMETRY_COLOURS 
M_GEOMETRY_TEXCOORDS 

◆ OperationType

Enumerator
OT_POINT_LIST 

A list of points, 1 vertex per point.

OT_LINE_LIST 

A list of lines, 2 vertices per line.

OT_LINE_STRIP 

A strip of connected lines, 1 vertex per line plus 1 start vertex.

OT_TRIANGLE_LIST 

A list of triangles, 3 vertices per triangle.

OT_TRIANGLE_STRIP 

A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that.

OT_TRIANGLE_FAN 

A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that.

OT_PATCH_1_CONTROL_POINT 

Patch control point operations, used with tessellation stages.

OT_PATCH_2_CONTROL_POINT 
OT_PATCH_3_CONTROL_POINT 
OT_PATCH_4_CONTROL_POINT 
OT_PATCH_5_CONTROL_POINT 
OT_PATCH_6_CONTROL_POINT 
OT_PATCH_7_CONTROL_POINT 
OT_PATCH_8_CONTROL_POINT 
OT_PATCH_9_CONTROL_POINT 
OT_PATCH_10_CONTROL_POINT 
OT_PATCH_11_CONTROL_POINT 
OT_PATCH_12_CONTROL_POINT 
OT_PATCH_13_CONTROL_POINT 
OT_PATCH_14_CONTROL_POINT 
OT_PATCH_15_CONTROL_POINT 
OT_PATCH_16_CONTROL_POINT 
OT_PATCH_17_CONTROL_POINT 
OT_PATCH_18_CONTROL_POINT 
OT_PATCH_19_CONTROL_POINT 
OT_PATCH_20_CONTROL_POINT 
OT_PATCH_21_CONTROL_POINT 
OT_PATCH_22_CONTROL_POINT 
OT_PATCH_23_CONTROL_POINT 
OT_PATCH_24_CONTROL_POINT 
OT_PATCH_25_CONTROL_POINT 
OT_PATCH_26_CONTROL_POINT 
OT_PATCH_27_CONTROL_POINT 
OT_PATCH_28_CONTROL_POINT 
OT_PATCH_29_CONTROL_POINT 
OT_PATCH_30_CONTROL_POINT 
OT_PATCH_31_CONTROL_POINT 
OT_PATCH_32_CONTROL_POINT 

◆ TextureAddressingMode

Enumerator
TAM_WRAP 

Texture wraps at values over 1.0.

TAM_MIRROR 

Texture mirrors (flips) at joins over 1.0.

TAM_CLAMP 

Texture clamps at 1.0.

TAM_BORDER 

Texture coordinates outside the range [0.0, 1.0] are set to the border colour.

TAM_UNKNOWN 

Unknown.

◆ TextureMipmap

Enum identifying special mipmap numbers.

Enumerator
MIP_UNLIMITED 

Generate mipmaps up to 1x1.

MIP_DEFAULT 

Use TextureManager default.

◆ TextureType

Enum identifying the texture type.

Enumerator
TEX_TYPE_1D 

1D texture, used in combination with 1D texture coordinates

TEX_TYPE_2D 

2D texture, used in combination with 2D texture coordinates (default)

TEX_TYPE_3D 

3D volume texture, used in combination with 3D texture coordinates

TEX_TYPE_CUBE_MAP 

3D cube map, used in combination with 3D texture coordinates

TEX_TYPE_2D_ARRAY 

2D texture array

TEX_TYPE_2D_RECT 

2D non-square texture, used in combination with 2D texture coordinates

◆ TextureUsage

Enum identifying the texture usage.

Enumerator
TU_STATIC 

same as HardwareBuffer::HBU_STATIC

TU_DYNAMIC 

same as HardwareBuffer::HBU_DYNAMIC

TU_WRITE_ONLY 

same as HardwareBuffer::HBU_WRITE_ONLY

TU_STATIC_WRITE_ONLY 

same as HardwareBuffer::HBU_STATIC_WRITE_ONLY

TU_DYNAMIC_WRITE_ONLY 

same as HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY

TU_DYNAMIC_WRITE_ONLY_DISCARDABLE 

same as HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE

TU_AUTOMIPMAP 

Mipmaps will be automatically generated for this texture.

TU_RENDERTARGET 

This texture will be a render target, i.e.

used as a target for render to texture setting this flag will ignore all other texture usages except TU_AUTOMIPMAP, TU_UAV, TU_NOT_SRV

TU_NOT_SRV 

Texture would not be used as Shader Resource View, i.e.

as regular texture. That flag could be combined with TU_RENDERTARGET or TU_UAV to remove possible limitations on some hardware

TU_UAV 

Texture can be bound as an Unordered Access View (imageStore/imageRead/glBindImageTexture in GL jargon)

TU_UAV_NOT_SRV 

Texture can be used as an UAV, but not as a regular texture.

TU_AUTOMIPMAP_AUTO 

Must be used with TU_AUTOMIPMAP.

When this flag is present, writing to a RenderTexture will automatically call _autogenerateMipmaps when it's used as a Texture again.

TU_DEFAULT 

Default to automatic mipmap generation static textures.

TU_NOT_TEXTURE 
TU_UAV_NOT_TEXTURE 

Function Documentation

◆ OrderCacheByHash()

bool Ogre::OrderCacheByHash ( const HlmsCache _left,
const HlmsCache _right 
)
inline

◆ OrderConstBufferPoolUserByPoolThenSlot()

bool Ogre::OrderConstBufferPoolUserByPoolThenSlot ( const ConstBufferPoolUser _l,
const ConstBufferPoolUser _r 
)
inline

◆ OrderParamVecByKey()

bool Ogre::OrderParamVecByKey ( const std::pair< IdString, String > &  _left,
const std::pair< IdString, String > &  _right 
)
inline

◆ OrderPropertyByIdString()

bool Ogre::OrderPropertyByIdString ( const HlmsProperty _left,
const HlmsProperty _right 
)
inline

Variable Documentation

◆ c_ForwardPlusNumFloat4PerCubemapProbe

const size_t Ogre::c_ForwardPlusNumFloat4PerCubemapProbe = 7u
static

◆ c_ForwardPlusNumFloat4PerDecal

const size_t Ogre::c_ForwardPlusNumFloat4PerDecal = 4u
static

◆ c_ForwardPlusNumFloat4PerLight

const size_t Ogre::c_ForwardPlusNumFloat4PerLight = 6u
static