OgreRoot.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4  (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
6 
7 Copyright (c) 2000-2013 Torus Knot Software Ltd
8 
9 Permission is hereby granted, free of charge, to any person obtaining a copy
10 of this software and associated documentation files (the "Software"), to deal
11 in the Software without restriction, including without limitation the rights
12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 copies of the Software, and to permit persons to whom the Software is
14 furnished to do so, subject to the following conditions:
15 
16 The above copyright notice and this permission notice shall be included in
17 all copies or substantial portions of the Software.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 THE SOFTWARE.
26 -----------------------------------------------------------------------------
27 */
28 #ifndef __ROOT__
29 #define __ROOT__
30 
31 // Precompiler options
32 #include "OgrePrerequisites.h"
33 
34 #include "OgreSingleton.h"
35 #include "OgreString.h"
38 #include "OgreLodStrategyManager.h"
39 #include "OgreWorkQueue.h"
40 
41 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
43 #endif
44 
45 #include <exception>
46 
47 namespace Ogre
48 {
57 
71  class _OgreExport Root : public Singleton<Root>, public RootAlloc
72  {
73  // To allow update of active renderer if
74  // RenderSystem::initialise is used directly
75  friend class RenderSystem;
76  protected:
81  bool mQueuedEnd;
84 
85  // Singletons
97 
101 
102 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
103  AndroidLogListener* mAndroidLogger;
104 #endif
105 
114 
121  unsigned long mNextFrame;
125 
126  public:
129  protected:
134 
138  // stock movable factories
145 
148 
151 
153 
158 
166  void loadPlugins(const String& pluginsfile = "plugins" OGRE_BUILD_SUFFIX ".cfg");
175 
179 
182 
185 
190 
193  FETT_ANY = 0,
194  FETT_STARTED = 1,
195  FETT_QUEUED = 2,
196  FETT_ENDED = 3,
197  FETT_COUNT = 4
198  };
199 
202  EventTimesQueue mEventTimes[FETT_COUNT];
203 
208  Real calculateEventTime(unsigned long now, FrameEventTimeType type);
209 
212 
213  public:
214 
224  Root(const String& pluginFileName = "plugins" OGRE_BUILD_SUFFIX ".cfg",
225  const String& configFileName = "ogre.cfg",
226  const String& logFileName = "Ogre.log");
227  ~Root();
228 
234  void saveConfig(void);
235 
248  bool restoreConfig(void);
249 
266  bool showConfigDialog(void);
267 
280 
288 
296 
315 
319 
335  RenderWindow* initialise(bool autoCreateWindow, const String& windowTitle = "OGRE Render Window",
336  const String& customCapabilitiesConfig = StringUtil::BLANK);
337 
339  bool isInitialised(void) const { return mIsInitialised; }
340 
347 
351  bool getRemoveRenderQueueStructuresOnClear() const { return mRemoveQueueStructuresOnClear; }
352 
356  void setRemoveRenderQueueStructuresOnClear(bool r) { mRemoveQueueStructuresOnClear = r; }
357 
364 
368 
378  const SceneManagerMetaData* getSceneManagerMetaData(const String& typeName) const;
379 
384 
397  const String& instanceName = StringUtil::BLANK);
398 
412  const String& instanceName = StringUtil::BLANK);
413 
416 
421  SceneManager* getSceneManager(const String& instanceName) const;
422 
426  bool hasSceneManager(const String& instanceName) const;
429 
446 
453 
457  String getErrorDescription(long errorNumber);
458 
475  void addFrameListener(FrameListener* newListener);
476 
481  void removeFrameListener(FrameListener* oldListener);
482 
491  void queueEndRendering(bool state = true);
492 
499  bool endRenderingQueued(void);
500 
528  void startRendering(void);
529 
535  bool renderOneFrame(void);
536 
543  bool renderOneFrame(Real timeSinceLastFrame);
544 
552  void shutdown(void);
553 
600  void addResourceLocation(const String& name, const String& locType,
602  bool recursive = false);
603 
610  void removeResourceLocation(const String& name,
612 
635  bool overwrite = false, const String& locationPattern = StringUtil::BLANK);
636 
652  const String& locationPattern = StringUtil::BLANK);
653 
662  void convertColourValue(const ColourValue& colour, uint32* pDest);
663 
673 
676  RenderWindow* createRenderWindow(const String &name, unsigned int width, unsigned int height,
677  bool fullScreen, const NameValuePairList *miscParams = 0) ;
678 
681  bool createRenderWindows(const RenderWindowDescriptionList& renderWindowDescriptions,
682  RenderWindowList& createdWindows);
683 
690 
697 
701 
704  void destroyRenderTarget(const String &name);
705 
709 
720  void loadPlugin(const String& pluginName);
721 
731  void unloadPlugin(const String& pluginName);
732 
743  void installPlugin(Plugin* plugin);
744 
753  void uninstallPlugin(Plugin* plugin);
754 
756  const PluginInstanceList& getInstalledPlugins() const { return mPlugins; }
757 
759  Timer* getTimer(void);
760 
791 
853 
862  unsigned long getNextFrameNumber(void) const { return mNextFrame; }
863 
880 
892 
905 
911  const String& name);
912 
917  const String& name);
918 
925  const String& name);
926 
932 
948  static Root& getSingleton(void);
964  static Root* getSingletonPtr(void);
965 
974  void clearEventTimes(void);
975 
988  void setFrameSmoothingPeriod(Real period) { mFrameSmoothingTime = period; }
990  Real getFrameSmoothingPeriod(void) const { return mFrameSmoothingTime; }
991 
1005  bool overrideExisting = false);
1015  bool hasMovableObjectFactory(const String& typeName) const;
1024 
1030 
1034  unsigned int getDisplayMonitorCount() const;
1035 
1042  WorkQueue* getWorkQueue() const { return mWorkQueue; }
1043 
1052  void setWorkQueue(WorkQueue* queue);
1053 
1060  void setBlendIndicesGpuRedundant(bool redundant) { mIsBlendIndicesGpuRedundant = redundant; }
1064  bool isBlendIndicesGpuRedundant() const { return mIsBlendIndicesGpuRedundant; }
1065 
1072  void setBlendWeightsGpuRedundant(bool redundant) { mIsBlendWeightsGpuRedundant = redundant; }
1076  bool isBlendWeightsGpuRedundant() const { return mIsBlendWeightsGpuRedundant; }
1077 
1082  void setDefaultMinPixelSize(Real pixelSize) { mDefaultMinPixelSize = pixelSize; }
1083 
1086  Real getDefaultMinPixelSize() { return mDefaultMinPixelSize; }
1087 
1088 
1089  };
1092 } // Namespace Ogre
1093 #endif
Ogre::Root::createRenderWindows
bool createRenderWindows(const RenderWindowDescriptionList &renderWindowDescriptions, RenderWindowList &createdWindows)
Creates multiple rendering windows.
Ogre::TextureManager
Class for loading & managing textures.
Definition: OgreTextureManager.h:61
Ogre::PMInjector
Injects the output of a request to the mesh in a thread safe way.
Definition: OgreQueuedProgressiveMeshGenerator.h:147
Ogre::Root::restoreConfig
bool restoreConfig(void)
Checks for saved video/sound/etc settings.
OgreLodStrategyManager.h
Ogre::FrameListener
A interface class defining a listener which can be used to receive notifications of frame events.
Definition: OgreFrameListener.h:80
Ogre::Root::mExternalTextureSourceManager
ExternalTextureSourceManager * mExternalTextureSourceManager
Definition: OgreRoot.h:119
Ogre::Root::EventTimesQueue
deque< unsigned long >::type EventTimesQueue
Contains the times of recently fired events.
Definition: OgreRoot.h:201
Ogre::Root::useCustomRenderSystemCapabilities
void useCustomRenderSystemCapabilities(RenderSystemCapabilities *capabilities)
Requests active RenderSystem to use custom RenderSystemCapabilities.
Ogre::Root::_fireFrameEnded
bool _fireFrameEnded(FrameEvent &evt)
Method for raising frame ended events.
Ogre::Root::getSceneManagerMetaData
const SceneManagerMetaData * getSceneManagerMetaData(const String &typeName) const
Get more information about a given type of SceneManager.
Ogre::Root::_fireFrameStarted
bool _fireFrameStarted(FrameEvent &evt)
Method for raising frame started events.
Ogre::Root::getSceneManagerMetaDataIterator
SceneManagerEnumerator::MetaDataIterator getSceneManagerMetaDataIterator(void) const
Iterate over all types of SceneManager available for construction, providing some information about e...
Ogre::Root::getSingletonPtr
static Root * getSingletonPtr(void)
Override standard Singleton retrieval.
Ogre::Root::addResourceLocation
void addResourceLocation(const String &name, const String &locType, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, bool recursive=false)
Adds a location to the list of searchable locations for a Resource type.
Ogre::Root::removeResourceLocation
void removeResourceLocation(const String &name, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
Removes a resource location from the list.
Ogre::Root::getRemoveRenderQueueStructuresOnClear
bool getRemoveRenderQueueStructuresOnClear() const
Get whether the entire render queue structure should be emptied on clearing, or whether just the obje...
Definition: OgreRoot.h:351
Ogre::RenderSystem
Defines the functionality of a 3D API.
Definition: OgreRenderSystem.h:126
Ogre::Root::mShadowTextureManager
ShadowTextureManager * mShadowTextureManager
Definition: OgreRoot.h:108
Ogre::WorkQueue
Interface to a general purpose request / response style background work queue.
Definition: OgreWorkQueue.h:71
Ogre::Root::mResourceBackgroundQueue
ResourceBackgroundQueue * mResourceBackgroundQueue
Definition: OgreRoot.h:107
Ogre::AllocatedObject
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Definition: OgreMemoryAllocatedObject.h:59
Ogre
Definition: OgreAndroidLogListener.h:35
Ogre::Root::mArchiveManager
ArchiveManager * mArchiveManager
Definition: OgreRoot.h:92
Ogre::Root::oneTimePostWindowInit
void oneTimePostWindowInit(void)
Internal method for one-time tasks after first window creation.
Ogre::Root::installPlugin
void installPlugin(Plugin *plugin)
Install a new plugin.
Ogre::Root::mPluginLibs
PluginLibList mPluginLibs
List of plugin DLLs loaded.
Definition: OgreRoot.h:131
Ogre::SceneManagerMetaData
Structure containing information about a scene manager.
Definition: OgreSceneManager.h:3623
Ogre::Root::mActiveRenderer
RenderSystem * mActiveRenderer
Definition: OgreRoot.h:78
Ogre::Root::mCompilerManager
ScriptCompilerManager * mCompilerManager
Definition: OgreRoot.h:110
Ogre::Root::mCompositorManager
CompositorManager * mCompositorManager
Definition: OgreRoot.h:120
Ogre::Root::hasMovableObjectFactory
bool hasMovableObjectFactory(const String &typeName) const
Checks whether a factory is registered for a given MovableObject type.
Ogre::Root::getRenderQueueInvocationSequence
RenderQueueInvocationSequence * getRenderQueueInvocationSequence(const String &name)
Get a RenderQueueInvocationSequence.
Ogre::map
Definition: OgrePrerequisites.h:534
OgreSingleton.h
Ogre::Root::destroyRenderTarget
void destroyRenderTarget(const String &name)
Destroys the given named RenderTarget.
Ogre::Root::mAddedFrameListeners
set< FrameListener * >::type mAddedFrameListeners
Definition: OgreRoot.h:188
Ogre::Root::setFrameSmoothingPeriod
void setFrameSmoothingPeriod(Real period)
Sets the period over which OGRE smooths out fluctuations in frame times.
Definition: OgreRoot.h:988
Ogre::Root::addRenderSystem
void addRenderSystem(RenderSystem *newRend)
Adds a new rendering subsystem to the list of available renderers.
Ogre::SkeletonManager
Handles the management of skeleton resources.
Definition: OgreSkeletonManager.h:52
Ogre::Root::addSceneManagerFactory
void addSceneManagerFactory(SceneManagerFactory *fact)
Register a new SceneManagerFactory, a factory object for creating instances of specific SceneManagers...
Ogre::Root::mFrameSmoothingTime
Real mFrameSmoothingTime
Definition: OgreRoot.h:122
OgreSceneManagerEnumerator.h
Ogre::set::type
std::set< T, P, A > type
Definition: OgrePrerequisites.h:522
Ogre::ResourceBackgroundQueue
This class is used to perform Resource operations in a background thread.
Definition: OgreResourceBackgroundQueue.h:83
Ogre::Root::getErrorDescription
String getErrorDescription(long errorNumber)
Utility function for getting a better description of an error code.
Ogre::Root::getMovableObjectFactory
MovableObjectFactory * getMovableObjectFactory(const String &typeName)
Get a MovableObjectFactory for the given type.
Ogre::Root::mFrameListeners
set< FrameListener * >::type mFrameListeners
Set of registered frame listeners.
Definition: OgreRoot.h:184
Ogre::Root::setDefaultMinPixelSize
void setDefaultMinPixelSize(Real pixelSize)
Set the default minimum pixel size for object to be rendered by.
Definition: OgreRoot.h:1082
Ogre::Root::setWorkQueue
void setWorkQueue(WorkQueue *queue)
Replace the current work queue with an alternative.
Ogre::Root::populateFrameEvent
void populateFrameEvent(FrameEventTimeType type, FrameEvent &evtToUpdate)
Update a set of event times (note, progressive, only call once for each type per frame)
Ogre::RenderWindow
Manages the target rendering window.
Definition: OgreRenderWindow.h:63
Ogre::Root::getMeshManager
MeshManager * getMeshManager(void)
Retrieves a reference to the current MeshManager.
Ogre::ControllerManager
Class for managing Controller instances.
Definition: OgreControllerManager.h:59
Ogre::RenderWindowDescriptionList
vector< RenderWindowDescription >::type RenderWindowDescriptionList
Render window creation parameters container.
Definition: OgreCommon.h:761
Ogre::Root::getInstalledPlugins
const PluginInstanceList & getInstalledPlugins() const
Gets a read-only list of the currently installed plugins.
Definition: OgreRoot.h:756
Ogre::Root::mMovableObjectFactoryMap
MovableObjectFactoryMap mMovableObjectFactoryMap
Definition: OgreRoot.h:136
Ogre::Root::hasSceneManager
bool hasSceneManager(const String &instanceName) const
Determines if a given SceneManager already exists.
Ogre::Root
The root class of the Ogre system.
Definition: OgreRoot.h:72
Ogre::Root::mMaterialManager
MaterialManager * mMaterialManager
Definition: OgreRoot.h:93
Ogre::Root::_allocateNextMovableObjectTypeFlag
uint32 _allocateNextMovableObjectTypeFlag(void)
Allocate the next MovableObject type flag.
Ogre::Root::addMovableObjectFactory
void addMovableObjectFactory(MovableObjectFactory *fact, bool overrideExisting=false)
Register a new MovableObjectFactory which will create new MovableObject instances of a particular typ...
Ogre::MaterialManager
Class for managing Material settings for Ogre.
Definition: OgreMaterialManager.h:65
Ogre::Root::_fireFrameEnded
bool _fireFrameEnded()
Method for raising frame ended events.
Ogre::Root::uninstallPlugin
void uninstallPlugin(Plugin *plugin)
Uninstall an existing plugin.
Ogre::Root::mIsBlendWeightsGpuRedundant
bool mIsBlendWeightsGpuRedundant
Tells whether blend weights information needs to be passed to the GPU.
Definition: OgreRoot.h:157
Ogre::Root::SceneManagerStack
deque< SceneManager * >::type SceneManagerStack
Definition: OgreRoot.h:89
Ogre::Root::detachRenderTarget
RenderTarget * detachRenderTarget(const String &name)
Detaches a named RenderTarget from the active render system and returns a pointer to it.
Ogre::Root::getSceneManagerIterator
SceneManagerEnumerator::SceneManagerIterator getSceneManagerIterator(void)
Get an iterator over all the existing SceneManager instances.
Ogre::Root::addFrameListener
void addFrameListener(FrameListener *newListener)
Registers a FrameListener which will be called back every frame.
Ogre::Root::destroySceneManager
void destroySceneManager(SceneManager *sm)
Destroy an instance of a SceneManager.
Ogre::uint32
unsigned int uint32
Definition: OgrePlatform.h:359
Ogre::Root::mFirstTimePostWindowInit
bool mFirstTimePostWindowInit
In case multiple render windows are created, only once are the resources loaded.
Definition: OgreRoot.h:83
Ogre::Root::createRenderQueueInvocationSequence
RenderQueueInvocationSequence * createRenderQueueInvocationSequence(const String &name)
Create a new RenderQueueInvocationSequence, useful for linking to Viewport instances to perform custo...
Ogre::Root::mNextMovableObjectTypeFlag
uint32 mNextMovableObjectTypeFlag
Definition: OgreRoot.h:137
Ogre::CompositorManager
Class for managing Compositor settings for Ogre.
Definition: OgreCompositorManager.h:60
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::Root::initialise
RenderWindow * initialise(bool autoCreateWindow, const String &windowTitle="OGRE Render Window", const String &customCapabilitiesConfig=StringUtil::BLANK)
Initialises the renderer.
Ogre::Root::mLodStrategyManager
LodStrategyManager * mLodStrategyManager
Definition: OgreRoot.h:111
Ogre::MovableObjectFactory
Interface definition for a factory class which produces a certain kind of MovableObject,...
Definition: OgreMovableObject.h:579
Ogre::Root::showConfigDialog
bool showConfigDialog(void)
Displays a dialog asking the user to choose system settings.
OgreResourceGroupManager.h
Ogre::SceneTypeMask
uint16 SceneTypeMask
Bitmask containing scene types.
Definition: OgreSceneManager.h:3607
Ogre::Root::createSceneManager
SceneManager * createSceneManager(SceneTypeMask typeMask, const String &instanceName=StringUtil::BLANK)
Create a SceneManager instance based on scene type support.
Ogre::ArchiveFactory
Abstract factory class, archive codec plugins can register concrete subclasses of this.
Definition: OgreArchiveFactory.h:60
Ogre::Root::createRenderWindow
RenderWindow * createRenderWindow(const String &name, unsigned int width, unsigned int height, bool fullScreen, const NameValuePairList *miscParams=0)
Creates a new rendering window.
Ogre::Root::mLightFactory
MovableObjectFactory * mLightFactory
Definition: OgreRoot.h:140
Ogre::Root::mRenderers
RenderSystemList mRenderers
Definition: OgreRoot.h:77
Ogre::Root::_fireFrameRenderingQueued
bool _fireFrameRenderingQueued(FrameEvent &evt)
Method for raising frame rendering queued events.
Ogre::Root::destroyAllRenderQueueInvocationSequences
void destroyAllRenderQueueInvocationSequences(void)
Destroy all RenderQueueInvocationSequences.
Ogre::SceneManagerFactory
Class which will create instances of a given SceneManager.
Definition: OgreSceneManager.h:3638
Ogre::NameValuePairList
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
Definition: OgreCommon.h:550
Ogre::Plugin
Class defining a generic OGRE plugin.
Definition: OgrePlugin.h:80
Ogre::Root::mTimer
Timer * mTimer
Definition: OgreRoot.h:115
Ogre::Root::getDisplayMonitorCount
unsigned int getDisplayMonitorCount() const
Gets the number of display monitors.
Ogre::Root::endRenderingQueued
bool endRenderingQueued(void)
Check for planned end of rendering.
Ogre::Root::removeSceneManagerFactory
void removeSceneManagerFactory(SceneManagerFactory *fact)
Unregister a SceneManagerFactory.
Ogre::Root::setBlendWeightsGpuRedundant
void setBlendWeightsGpuRedundant(bool redundant)
Sets whether blend weights information needs to be passed to the GPU.
Definition: OgreRoot.h:1072
Ogre::Timer
Timer class.
Definition: Android/OgreTimerImp.h:38
Ogre::Root::getDefaultMinPixelSize
Real getDefaultMinPixelSize()
Get the default minimum pixel size for object to be rendered by.
Definition: OgreRoot.h:1086
Ogre::Root::mQueuedEnd
bool mQueuedEnd
Definition: OgreRoot.h:81
Ogre::ShadowTextureManager
Class to manage the available shadow textures which may be shared between many SceneManager instances...
Definition: OgreShadowTextureManager.h:82
Ogre::Root::_fireFrameRenderingQueued
bool _fireFrameRenderingQueued()
Method for raising frame rendering queued events.
Ogre::StringUtil::BLANK
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
Definition: OgreString.h:196
Ogre::Root::destroyRenderTarget
void destroyRenderTarget(RenderTarget *target)
Destroys the given RenderTarget.
Ogre::Root::setBlendIndicesGpuRedundant
void setBlendIndicesGpuRedundant(bool redundant)
Sets whether blend indices information needs to be passed to the GPU.
Definition: OgreRoot.h:1060
Ogre::RenderTarget
A 'canvas' which can receive the results of a rendering operation.
Definition: OgreRenderTarget.h:66
Ogre::Root::unloadPlugin
void unloadPlugin(const String &pluginName)
Manually unloads a Plugin contained in a DLL / DSO.
Ogre::SceneManager
Manages the organisation and rendering of a 'scene' i.e.
Definition: OgreSceneManager.h:144
Ogre::Root::mBillboardSetFactory
MovableObjectFactory * mBillboardSetFactory
Definition: OgreRoot.h:141
Ogre::RenderQueueInvocationSequence
Class to hold a linear sequence of RenderQueueInvocation objects.
Definition: OgreRenderQueueInvocation.h:174
OgrePrerequisites.h
Ogre::Root::PluginLibList
vector< DynLib * >::type PluginLibList
Definition: OgreRoot.h:127
Ogre::Root::setRemoveRenderQueueStructuresOnClear
void setRemoveRenderQueueStructuresOnClear(bool r)
Set whether the entire render queue structure should be emptied on clearing, or whether just the obje...
Definition: OgreRoot.h:356
Ogre::Root::getFrameSmoothingPeriod
Real getFrameSmoothingPeriod(void) const
Gets the period over which OGRE smooths out fluctuations in frame times.
Definition: OgreRoot.h:990
Ogre::RenderWindowList
vector< RenderWindow * >::type RenderWindowList
Render window container.
Definition: OgreCommon.h:764
Ogre::Root::RenderQueueInvocationSequenceMap
map< String, RenderQueueInvocationSequence * >::type RenderQueueInvocationSequenceMap
Definition: OgreRoot.h:146
Ogre::Root::mWorkQueue
WorkQueue * mWorkQueue
Definition: OgreRoot.h:152
Ogre::Root::detachRenderTarget
RenderTarget * detachRenderTarget(RenderTarget *pWin)
Detaches a RenderTarget from the active render system and returns a pointer to it.
Ogre::Root::getRenderTarget
RenderTarget * getRenderTarget(const String &name)
Retrieves a pointer to a named render target.
Ogre::Root::_updateAllRenderTargets
bool _updateAllRenderTargets(FrameEvent &evt)
Internal method used for updating all RenderTarget objects (windows, renderable textures etc) which a...
Ogre::Singleton
Template class for creating single-instance global classes.
Definition: OgreSingleton.h:65
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME
static String DEFAULT_RESOURCE_GROUP_NAME
Default resource group name.
Definition: OgreResourceGroupManager.h:266
Ogre::Root::mPMWorker
PMWorker * mPMWorker
Definition: OgreRoot.h:112
Ogre::deque
Definition: OgrePrerequisites.h:478
Ogre::Root::_fireFrameStarted
bool _fireFrameStarted()
Method for raising frame started events.
Ogre::Root::mRemovedFrameListeners
set< FrameListener * >::type mRemovedFrameListeners
Set of frame listeners marked for removal and addition.
Definition: OgreRoot.h:187
Ogre::Root::calculateEventTime
Real calculateEventTime(unsigned long now, FrameEventTimeType type)
Internal method for calculating the average time between recently fired events.
Ogre::Root::mMeshManager
MeshManager * mMeshManager
Definition: OgreRoot.h:94
Ogre::Root::mRQSequenceMap
RenderQueueInvocationSequenceMap mRQSequenceMap
Definition: OgreRoot.h:147
Ogre::Root::mLogManager
LogManager * mLogManager
Definition: OgreRoot.h:86
Ogre::ScriptCompilerManager
Manages threaded compilation of scripts.
Definition: OgreScriptCompiler.h:385
Ogre::Root::mManualObjectFactory
MovableObjectFactory * mManualObjectFactory
Definition: OgreRoot.h:142
Ogre::Root::queueEndRendering
void queueEndRendering(bool state=true)
Queues the end of rendering.
Ogre::Root::_getCurrentSceneManager
SceneManager * _getCurrentSceneManager(void) const
Returns the scene manager currently being used to render a frame.
Ogre::Root::mAutoWindow
RenderWindow * mAutoWindow
Definition: OgreRoot.h:116
Ogre::RenderSystemCapabilities
singleton class for storing the capabilities of the graphics card.
Definition: OgreRenderSystemCapabilities.h:280
Ogre::Root::createSceneManager
SceneManager * createSceneManager(const String &typeName, const String &instanceName=StringUtil::BLANK)
Create a SceneManager instance of a given type.
_OgreExport
#define _OgreExport
Definition: OgrePlatform.h:257
Ogre::Root::setRenderSystem
void setRenderSystem(RenderSystem *system)
Sets the rendering subsystem to be used.
Ogre::Root::mSceneManagerStack
SceneManagerStack mSceneManagerStack
Definition: OgreRoot.h:90
Ogre::Root::Root
Root(const String &pluginFileName="plugins" OGRE_BUILD_SUFFIX ".cfg", const String &configFileName="ogre.cfg", const String &logFileName="Ogre.log")
Constructor.
Ogre::Root::~Root
~Root()
Ogre::Root::mParticleManager
ParticleSystemManager * mParticleManager
Definition: OgreRoot.h:95
Ogre::Root::loadPlugins
void loadPlugins(const String &pluginsfile="plugins" OGRE_BUILD_SUFFIX ".cfg")
Method reads a plugins configuration file and instantiates all plugins.
Ogre::Root::_updateAllRenderTargets
bool _updateAllRenderTargets(void)
Internal method used for updating all RenderTarget objects (windows, renderable textures etc) which a...
Ogre::Root::_syncAddedRemovedFrameListeners
void _syncAddedRemovedFrameListeners()
Ogre::Root::mRenderSystemCapabilitiesManager
RenderSystemCapabilitiesManager * mRenderSystemCapabilitiesManager
Definition: OgreRoot.h:109
Ogre::Root::mRibbonTrailFactory
MovableObjectFactory * mRibbonTrailFactory
Definition: OgreRoot.h:144
Ogre::Root::mHighLevelGpuProgramManager
HighLevelGpuProgramManager * mHighLevelGpuProgramManager
Definition: OgreRoot.h:118
Ogre::Root::getSingleton
static Root & getSingleton(void)
Override standard Singleton retrieval.
Ogre::Root::convertColourValue
void convertColourValue(const ColourValue &colour, uint32 *pDest)
Generates a packed data version of the passed in ColourValue suitable for use with the current Render...
OgreAndroidLogListener.h
Ogre::Root::mResourceGroupManager
ResourceGroupManager * mResourceGroupManager
Definition: OgreRoot.h:106
Ogre::FrameEvent
Struct containing information about a frame event.
Definition: OgreFrameListener.h:45
Ogre::Root::shutdownPlugins
void shutdownPlugins()
Shuts down all loaded plugins - allows things to be tidied up whilst all plugins are still loaded.
Ogre::Root::mSceneManagerEnum
SceneManagerEnumerator * mSceneManagerEnum
Definition: OgreRoot.h:88
OGRE_BUILD_SUFFIX
#define OGRE_BUILD_SUFFIX
Definition: OgrePlatform.h:355
Ogre::Root::mPMInjector
PMInjector * mPMInjector
Definition: OgreRoot.h:113
Ogre::Root::mSkeletonManager
SkeletonManager * mSkeletonManager
Definition: OgreRoot.h:96
Ogre::SharedPtr< DataStream >
Ogre::Root::mEmbeddedZipArchiveFactory
ArchiveFactory * mEmbeddedZipArchiveFactory
Definition: OgreRoot.h:99
Ogre::MapIterator
Concrete IteratorWrapper for nonconst access to the underlying key-value container.
Definition: OgreIteratorWrapper.h:319
Ogre::Root::mDynLibManager
DynLibManager * mDynLibManager
Definition: OgreRoot.h:91
Ogre::Root::mProfiler
Profiler * mProfiler
Definition: OgreRoot.h:117
Ogre::Root::destroyRenderQueueInvocationSequence
void destroyRenderQueueInvocationSequence(const String &name)
Destroy a RenderQueueInvocationSequence.
Ogre::Root::loadPlugin
void loadPlugin(const String &pluginName)
Manually load a Plugin contained in a DLL / DSO.
Ogre::Root::openFileStream
DataStreamPtr openFileStream(const String &filename, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, const String &locationPattern=StringUtil::BLANK)
Helper method to assist you in accessing readable file streams.
OgreWorkQueue.h
Ogre::Profiler
The profiler allows you to measure the performance of your code.
Definition: OgreProfiler.h:283
Ogre::ColourValue
Class representing colour.
Definition: OgreColourValue.h:58
Ogre::Root::isBlendIndicesGpuRedundant
bool isBlendIndicesGpuRedundant() const
Returns whether blend indices information needs to be passed to the GPU see setBlendIndicesGpuRedunda...
Definition: OgreRoot.h:1064
Ogre::Root::mFileSystemArchiveFactory
ArchiveFactory * mFileSystemArchiveFactory
Definition: OgreRoot.h:100
Ogre::Root::mBillboardChainFactory
MovableObjectFactory * mBillboardChainFactory
Definition: OgreRoot.h:143
Ogre::Root::PluginInstanceList
vector< Plugin * >::type PluginInstanceList
Definition: OgreRoot.h:128
Ogre::Root::isInitialised
bool isInitialised(void) const
Returns whether the system is initialised or not.
Definition: OgreRoot.h:339
Ogre::Root::shutdown
void shutdown(void)
Shuts down the system manually.
Ogre::Root::_pushCurrentSceneManager
void _pushCurrentSceneManager(SceneManager *sm)
Pushes the scene manager currently being used to render.
Ogre::Root::mRemoveQueueStructuresOnClear
bool mRemoveQueueStructuresOnClear
Definition: OgreRoot.h:123
Ogre::Root::saveConfig
void saveConfig(void)
Saves the details of the current configuration.
Ogre::Root::mNextFrame
unsigned long mNextFrame
Definition: OgreRoot.h:121
Ogre::Root::getAvailableRenderers
const RenderSystemList & getAvailableRenderers(void)
Retrieve a list of the available render systems.
Ogre::Root::mDefaultMinPixelSize
Real mDefaultMinPixelSize
Definition: OgreRoot.h:124
Ogre::MeshManager
Handles the management of mesh resources.
Definition: OgreMeshManager.h:60
Ogre::Root::isBlendWeightsGpuRedundant
bool isBlendWeightsGpuRedundant() const
Returns whether blend weights information needs to be passed to the GPU see setBlendWeightsGpuRedunda...
Definition: OgreRoot.h:1076
Ogre::Root::startRendering
void startRendering(void)
Starts / restarts the automatic rendering cycle.
Ogre::AndroidLogListener
Definition: OgreAndroidLogListener.h:38
Ogre::PMWorker
Processes requests.
Definition: OgreQueuedProgressiveMeshGenerator.h:78
Ogre::Root::getMovableObjectFactoryIterator
MovableObjectFactoryIterator getMovableObjectFactoryIterator(void) const
Return an iterator over all the MovableObjectFactory instances currently registered.
Ogre::Root::getAutoCreatedWindow
RenderWindow * getAutoCreatedWindow(void)
Retrieves a pointer to the window that was created automatically.
Ogre::RenderSystemCapabilitiesManager
Class for managing RenderSystemCapabilities database for Ogre.
Definition: OgreRenderSystemCapabilitiesManager.h:53
Ogre::Real
float Real
Software floating point type.
Definition: OgrePrerequisites.h:70
Ogre::ParticleSystemManager
Manages particle systems, particle system scripts (templates) and the available emitter & affector fa...
Definition: OgreParticleSystemManager.h:79
Ogre::Root::MovableObjectFactoryMap
map< String, MovableObjectFactory * >::type MovableObjectFactoryMap
Definition: OgreRoot.h:135
Ogre::ConstMapIterator
Concrete IteratorWrapper for const access to the underlying key-value container.
Definition: OgreIteratorWrapper.h:352
Ogre::Root::_popCurrentSceneManager
void _popCurrentSceneManager(SceneManager *sm)
Pops the scene manager currently being used to render.
Ogre::Root::getWorkQueue
WorkQueue * getWorkQueue() const
Get the WorkQueue for processing background tasks.
Definition: OgreRoot.h:1042
Ogre::Root::unloadPlugins
void unloadPlugins()
Unloads all loaded plugins.
Ogre::Root::mZipArchiveFactory
ArchiveFactory * mZipArchiveFactory
Definition: OgreRoot.h:98
Ogre::DynLibManager
Manager for Dynamic-loading Libraries.
Definition: OgreDynLibManager.h:49
Ogre::Root::createFileStream
DataStreamPtr createFileStream(const String &filename, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, bool overwrite=false, const String &locationPattern=StringUtil::BLANK)
Helper method to assist you in creating writeable file streams.
Ogre::SceneManagerEnumerator
Enumerates the SceneManager classes available to applications.
Definition: OgreSceneManagerEnumerator.h:89
Ogre::ArchiveManager
This class manages the available ArchiveFactory plugins.
Definition: OgreArchiveManager.h:48
Ogre::RenderSystemList
vector< RenderSystem * >::type RenderSystemList
Definition: OgreRoot.h:56
Ogre::Root::getNextFrameNumber
unsigned long getNextFrameNumber(void) const
Gets the number of the next frame to be rendered.
Definition: OgreRoot.h:862
OgreString.h
Ogre::vector
Definition: OgrePrerequisites.h:492
Ogre::Root::renderOneFrame
bool renderOneFrame(void)
Render one frame.
Ogre::Root::mVersion
String mVersion
Definition: OgreRoot.h:79
Ogre::Root::mControllerManager
ControllerManager * mControllerManager
Definition: OgreRoot.h:87
Ogre::Root::getTextureManager
TextureManager * getTextureManager(void)
Retrieves a reference to the current TextureManager.
Ogre::LogManager
The log manager handles the creation and retrieval of logs for the application.
Definition: OgreLogManager.h:66
Ogre::Root::renderOneFrame
bool renderOneFrame(Real timeSinceLastFrame)
Render one frame, with custom frame time information.
Ogre::Root::mIsBlendIndicesGpuRedundant
bool mIsBlendIndicesGpuRedundant
Tells whether blend indices information needs to be passed to the GPU.
Definition: OgreRoot.h:155
Ogre::Root::getSceneManager
SceneManager * getSceneManager(const String &instanceName) const
Get an existing SceneManager instance that has already been created, identified by the instance name.
Ogre::Root::getRenderSystemByName
RenderSystem * getRenderSystemByName(const String &name)
Retrieve a pointer to the render system by the given name.
Ogre::Root::mPlugins
PluginInstanceList mPlugins
List of Plugin instances registered.
Definition: OgreRoot.h:133
Ogre::Root::removeFrameListener
void removeFrameListener(FrameListener *oldListener)
Removes a FrameListener from the list of listening classes.
Ogre::Root::mConfigFileName
String mConfigFileName
Definition: OgreRoot.h:80
Ogre::Root::MovableObjectFactoryIterator
ConstMapIterator< MovableObjectFactoryMap > MovableObjectFactoryIterator
Definition: OgreRoot.h:1025
Ogre::Root::getRenderSystem
RenderSystem * getRenderSystem(void)
Retrieve a pointer to the currently selected render system.
Ogre::Root::FrameEventTimeType
FrameEventTimeType
Indicates the type of event to be considered by calculateEventTime().
Definition: OgreRoot.h:192
Ogre::Root::initialisePlugins
void initialisePlugins()
Initialise all loaded plugins - allows plugins to perform actions once the renderer is initialised.
Ogre::HighLevelGpuProgramManager
This ResourceManager manages high-level vertex and fragment programs.
Definition: OgreHighLevelGpuProgramManager.h:74
Ogre::Root::mIsInitialised
bool mIsInitialised
Are we initialised yet?
Definition: OgreRoot.h:150
Ogre::Root::getTimer
Timer * getTimer(void)
Gets a pointer to the central timer used for all OGRE timings.
Ogre::ResourceGroupManager
This singleton class manages the list of resource groups, and notifying the various resource managers...
Definition: OgreResourceGroupManager.h:262
Ogre::ConstVectorIterator
Concrete IteratorWrapper for const access to the underlying container.
Definition: OgreIteratorWrapper.h:217
Ogre::Root::mEntityFactory
MovableObjectFactory * mEntityFactory
Definition: OgreRoot.h:139
Ogre::ExternalTextureSourceManager
Singleton Class which handles the registering and control of texture plugins.
Definition: OgreExternalTextureSourceManager.h:57
Ogre::Root::removeMovableObjectFactory
void removeMovableObjectFactory(MovableObjectFactory *fact)
Removes a previously registered MovableObjectFactory.
Ogre::LodStrategyManager
Manager for LOD strategies.
Definition: OgreLodStrategyManager.h:48
Ogre::Root::clearEventTimes
void clearEventTimes(void)
Clears the history of all event times.

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