![]() |
OGRE
1.12.12
Object-Oriented Graphics Rendering Engine
|
Render large modular structures. More...
Classes | |
class | Ogre::Grid2DPageStrategy |
Page strategy which loads new pages based on a regular 2D grid. More... | |
class | Ogre::Grid2DPageStrategyData |
Specialisation of PageStrategyData for Grid2DPageStrategy. More... | |
class | Ogre::Grid3DPageStrategy |
Page strategy which loads new pages based on a regular 3D grid. More... | |
class | Ogre::Grid3DPageStrategyData |
Specialisation of PageStrategyData for Grid3DPageStrategy. More... | |
class | Ogre::Page |
Page class. More... | |
class | Ogre::PageContent |
Interface definition for a unit of content within a page. More... | |
class | Ogre::PageContentCollection |
Definition of the interface for a collection of PageContent instances. More... | |
class | Ogre::PageContentCollectionFactory |
Define the interface to a factory class that will create subclasses of PageContentCollection. More... | |
class | Ogre::PageContentFactory |
Define the interface to a factory class that will create subclasses of PageContent. More... | |
class | Ogre::PagedWorld |
This class represents a collection of pages which make up a world. More... | |
class | Ogre::PagedWorldSection |
Represents a section of the PagedWorld which uses a given PageStrategy, and which is made up of a generally localised set of Page instances. More... | |
class | Ogre::PagedWorldSectionFactory |
A factory class for creating types of world section. More... | |
class | Ogre::PageManager |
The PageManager is the entry point through which you load all PagedWorld instances, and the place where PageStrategy instances and factory classes are registered to customise the paging behaviour. More... | |
class | Ogre::PageProvider |
Abstract class that can be implemented by the user application to provide a way to retrieve or generate page data from a source of their choosing. More... | |
class | Ogre::PageStrategy |
Defines the interface to a strategy class which is responsible for deciding when Page instances are requested for addition and removal from the paging system. More... | |
class | Ogre::PageStrategyData |
Abstract marker class representing the data held against the PagedWorldSection which is specifically used by the PageStrategy. More... | |
class | Ogre::SimplePageContentCollection |
Specialisation of PageContentCollection which just provides a simple list of PageContent instances. More... | |
class | Ogre::SimplePageContentCollectionFactory |
Factory class for SimplePageContentCollection. More... | |
Enumerations | |
enum | Ogre::Grid2DMode { Ogre::G2D_X_Z = 0, Ogre::G2D_X_Y = 1, Ogre::G2D_Y_Z = 2 } |
The 2D grid mode. More... | |
Render large modular structures.
Some details on paging component.
The paging file format is a composite one - a single file / stream can contain data which is not necessarily all read by a single class. Instead, data chunks can be read by different classes, allowing the format to be extended to different types smoothly.
Paging world files have by default an extension ".world", but that is not a requirement. Internally, the only thing that matters is the data chunks and their identifiers, which are 4-character codes embedded in a uint32 as calculated by StreamSerialiser::makeIdentifier. All data will be read and written using DataStream and the StreamSerialiser class.
Data types are expressed at the lowest level exposed by the StreamSerialiser class, which is used to read / write this file.
Name | Type | Description |
World Name | char* | The name of the world - should be unique |
PagedWorldSection List | Chunk List | A variable-length list of nested PagedWorldSection chunks |
Name | Type | Description |
World Section Name | char* | The name of the world section - should be unique within world |
Bounding box | AABB | AABB of this world section in world space |
PageStrategy name | char* | The name of the PageStrategy class this world section uses to manage pages |
Page Strategy Data | Nested Chunk | PageStrategy specific data for this world section |
Name | Type | Description |
PageStrategy defined | ??? | This chunk will contain data as defined by the specific PageStrategyData used by the parent PagedWorldSection |
Name | Type | Description |
Page ID | uint32 | The identifier of the page |
PageContentCollection list | Nested chunk list | 1-n nested chunks of type PageContentCollection |
Name | Type | Description |
Factory name | char* | The name of the content collection factory |
PageContentCollectionData chunk | Nested chunk | Data required to initialise & configure the content collection |
Name | Type | Description |
PageContentCollection subclass defined | ??? | This chunk will contain data as defined by the specific PageContentCollection subclass |
Name | Type | Description |
Factory name | char* | The name of the content factory |
PageContentData chunk | Nested chunk | Data required to initialise & configure the content |
Name | Type | Description |
PageContent subclass defined | ??? | This chunk will contain data as defined by the specific PageContent subclass |
enum Ogre::Grid2DMode |