Resources
Core
Collaboration diagram for Resources:

## 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...
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::GpuProgram
| Defines a program which runs on the GPU such as a vertex or fragment program. More...
class | Ogre::GpuProgramManager
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::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...
struct | Ogre::MeshLodUsage
| A way of recording the way each LODs is recorded this 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_v1_1
| Class for providing backwards-compatibility for loading version 1.1 of the .mesh format. More...
class | Ogre::MeshSerializerImpl_v1_2
| Class for providing backwards-compatibility for loading version 1.2 of the .mesh format. More...
class | Ogre::MeshSerializerImpl_v1_3
| Class for providing backwards-compatibility for loading version 1.3 of the .mesh format. More...
class | Ogre::MeshSerializerImpl_v1_4
| Class for providing backwards-compatibility for loading version 1.4 of the .mesh format. More...
class | Ogre::MeshSerializerImpl_v1_41
| Class for providing backwards-compatibility for loading version 1.41 of the .mesh format. More...
class | Ogre::MeshSerializerListener
class | Ogre::PrefabFactory
| A factory class that can create various mesh prefabs. 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...
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::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...
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...

## Typedefs

typedef WorkQueue::RequestID | Ogre::BackgroundProcessTicket
| Identifier of a background process. More...
typedef list< DataStreamPtr >::type | Ogre::DataStreamList
| List of DataStream items. More...
typedef SharedPtr< DataStreamList > | Ogre::DataStreamListPtr
| Shared pointer to list of DataStream items. More...
typedef SharedPtr< DataStream > | Ogre::DataStreamPtr
| Shared pointer to allow data streams to be passed around without worrying about deallocation. More...
typedef vector< FileInfo >::type | Ogre::FileInfoList
typedef SharedPtr< FileInfoList > | Ogre::FileInfoListPtr
typedef SharedPtr< MemoryDataStream > | Ogre::MemoryDataStreamPtr
| Shared pointer to allow memory data streams to be passed around without worrying about deallocation. More...
typedef SharedPtr< Resource > | Ogre::ResourcePtr
| Shared pointer to a Resource. More...

## 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_DOMAIN_PROGRAM, Ogre::GPT_HULL_PROGRAM, Ogre::GPT_COMPUTE_PROGRAM }
| Enumerates the types of programs which can run on the GPU. More...

enum

Ogre::MeshChunkID {
Ogre::M_HEADER = 0x1000, Ogre::M_MESH = 0x3000, Ogre::M_SUBMESH = 0x4000, Ogre::M_SUBMESH_OPERATION = 0x4010,
Ogre::M_SUBMESH_BONE_ASSIGNMENT = 0x4100, Ogre::M_SUBMESH_TEXTURE_ALIAS = 0x4200, 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_SKELETON_LINK = 0x6000,
Ogre::M_MESH_BONE_ASSIGNMENT = 0x7000, Ogre::M_MESH_LOD = 0x8000, Ogre::M_MESH_LOD_USAGE = 0x8100, Ogre::M_MESH_LOD_MANUAL = 0x8110,
Ogre::M_MESH_LOD_GENERATED = 0x8120, 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_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::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 = HardwareBuffer::HBU_STATIC, Ogre::TU_DYNAMIC = HardwareBuffer::HBU_DYNAMIC, Ogre::TU_WRITE_ONLY = HardwareBuffer::HBU_WRITE_ONLY, Ogre::TU_STATIC_WRITE_ONLY = HardwareBuffer::HBU_STATIC_WRITE_ONLY,
Ogre::TU_DYNAMIC_WRITE_ONLY = HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY, Ogre::TU_DYNAMIC_WRITE_ONLY_DISCARDABLE = HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE, Ogre::TU_AUTOMIPMAP = 16, Ogre::TU_RENDERTARGET = 32,
Ogre::TU_DEFAULT = TU_AUTOMIPMAP | TU_STATIC_WRITE_ONLY
}

| Enum identifying the texture usage. More...

## Detailed Description

## Typedef Documentation

