File OgreRenderSystem.h¶
Variables
-
const std::string
OGRE_SECTION= "OgreRenderer"¶
-
const std::string
OGRE_PLUGINS_PATH= "PluginsPath"¶
-
const std::string
OGRE_CONFIG_PATH= "ConfigPath"¶
-
const std::string
OGRE_RESOURCES= "Resources"¶
-
namespace
Ogre File: MovableText.h
Description: This creates a billboarding object that display a text. Note: This object must have a dedicated scene node since it will rotate it to face the camera (OGRE 2.1)
- Author
2003 by cTh see gavocanov@rambler.ru 2006 by barraq see nospam@barraquand.com 2012 to work with newer versions of OGRE by MindCalamity mindcalamity@gmail.com 2015 to work on OGRE 2.1 (but not on older versions anymore) by Jayray jeremy.richert1@gmail.com
-
namespace
Gsage -
class
OgreLogRedirect: public LogListener - #include <OgreRenderSystem.h>
Class, used to redirect all ogre output to the easylogging++
-
class
OgreRenderSystem: public ComponentStorage<OgreRenderComponent>, public RenderQueueListener, public EventDispatcher, public EventSubscriber<OgreRenderSystem>, public RenderSystem Public Types
-
typedef std::vector<Entity *>
Entities¶
Public Functions
-
OgreRenderSystem()¶
-
virtual
~OgreRenderSystem()¶
-
virtual bool
initialize(const DataProxy &settings)¶ Intializes ogre render system
- Parameters
settings: DataProxy with initial settings for the render system
-
virtual void
shutdown()¶ Shutdown OGRE
-
virtual bool
prepareComponent(OgreRenderComponent *c)¶ Initializes OgreRenderComponent, injects objectManager, resourceManager and sceneManager
- Parameters
c: OgreRenderComponent component to initialize
-
virtual bool
fillComponentData(OgreRenderComponent *component, const DataProxy &data)¶ Finalizes setup
- Return
false if failed to initialize component for some reason
- Parameters
component: OgreRenderComponent component to initializedata: DataProxy with node settings
-
virtual void
update(const double &time)¶ Update render system
- Parameters
time: Elapsed time
-
virtual void
updateComponent(OgreRenderComponent *component, Entity *entity, const double &time)¶ Update OgreRenderComponent
- Parameters
component: OgreRenderComponent to updateentity: Entity that owns that componenttime: Elapsed time
-
virtual bool
removeComponent(OgreRenderComponent *component)¶ Remove render component from the system. Removes all related visual nodes
- Parameters
component: OgreRenderComponent component to remove
-
virtual bool
configure(const DataProxy &config)¶ Reconfigure render system
- Parameters
config: DataProxy with configs
-
DataProxy &
getConfig()¶ Get current configs of the system
-
GeomPtr
getGeometry(const BoundingBox &bounds, int flags = 0xFF)¶ Get implementation independent Geometry information
- Return
GeomPtr
- Parameters
bounds: get entities in boundsflags: filter entities by flags (default is all)
-
GeomPtr
getGeometry(std::vector<std::string> entities)¶ Get implementation independent Geometry information
- Return
GeomPtr
- Parameters
entities: filter entities by names
-
virtual TexturePtr
createTexture(RenderSystem::TextureHandle handle, const DataProxy ¶meters)¶ Create texture manually
- Parameters
handle: texture idparameters: variable parameters that can be used for texture creation
-
virtual TexturePtr
getTexture(RenderSystem::TextureHandle handle)¶ Get texture by name
- Parameters
handle: texture id
-
virtual bool
deleteTexture(RenderSystem::TextureHandle handle)¶ Delete texture by handle
- Return
true if succeed
- Parameters
handle: texture id
-
virtual void
renderQueueStarted(Ogre::uint8 queueGroupId, const Ogre::String &invocation, bool &skipThisInvocation)¶ Callback for ui updating 1.x, 2.0
-
virtual void
renderQueueEnded(Ogre::uint8 queueGroupId, const Ogre::String &invocation, bool &skipThisInvocation)¶ Render queue event pass through
-
template<typename
T>
voidregisterElement()¶ Register new type of factory in the render system
-
template<typename
T>
boolunregisterElement()¶ Unregister factory type
-
OgreEntities
getEntities(const unsigned int &query, const BoundingBox &bounds)¶ Gets all scene entities
- Parameters
query: Filter entities by some query, default is allbounds: filter entities which are intersected by bounds
-
OgreEntities
getEntities(const unsigned int &query = 0xFF)¶ Gets all scene entities
- Parameters
query: Filter entities by some query, default is all
-
Entities
getObjectsInRadius(const Ogre::Vector3 ¢er, float distance, const unsigned int flags = 0xFF, const std::string &id = "")¶ Get objects in radius
- Return
list of entities
- Parameters
position: Point to search arounddistance: Radius of the sphere query
-
virtual void
setWidth(unsigned int width, const std::string &target = "")¶ Set render target width
- Parameters
target: Render target name
-
virtual unsigned int
getWidth(const std::string &target = "") const¶ Get render window width
-
virtual void
setHeight(unsigned int height, const std::string &target = "")¶ Set render target height
- Parameters
target: Render target name
-
virtual unsigned int
getHeight(const std::string &target = "") const¶ Get render window height
-
virtual void
setSize(unsigned int width, unsigned int height, const std::string &target = "")¶ Set size of render target
- Parameters
target: Render target name
-
void
renderCameraToTarget(const std::string &cameraName, const std::string &target)¶ Render camera to texture with name
- Parameters
cameraName: Name of the camera to usetarget: Name of RTT to render to
-
void
renderCameraToTarget(Ogre::Camera *cam, const std::string &target)¶ Render camera to texture with name
- Parameters
cam: Camera pointertarget: Name of RTT to render to
-
RenderTargetPtr
createRenderTarget(const std::string &name, RenderTargetType::Type type, DataProxy parameters)¶ Create new render target
- Parameters
name: Render target nametype: Render target typeparameters: Additional parameters
-
RenderTargetPtr
getRenderTarget(const std::string &name)¶ Get render target by name
- Parameters
name: Render target name
-
RenderTargetPtr
getRenderTarget(Ogre::RenderTarget *target)¶ Get render target by wrapped Ogre::RenderTarget*
- Parameters
target: Ogre::RenderTarget
-
RenderTargetPtr
getMainRenderTarget()¶ Get main render target (window)
-
MaterialLoader *
getMaterialLoader()¶ Get material loader
-
bool
allowMultithreading()¶ Allow multithreaded mode for OgreRenderSystem
-
void
queueMutation(ObjectMutation::Callback callback)¶ Queue object mutation is called from Ogre wrappers
- Parameters
callback: Mutation callback
-
OgreObjectManager *
getObjectManager()¶ Gets object manager
Public Static Attributes
-
const std::string
ID¶
Protected Types
-
typedef std::queue<DataProxy>
ComponentLoadQueue¶
-
typedef std::map<std::string, RenderTargetPtr>
RenderTargets¶
-
typedef std::map<std::string, RenderTargetPtr>
RenderWindowsByHandle¶
Protected Functions
-
bool
handleWindowResized(EventDispatcher *sender, const Event &event)¶ Handle window resizing
- Parameters
sender: Engineevent: WindowEvent
-
bool
installPlugin(const std::string &name)¶
-
GeomPtr
getGeometry(OgreEntities entities)¶
-
void
removeAllRenderTargets()¶
Protected Attributes
-
Ogre::ManualMovableTextRendererFactory *
mManualMovableTextParticleFactory¶
-
OgreLogRedirect
mLogRedirect¶
-
OgreObjectManager
mObjectManager¶
-
WindowEventListener *
mWindowEventListener¶
-
ResourceManager *
mResourceManager¶
-
MaterialLoader *
mMaterialLoader¶
-
ComponentLoadQueue
mLoadQueue¶
-
RenderTargets
mRenderTargets¶
-
RenderTargetReverseIndex
mRenderTargetsReverseIndex¶
-
RenderTargetFactory
mRenderTargetFactory¶
-
RenderWindowsByHandle
mRenderWindowsByHandle¶
-
RenderTargetPtr
mWindow¶
-
ThreadSafeQueue<ObjectMutation>
mMutationQueue¶
-
ManualTextureManager
mManualTextureManager¶
-
typedef std::vector<Entity *>
-
class