OGRE: Resources

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

Namespaces | Classes | Macros | Typedefs | Enumerations | Functions | Variables
Resources
Core

## Namespaces
| Ogre::CommonTextureTypes
| Ogre::CubemapSide
| Ogre::DefaultMipmapGen
| Ogre::LoadAction
| Ogre::PbsBrdf
| Ogre::ReadBarrier
| Ogre::ResourceAccess
| Ogre::ResourceLayout
| Ogre::StoreAction
| Ogre::TextureFilter
| Ogre::TextureFlags
| Ogre::TextureSourceType
| Ogre::TextureTypes
| 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::D3D11FrameBufferDescValue
struct | Ogre::D3D11HlmsPso
| @See HlmsPso. More...
class | Ogre::D3D11RenderPassDescriptor
| D3D11 will share groups of ID3D11RenderTargetView all D3D11RenderPassDescriptor that share the same RTV setup. More...
class | Ogre::D3D11TextureGpuManager
class | Ogre::DataStream
| General purpose class used for encapsulating the reading and writing of data. More...
class | Ogre::DefaultTextureGpuManagerListener
| This is a Default implementation of TextureGpuManagerListener based on heuristics. More...
struct | Ogre::DescriptorSetSampler
| Descriptor sets describe what samplers should be bound together in one place. More...
struct | Ogre::DescriptorSetTexture
| Descriptor sets describe what textures should be bound together in one place. More...
struct | Ogre::DescriptorSetTexture2
struct | Ogre::DescriptorSetUav
| Descriptor sets describe what uavs should be bound together in one place. 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::FrameBufferDescKey
struct | Ogre::GL3PlusDescriptorSetTexture2
struct | Ogre::GL3PlusFrameBufferDescValue
struct | Ogre::GL3PlusHlmsPso
| @See HlmsPso. More...
class | Ogre::GL3PlusRenderPassDescriptor
| GL3+ will share FBO handles between all GL3PlusRenderPassDescriptor that share the same FBO setup. More...
class | Ogre::GL3PlusTextureGpuManager
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::GpuTrackedResource
class | Ogre::HiddenAreaMeshVrGenerator
struct | Ogre::HiddenAreaVrSettings
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::MetalBufferRegion
struct | Ogre::MetalDescriptorSetTexture
struct | Ogre::MetalFrameBufferDescValue
struct | Ogre::MetalHlmsPso
| @See HlmsPso More...
class | Ogre::MetalRenderPassDescriptor
struct | Ogre::MetalTexRegion
class | Ogre::MetalTextureGpuManager
class | Ogre::NULLTextureGpu
class | Ogre::NULLTextureGpuManager
class | Ogre::NULLTextureGpuRenderTarget
class | Ogre::ObjCmdBuffer
class | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS
| This is not a regular header, therefore it has no include guards. More...
class | Ogre::PsoCacheHelper
| Utility class to cache PSOs. More...
class | Ogre::RadialDensityMask
struct | Ogre::RenderPassColourTarget
struct | Ogre::RenderPassDepthTarget
class | Ogre::RenderPassDescriptor
struct | Ogre::RenderPassStencilTarget
struct | Ogre::RenderPassTargetBase
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::StagingTexture
| A StagingTexture is an intermediate texture that can be read and be written from both CPU & GPU. More...
class | Ogre::StagingTextureBufferImpl
| This implementation can be used by all RenderSystem APIs except D3D11, which is why this implementation is part of OgreMain. More...
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::TextureGpu
class | Ogre::TextureGpuListener
class | Ogre::TextureGpuManager
| This class manages all textures (i.e. More...
class | Ogre::TextureGpuManagerListener
class | Ogre::TextureManager
| Class for loading & managing textures. More...
struct | Ogre::TexturePool
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...
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::VertexBufferDownloadHelper
| Ogre currently does not support deinterleaved vertex buffers. More...
class | Ogre::Window
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...
class | RadialDensityMaskVrGenerator
| Manages a full screen stereo rectangle that masks rectangles in the periphery and then reconstruct these blocks. 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. More...
typedef map< FrameBufferDescKey, D3D11FrameBufferDescValue >::type | Ogre::D3D11FrameBufferDescMap
typedef StdList< DataStreamPtr > | Ogre::DataStreamList
| List of DataStream items. More...
typedef SharedPtr< DataStreamList > | Ogre::DataStreamListPtr
| Shared pointer to list of DataStream items. More...
typedef vector< FileInfo >::type | Ogre::FileInfoList
typedef SharedPtr< FileInfoList > | Ogre::FileInfoListPtr
typedef FastArray< TextureFilter::FilterBase * > | Ogre::FilterBaseArray
typedef map< FrameBufferDescKey, GL3PlusFrameBufferDescValue >::type | Ogre::GL3PlusFrameBufferDescMap
typedef vector< HlmsCache * >::type | Ogre::HlmsCacheVec
typedef vector< std::pair< IdString, String > >::type | Ogre::HlmsParamVec
typedef vector< HlmsProperty >::type | Ogre::HlmsPropertyVec
typedef map< FrameBufferDescKey, MetalFrameBufferDescValue >::type | Ogre::MetalFrameBufferDescMap
typedef map< IdString, String >::type | Ogre::PiecesMap
typedef StdMap< GpuTrackedResource *, ResourceAccess::ResourceAccess > | Ogre::ResourceAccessMap
typedef StdMap< GpuTrackedResource *, ResourceLayout::Layout > | Ogre::ResourceLayoutMap
typedef vector< StagingTexture * >::type | Ogre::StagingTextureVec
typedef list< TexturePool >::type | Ogre::TexturePoolList

## 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
| Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::OGRE_HLMS_TEXTURE_BASE_CLASS (IdString name, Hlms *creator, const HlmsMacroblock *macroblock, const HlmsBlendblock *blendblock, const HlmsParamVec &params)
virtual | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::~OGRE_HLMS_TEXTURE_BASE_CLASS ()
void | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::_setSamplerblock (uint8 texType, const HlmsSamplerblock *samplerblockPtr)
| Same as setSamplerblock, but samplerblockPtr is a raw samplerblock retrieved from HlmsManager, and is assumed to have its reference count already be incremented for us. More...
void | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::_setTexture (uint8 texType, TextureGpu *texture, const HlmsSamplerblock *samplerblockPtr=0, uint16 sliceIdx=std::numeric_limits< uint16 >::max())
| Same as setTexture, but samplerblockPtr is a raw samplerblock retrieved from HlmsManager, and is assumed to have its reference count already be incremented for us (note HlmsManager::getSamplerblock() already increments the ref. More...
uint8 | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::getIndexToDescriptorSampler (uint8 texType)
| Do not call this function if RSC_SEPARATE_SAMPLERS_FROM_TEXTURES is not set. More...
uint8 | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::getIndexToDescriptorTexture (uint8 texType)
| This function has O( log N ) complexity, but O(1) if the texture was not set. More...
const HlmsSamplerblock * | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::getSamplerblock (uint8 texType) const
TextureGpu * | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::getTexture (uint8 texType) const
void | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::loadAllTextures (void)
virtual void | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::notifyTextureChanged (TextureGpu *texture, TextureGpuListener::Reason reason, void *extraData)
| Called when a TextureGpu changed in a way that affects how it is displayed: More...
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)
virtual void | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::saveTextures (const String &folderPath, set< String >::type &savedTextures, bool saveOitd, bool saveOriginal, HlmsTextureExportListener *listener)
void | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::setSamplerblock (uint8 texType, const HlmsSamplerblock &params)
| Sets a new sampler block to be associated with the texture (i.e. More...
void | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::setTexture (uint8 texType, TextureGpu *texture, const HlmsSamplerblock *refParams=0, uint16 sliceIdx=std::numeric_limits< uint16 >::max())
| Sets a new texture for rendering. More...
virtual bool | Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::shouldStayLoaded (TextureGpu *texture)
| Return true if this TextureGpu should likely stay loaded or else graphical changes could occur. More...

## Variables
static const size_t | Ogre::c_ForwardPlusNumFloat4PerCubemapProbe = 8u
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

typedef vector< Archive * >::type Ogre::ArchiveVec

## ◆ BackgroundProcessTicket

typedef WorkQueue::RequestID Ogre::BackgroundProcessTicket

Identifier of a background process.

## ◆ D3D11FrameBufferDescMap

typedef map<FrameBufferDescKey, D3D11FrameBufferDescValue>::type Ogre::D3D11FrameBufferDescMap

## ◆ DataStreamList

typedef StdList<DataStreamPtr> Ogre::DataStreamList

List of DataStream items.

## ◆ DataStreamListPtr

typedef SharedPtr<DataStreamList> Ogre::DataStreamListPtr

Shared pointer to list of DataStream items.

## ◆ FileInfoList

typedef vector<FileInfo>::type Ogre::FileInfoList

## ◆ FileInfoListPtr

typedef SharedPtr<FileInfoList> Ogre::FileInfoListPtr

## ◆ FilterBaseArray

typedef FastArray< TextureFilter::FilterBase * > Ogre::FilterBaseArray

## ◆ GL3PlusFrameBufferDescMap

typedef map<FrameBufferDescKey, GL3PlusFrameBufferDescValue>::type Ogre::GL3PlusFrameBufferDescMap

## ◆ HlmsCacheVec

typedef vector<HlmsCache*>::type Ogre::HlmsCacheVec

## ◆ HlmsParamVec

typedef vector< std::pair<IdString, String> >::type Ogre::HlmsParamVec

## ◆ HlmsPropertyVec

typedef vector<HlmsProperty>::type Ogre::HlmsPropertyVec

## ◆ MetalFrameBufferDescMap

typedef map<FrameBufferDescKey, MetalFrameBufferDescValue>::type Ogre::MetalFrameBufferDescMap

## ◆ PiecesMap

typedef map<IdString, String>::type Ogre::PiecesMap

## ◆ ResourceAccessMap

typedef StdMap<GpuTrackedResource*, ResourceAccess::ResourceAccess> Ogre::ResourceAccessMap

## ◆ ResourceLayoutMap

typedef StdMap<GpuTrackedResource*, ResourceLayout::Layout> Ogre::ResourceLayoutMap

## ◆ StagingTextureVec

typedef vector<StagingTexture*>::type Ogre::StagingTextureVec

## ◆ TexturePoolList

typedef list<TexturePool>::type Ogre::TexturePoolList

## Enumeration Type Documentation

## ◆ FontType

enum Ogre::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

enum Ogre::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

enum Ogre::HlmsBasicBlock

Enumerator
BLOCK_MACRO |
BLOCK_BLEND |
BLOCK_SAMPLER |
NUM_BASIC_BLOCKS |

## ◆ HlmsTypes

enum Ogre::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

enum Ogre::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

enum Ogre::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

enum Ogre::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 Ogre::TextureMipmap

Enum identifying special mipmap numbers.

Enumerator
MIP_UNLIMITED | Generate mipmaps up to 1x1.
MIP_DEFAULT | Use TextureManager default.

## ◆ TextureType

enum Ogre::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 Ogre::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

## ◆ OGRE_HLMS_TEXTURE_BASE_CLASS()

Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::OGRE_HLMS_TEXTURE_BASE_CLASS | ( | IdString | name,
|  | Hlms * | creator,
|  | const HlmsMacroblock * | macroblock,
|  | const HlmsBlendblock * | blendblock,
|  | const HlmsParamVec & | params
| ) |  |

## ◆ ~OGRE_HLMS_TEXTURE_BASE_CLASS()

virtual Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::~OGRE_HLMS_TEXTURE_BASE_CLASS | ( |  | ) |
| virtual

## ◆ _setSamplerblock()

void Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::_setSamplerblock | ( | uint8 | texType,
|  | const HlmsSamplerblock * | samplerblockPtr
| ) |  |

Same as setSamplerblock, but samplerblockPtr is a raw samplerblock retrieved from HlmsManager, and is assumed to have its reference count already be incremented for us.

See _setTexture.

## ◆ _setTexture()

void Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::_setTexture | ( | uint8 | texType,
|  | TextureGpu * | texture,
|  | const HlmsSamplerblock * | samplerblockPtr = `0`,
|  | uint16 | sliceIdx = `std::numeric_limits< uint16 >::max()`
| ) |  |

Same as setTexture, but samplerblockPtr is a raw samplerblock retrieved from HlmsManager, and is assumed to have its reference count already be incremented for us (note HlmsManager::getSamplerblock() already increments the ref.

count). Mostly for internal use, but can speed up loading if you already manage samplerblocks manually and have the raw ptr.

## ◆ getIndexToDescriptorSampler()

uint8 Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::getIndexToDescriptorSampler | ( | uint8 | texType | ) |

Do not call this function if RSC_SEPARATE_SAMPLERS_FROM_TEXTURES is not set.

If not set, then just the result value from getIndexToDescriptorTexture instead. Same complexity as getIndexToDescriptorTexture

## ◆ getIndexToDescriptorTexture()

uint8 Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::getIndexToDescriptorTexture | ( | uint8 | texType | ) |

This function has O( log N ) complexity, but O(1) if the texture was not set.

## ◆ getSamplerblock()

const HlmsSamplerblock* Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::getSamplerblock | ( | uint8 | texType | ) | const

## ◆ getTexture()

TextureGpu* Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::getTexture | ( | uint8 | texType | ) | const

## ◆ loadAllTextures()

void Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::loadAllTextures | ( | void |  | ) |

## ◆ notifyTextureChanged()

virtual void Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::notifyTextureChanged | ( | TextureGpu * | texture,
|  | TextureGpuListener::Reason | reason,
|  | void * | extraData
| ) |  |
| virtual

Called when a TextureGpu changed in a way that affects how it is displayed:

1. TextureGpu::notifyDataIsReady got called (texture is ready to be displayed)
2. Texture changed residency status.
3. Texture is being deleted. It won't be a valid pointer after this call.

Implements Ogre::TextureGpuListener.

## ◆ OrderCacheByHash()

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

References Ogre::HlmsCache::hash.

## ◆ 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

References Ogre::HlmsProperty::keyName.

## ◆ saveTextures()

virtual void Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::saveTextures | ( | const String & | folderPath,
|  | set< String >::type & | savedTextures,
|  | bool | saveOitd,
|  | bool | saveOriginal,
|  | HlmsTextureExportListener * | listener
| ) |  |
| virtual

Remarks
  It's possible to set both saveOitd & saveOriginal to true, but will likely double storage requirements (2x as many textures). Setting both to true is useful for troubleshooting obscure Ogre bugs.

Parameters

  folderPath | Folder where to dump the textures.
  savedTextures | [in/out] Set of texture names. Textures whose name is already in the set won't be saved again. Textures that were saved will be inserted into the set.
  saveOitd | When true, we will download the texture from GPU and save it in OITD format. OITD is faster to load as it's stored in Ogre's native format it understands, but it cannot be opened by traditional image editors; also OITD is not backwards compatible with older versions of Ogre.
  saveOriginal | When true, we will attempt to read the raw filestream of the original texture and save it (i.e. copy the original png/dds/etc file).

Reimplemented from Ogre::HlmsDatablock.

## ◆ setSamplerblock()

void Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::setSamplerblock | ( | uint8 | texType,
|  | const HlmsSamplerblock & | params
| ) |  |

Sets a new sampler block to be associated with the texture (i.e.

filtering mode, addressing modes, etc). If the samplerblock changes, this function will always trigger a HlmsDatablock::flushRenderables

Parameters

  texType | Texture unit. Must be in range [0; OGRE_HLMS_TEXTURE_BASE_MAX_TEX)
  params | The sampler block to use as reference.

## ◆ setTexture()

void Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::setTexture | ( | uint8 | texType,
|  | TextureGpu * | texture,
|  | const HlmsSamplerblock * | refParams = `0`,
|  | uint16 | sliceIdx = `std::numeric_limits< uint16 >::max()`
| ) |  |

Sets a new texture for rendering.

Calling this function may trigger an HlmsDatablock::flushRenderables if the texture or the samplerblock changes. Might not be called if old and new texture belong to the same TexturePool.

Parameters

  texType | Texture unit. Must be in range [0; OGRE_HLMS_TEXTURE_BASE_MAX_TEX)
  texture | Texture to change to. If it is null and previously wasn't (or viceversa), will trigger HlmsDatablock::flushRenderables.
  refParams | Optional. We'll create (or retrieve an existing) samplerblock based on the input parameters. When null, we leave the previously set samplerblock (if a texture is being set, and if no samplerblock was set, we'll create a default one)
  sliceIdx | Optional. When not set to 0xFFFF, it means you want to explicitly set the texture array index, instead of relying on texture->getInternalSliceStart(). Only useful if texture is TextureTypes::Type2DArray. For advanced users.

## ◆ shouldStayLoaded()

virtual bool Ogre::OGRE_HLMS_TEXTURE_BASE_CLASS::shouldStayLoaded | ( | TextureGpu * | texture | ) |
| virtual

Return true if this TextureGpu should likely stay loaded or else graphical changes could occur.

Return false if it is certainly safe to unload.

Reimplemented from Ogre::TextureGpuListener.

## Variable Documentation

## ◆ c_ForwardPlusNumFloat4PerCubemapProbe

const size_t Ogre::c_ForwardPlusNumFloat4PerCubemapProbe = 8u
| static

## ◆ c_ForwardPlusNumFloat4PerDecal

const size_t Ogre::c_ForwardPlusNumFloat4PerDecal = 4u
| static

## ◆ c_ForwardPlusNumFloat4PerLight

const size_t Ogre::c_ForwardPlusNumFloat4PerLight = 6u
| static