## BackgroundProcessTicket

typedef WorkQueue::RequestID Ogre::BackgroundProcessTicket

Identifier of a background process.

Definition at line 48 of file OgreResourceBackgroundQueue.h.

## DataStreamList

typedef list<DataStreamPtr>::type Ogre::DataStreamList

List of DataStream items.

Definition at line 311 of file OgreDataStream.h.

## DataStreamListPtr

typedef SharedPtr<DataStreamList> Ogre::DataStreamListPtr

Shared pointer to list of DataStream items.

Definition at line 313 of file OgreDataStream.h.

## DataStreamPtr

typedef SharedPtr<DataStream> Ogre::DataStreamPtr

Shared pointer to allow data streams to be passed around without worrying about deallocation.

Definition at line 308 of file OgreDataStream.h.

## FileInfoList

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

Definition at line 69 of file OgreArchive.h.

## FileInfoListPtr

typedef SharedPtr<FileInfoList> Ogre::FileInfoListPtr

Definition at line 70 of file OgreArchive.h.

## MemoryDataStreamPtr

typedef SharedPtr<MemoryDataStream> Ogre::MemoryDataStreamPtr

Shared pointer to allow memory data streams to be passed around without worrying about deallocation.

Definition at line 484 of file OgreDataStream.h.

## ResourcePtr

typedef SharedPtr< Resource > Ogre::ResourcePtr

Shared pointer to a Resource.

Remarks
  This shared pointer allows many references to a resource to be held, and when the final reference is removed, the resource will be destroyed. Note that the ResourceManager which created this Resource will be holding at least one reference, so this resource will not get destroyed until someone removes the resource from the manager - this at least gives you strong control over when resources are freed. But the nature of the shared pointer means that if anyone refers to the removed resource in the meantime, the resource will remain valid.

  You may well see references to ResourcePtr (i.e. ResourcePtr&) being passed around internally within Ogre. These are 'weak references' ie they do not increment the reference count on the Resource. This is done for efficiency in temporary operations that shouldn't need to incur the overhead of maintaining the reference count; however we don't recommend you do it yourself since these references are not guaranteed to remain valid.

Definition at line 317 of file OgrePrerequisites.h.

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

Definition at line 45 of file OgreFont.h.

## 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_DOMAIN_PROGRAM |
GPT_HULL_PROGRAM |
GPT_COMPUTE_PROGRAM |

Definition at line 50 of file OgreGpuProgram.h.

## 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_OPERATION |
M_SUBMESH_BONE_ASSIGNMENT |
M_SUBMESH_TEXTURE_ALIAS |
M_GEOMETRY |
M_GEOMETRY_VERTEX_DECLARATION |
M_GEOMETRY_VERTEX_ELEMENT |
M_GEOMETRY_VERTEX_BUFFER |
M_GEOMETRY_VERTEX_BUFFER_DATA |
M_MESH_SKELETON_LINK |
M_MESH_BONE_ASSIGNMENT |
M_MESH_LOD |
M_MESH_LOD_USAGE |
M_MESH_LOD_MANUAL |
M_MESH_LOD_GENERATED |
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_TABLE_EXTREMES |
M_GEOMETRY_NORMALS |
M_GEOMETRY_COLOURS |
M_GEOMETRY_TEXCOORDS |

Definition at line 58 of file OgreMeshFileFormat.h.

## TextureMipmap

enum Ogre::TextureMipmap

Enum identifying special mipmap numbers.

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

Definition at line 85 of file OgreTexture.h.

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

Definition at line 67 of file OgreTexture.h.

## TextureUsage

enum Ogre::TextureUsage

Enum identifying the texture usage.

Enumerator
TU_STATIC | Enums describing buffer usage; not mutually exclusive.
TU_DYNAMIC |
TU_WRITE_ONLY |
TU_STATIC_WRITE_ONLY |
TU_DYNAMIC_WRITE_ONLY |
TU_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_DEFAULT | Default to automatic mipmap generation static textures.

Definition at line 47 of file OgreTexture.h.

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.