OGRE 2.1
Object-Oriented Graphics Rendering Engine
|
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< DataStreamList > | Ogre::DataStreamListPtr |
Shared pointer to list of DataStream items. | |
typedef vector< FileInfo >::type | Ogre::FileInfoList |
typedef SharedPtr< FileInfoList > | Ogre::FileInfoListPtr |
typedef vector< HlmsCache * >::type | Ogre::HlmsCacheVec |
typedef vector< std::pair< IdString, String > >::type | Ogre::HlmsParamVec |
typedef vector< HlmsProperty >::type | Ogre::HlmsPropertyVec |
typedef FastArray< PbsBakedTexture > | Ogre::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< UnlitBakedTexture > | Ogre::UnlitBakedTextureArray |
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) |
#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 |
typedef vector< Archive * >::type Ogre::ArchiveVec |
Identifier of a background process.
List of DataStream items.
Shared pointer to list of DataStream items.
typedef vector<FileInfo>::type Ogre::FileInfoList |
typedef vector<HlmsCache*>::type Ogre::HlmsCacheVec |
typedef vector<std::pair<IdString,String>>::type Ogre::HlmsParamVec |
typedef map<IdString,String>::type Ogre::PiecesMap |
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. |
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 |
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.
Enum identifying special mipmap numbers.
Enumerator | |
---|---|
MIP_UNLIMITED | Generate mipmaps up to 1x1. |
MIP_DEFAULT | Use TextureManager default. |
Enum identifying the texture type.
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 |
|
inline |
|
inline |
|
inline |