An abstract interface to a concrete render-engine. A RenderEngine is responsible for initializing a render-engine as well as creating, storing, and destroying scenes. More...
#include <gz/rendering/RenderEngine.hh>
Public Member Functions | |
virtual | ~RenderEngine () |
Destructor. More... | |
virtual void | AddResourcePath (const std::string &_path)=0 |
Add path to media resource location. More... | |
virtual NativeWindowPtr | CreateNativeWindow (const std::string &_winHandle, const uint32_t _width, const uint32_t _height, const double _ratio)=0 |
Creates a basic native window. Note: This is useful when you need a basic single window with both great performance and compatibility. But e.g. creating more than one window may have additional complexities depending on OS and RenderSystem. More... | |
virtual ScenePtr | CreateScene (const std::string &_name)=0 |
Create a new scene with the given name. The given name should be unique across all scenes managed by this render-engine. If a duplicate name is given, NULL will be returned. An unique ID will automatically be assigned to the created scene. More... | |
virtual ScenePtr | CreateScene (unsigned int _id, const std::string &_name)=0 |
Create a new scene with the given ID. The given ID should be unique across all scenes managed by this render-engine. If a duplicate ID is given, NULL will be returned. An unique name will automatically be assigned to the created scene. More... | |
virtual void | Destroy ()=0 |
Destroys all scenes created by render-engine and releases all loaded resources. This should be called when the given render-engine will no longer be used during runtime. More... | |
virtual void | DestroyScene (ScenePtr _scene)=0 |
Destroy the given scene. If the given scene is not managed by this render-engine, no work will be done. More... | |
virtual void | DestroySceneById (unsigned int _id)=0 |
Destroy the scene with the given ID. If no scenes exist with the given ID, no work will be done. More... | |
virtual void | DestroySceneByIndex (unsigned int _index)=0 |
Destroy the scene at the given index. If no scenes exist at the given index, no work will be done. More... | |
virtual void | DestroySceneByName (const std::string &_name)=0 |
Destroy the scene with the given name. If no scenes exist with the given name, no work will be done. More... | |
virtual void | DestroyScenes ()=0 |
Destroy all scenes managed by this render-engine. More... | |
virtual bool | Fini ()=0 |
virtual rendering::GraphicsAPI | GraphicsAPI () const =0 |
Returns the GraphicsAPI currently in use. More... | |
virtual bool | HasScene (ConstScenePtr _scene) const =0 |
Determine if the given scene is actively managed by this render-engine. More... | |
virtual bool | HasSceneId (unsigned int _id) const =0 |
Determine if this render-engine manages a scene with the given ID. More... | |
virtual bool | HasSceneName (const std::string &_name) const =0 |
Determine if this render-engine manages a scene with the given name. More... | |
virtual bool | Headless () const =0 |
Get headless mode. More... | |
virtual bool | Init ()=0 |
Initialize the render-engine. This should be called immediately after a successful call to Load. More... | |
virtual bool | IsEnabled () const =0 |
Determines if the render-engine can be used. Despite loading and initializing the render-engine, it may not be possible to use due to hardware capabilities of the runtime system. More... | |
virtual bool | IsInitialized () const =0 |
Determines if the render-engine has been initialized. More... | |
virtual bool | IsLoaded () const =0 |
Determines if the render-engine has been loaded. More... | |
virtual bool | Load (const std::map< std::string, std::string > &_params={})=0 |
Load any necessary resources to set up render-engine. This should called before any other function. More... | |
virtual std::string | Name () const =0 |
Get name of the render-engine. More... | |
virtual RenderPassSystemPtr | RenderPassSystem () const =0 |
Get the render pass system for this engine. More... | |
virtual ScenePtr | SceneById (unsigned int _id) const =0 |
Get the scene with the given ID. If no scenes exist with the given ID, NULL will be returned. More... | |
virtual ScenePtr | SceneByIndex (unsigned int _index) const =0 |
Get the scene at the given index. If no scenes exist at the given index, NULL will be returned. More... | |
virtual ScenePtr | SceneByName (const std::string &_name) const =0 |
Get the scene with the given name. If no scenes exist with the given name, NULL will be returned. More... | |
virtual unsigned int | SceneCount () const =0 |
Get the number of scenes actively managed by this render-engine. More... | |
virtual void | SetHeadless (bool _headless)=0 |
Set headless mode Only available in OGRE 2.2, which makes use of EGL. More... | |
Detailed Description
An abstract interface to a concrete render-engine. A RenderEngine is responsible for initializing a render-engine as well as creating, storing, and destroying scenes.
Constructor & Destructor Documentation
◆ ~RenderEngine()
|
virtual |
Destructor.
Member Function Documentation
◆ AddResourcePath()
|
pure virtual |
Add path to media resource location.
- Parameters
-
[in] _path Absolute path to resource location
Implemented in Ogre2RenderEngine, OgreRenderEngine, and BaseRenderEngine.
◆ CreateNativeWindow()
|
pure virtual |
Creates a basic native window. Note: This is useful when you need a basic single window with both great performance and compatibility. But e.g. creating more than one window may have additional complexities depending on OS and RenderSystem.
- Parameters
-
[in] _winHandle See samples on what to fill in here [in] _width Starting width [in] _height Starting height [in] _ratio Device pixel ratio (typically needed for retina displays)
- Returns
- NativeWindow. It may be nullptr if the underlying engine hasn't implemented one
Implemented in Ogre2RenderEngine, and BaseRenderEngine.
◆ CreateScene() [1/2]
|
pure virtual |
Create a new scene with the given name. The given name should be unique across all scenes managed by this render-engine. If a duplicate name is given, NULL will be returned. An unique ID will automatically be assigned to the created scene.
- Parameters
-
[in] _name Name of the new scene
- Returns
- The created scene
Implemented in BaseRenderEngine.
◆ CreateScene() [2/2]
|
pure virtual |
Create a new scene with the given ID. The given ID should be unique across all scenes managed by this render-engine. If a duplicate ID is given, NULL will be returned. An unique name will automatically be assigned to the created scene.
- Parameters
-
[in] _id ID of the new scene [in] _name Name of the new scene
- Returns
- The created scene
Implemented in BaseRenderEngine.
◆ Destroy()
|
pure virtual |
Destroys all scenes created by render-engine and releases all loaded resources. This should be called when the given render-engine will no longer be used during runtime.
Implemented in Ogre2RenderEngine, OgreRenderEngine, and BaseRenderEngine.
◆ DestroyScene()
|
pure virtual |
Destroy the given scene. If the given scene is not managed by this render-engine, no work will be done.
- Parameters
-
[in] _scene Scene to be destroyed
Implemented in BaseRenderEngine.
◆ DestroySceneById()
|
pure virtual |
Destroy the scene with the given ID. If no scenes exist with the given ID, no work will be done.
- Parameters
-
[in] _id ID of the scene to destroy
Implemented in BaseRenderEngine.
◆ DestroySceneByIndex()
|
pure virtual |
Destroy the scene at the given index. If no scenes exist at the given index, no work will be done.
- Parameters
-
[in] _index Index of the scene to destroy
Implemented in BaseRenderEngine.
◆ DestroySceneByName()
|
pure virtual |
Destroy the scene with the given name. If no scenes exist with the given name, no work will be done.
- Parameters
-
[in] _name Name of the scene to destroy
Implemented in BaseRenderEngine.
◆ DestroyScenes()
|
pure virtual |
Destroy all scenes managed by this render-engine.
Implemented in BaseRenderEngine.
◆ Fini()
|
pure virtual |
Implemented in BaseRenderEngine.
◆ GraphicsAPI()
|
pure virtual |
Returns the GraphicsAPI currently in use.
- Returns
- GraphicsAPI currently in use
Implemented in Ogre2RenderEngine, OgreRenderEngine, and BaseRenderEngine.
◆ HasScene()
|
pure virtual |
Determine if the given scene is actively managed by this render-engine.
- Parameters
-
[in] _scene Scene in question
- Returns
- True if the scene is managed by this render-engine
Implemented in BaseRenderEngine.
◆ HasSceneId()
|
pure virtual |
Determine if this render-engine manages a scene with the given ID.
- Parameters
-
[in] _id ID of scene in question
- Returns
- True if this render-engine manages the specified scene
Implemented in BaseRenderEngine.
◆ HasSceneName()
|
pure virtual |
Determine if this render-engine manages a scene with the given name.
- Parameters
-
[in] _name Name of scene in question
- Returns
- True if this render-engine manages the specified scene
Implemented in BaseRenderEngine.
◆ Headless()
|
pure virtual |
Get headless mode.
- Returns
- True if headless mode is enable, false otherwise.
Implemented in BaseRenderEngine.
◆ Init()
|
pure virtual |
Initialize the render-engine. This should be called immediately after a successful call to Load.
- Returns
- True if the render-engine was successfully initialized
Implemented in BaseRenderEngine.
◆ IsEnabled()
|
pure virtual |
Determines if the render-engine can be used. Despite loading and initializing the render-engine, it may not be possible to use due to hardware capabilities of the runtime system.
- Returns
- True if the render-engine can be used
Implemented in Ogre2RenderEngine, OgreRenderEngine, and BaseRenderEngine.
◆ IsInitialized()
|
pure virtual |
Determines if the render-engine has been initialized.
- Returns
- True if the render-engine is initialized
Implemented in BaseRenderEngine.
◆ IsLoaded()
|
pure virtual |
Determines if the render-engine has been loaded.
- Returns
- True if the render-engine is loaded
Implemented in BaseRenderEngine.
◆ Load()
|
pure virtual |
Load any necessary resources to set up render-engine. This should called before any other function.
- Parameters
-
[in] _params Parameters to be passed to the underlying rendering engine.
- Returns
- True if the render-engine was successfully loaded
Implemented in BaseRenderEngine.
◆ Name()
|
pure virtual |
Get name of the render-engine.
- Returns
- The render-engine name
Implemented in Ogre2RenderEngine, and OgreRenderEngine.
Referenced by BaseCamera< T >::CreateRenderWindow(), BaseWideAngleCamera< T >::Project3d(), BaseMesh< T >::SetSkeletonWeights(), BaseVisual< T >::SetStatic(), BaseVisual< T >::SetVisible(), and BaseVisual< T >::SetWireframe().
◆ RenderPassSystem()
|
pure virtual |
Get the render pass system for this engine.
Implemented in BaseRenderEngine.
◆ SceneById()
|
pure virtual |
Get the scene with the given ID. If no scenes exist with the given ID, NULL will be returned.
- Parameters
-
[in] _id ID of scene to be retrieved
- Returns
- The specified scene
Implemented in BaseRenderEngine.
◆ SceneByIndex()
|
pure virtual |
Get the scene at the given index. If no scenes exist at the given index, NULL will be returned.
- Parameters
-
[in] _index Index of scene, which is a number from 0 to SceneCount() - 1. Note that the index for a specific scene might change as other scenes are destroyed.
- Returns
- The specified scene
Implemented in BaseRenderEngine.
◆ SceneByName()
|
pure virtual |
Get the scene with the given name. If no scenes exist with the given name, NULL will be returned.
- Parameters
-
[in] _name Name of scene to be retrieved
- Returns
- The specified scene
Implemented in BaseRenderEngine.
◆ SceneCount()
|
pure virtual |
Get the number of scenes actively managed by this render-engine.
- Returns
- The number of active scenes
Implemented in BaseRenderEngine.
◆ SetHeadless()
|
pure virtual |
Set headless mode Only available in OGRE 2.2, which makes use of EGL.
- Parameters
-
[in] _headless Set to true to enable headless mode.
Implemented in BaseRenderEngine.
The documentation for this class was generated from the following file: