OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Resources
+ 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::Hlms
 HLMS stands for "High Level Material System". More...
 
struct  Ogre::HlmsCache
 
class  Ogre::HlmsManager
 HLMS stands for "High Level Material System". More...
 
struct  Ogre::HlmsParam
 
struct  Ogre::HlmsParamPbs
 
struct  Ogre::HlmsProperty
 
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::MeshSerializerImpl_v1_8
 Class for providing backwards-compatibility for loading version 1.8 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::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...
 
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 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
 

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::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_LEVEL = 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::TextureAccess { Ogre::TA_READ = 0x01, Ogre::TA_WRITE = 0x10, Ogre::TA_READ_WRITE = TA_READ | TA_WRITE }
 Enum identifying the texture access privilege. 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 = 0x10, Ogre::TU_RENDERTARGET = 0x20,
  Ogre::TU_DEFAULT = TU_AUTOMIPMAP | TU_STATIC_WRITE_ONLY
}
 Enum identifying the texture usage. More...
 

Functions

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

Detailed Description

Typedef Documentation

typedef WorkQueue::RequestID Ogre::BackgroundProcessTicket

Identifier of a background process.

Definition at line 48 of file OgreResourceBackgroundQueue.h.

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

List of DataStream items.

Definition at line 308 of file OgreDataStream.h.

typedef SharedPtr<DataStreamList> Ogre::DataStreamListPtr

Shared pointer to list of DataStream items.

Definition at line 310 of file OgreDataStream.h.

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

Definition at line 67 of file OgreArchive.h.

typedef SharedPtr<FileInfoList> Ogre::FileInfoListPtr

Definition at line 68 of file OgreArchive.h.

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

Definition at line 220 of file OgreHlmsCommon.h.

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

Definition at line 125 of file OgreHlmsCommon.h.

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

Definition at line 118 of file OgreHlmsCommon.h.

Enumeration Type Documentation

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 44 of file OgreFont.h.

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 

Definition at line 47 of file OgreGpuProgram.h.

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

Enum identifying the texture access privilege.

Enumerator
TA_READ 
TA_WRITE 
TA_READ_WRITE 

Definition at line 67 of file OgreTexture.h.

Enum identifying special mipmap numbers.

Enumerator
MIP_UNLIMITED 

Generate mipmaps up to 1x1.

MIP_DEFAULT 

Use TextureManager default.

Definition at line 94 of file OgreTexture.h.

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 76 of file OgreTexture.h.

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.

Function Documentation

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

Definition at line 222 of file OgreHlmsCommon.h.

References Ogre::HlmsCache::hash.

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

Definition at line 127 of file OgreHlmsCommon.h.

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

Definition at line 120 of file OgreHlmsCommon.h.

References Ogre::HlmsProperty::keyName.