Go to the documentation of this file.
17 #ifndef GZ_RENDERING_OGRE2_OGRE2RENDERENGINE_HH_
18 #define GZ_RENDERING_OGRE2_OGRE2RENDERENGINE_HH_
25 #include <gz/common/SingletonT.hh>
32 #include "gz/rendering/ogre2/Export.hh"
44 class HlmsPbsTerraShadows;
45 class CompositorWorkspaceListener;
52 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
55 class Ogre2RenderEnginePrivate;
56 class Ogre2IgnHlmsCustomizations;
91 public:
virtual void Destroy()
override;
94 public:
virtual bool IsEnabled()
const override;
101 public:
void AddResourcePath(
const std::string &_uri)
override;
104 public: Ogre::Window * OgreWindow()
const;
108 public:
virtual Ogre::Root *OgreRoot()
const;
119 const unsigned int _width,
const unsigned int _height,
120 const double _ratio,
const unsigned int _antiAliasing);
131 protected:
virtual ScenePtr CreateSceneImpl(
unsigned int _id,
140 protected:
virtual bool LoadImpl(
145 protected:
virtual bool InitImpl()
override;
148 private:
void LoadAttempt();
151 private:
void CreateLogger();
154 private:
void CreateContext();
157 private:
void RegisterHlms();
160 private:
void CreateRoot();
163 private:
void CreateOverlay();
166 private:
void LoadPlugins();
169 private:
void CreateRenderSystem();
172 private:
void CreateRenderWindow();
175 private:
void CreateResources();
178 private:
void InitAttempt();
186 public: Ogre2IgnHlmsCustomizations &HlmsCustomizations();
191 public: Ogre::v1::OverlaySystem *OverlaySystem()
const;
199 public: Ogre::HlmsPbsTerraShadows *HlmsPbsTerraShadows()
const;
209 public: Ogre::CompositorWorkspaceListener
210 *TerraWorkspaceListener()
const;
213 private: Ogre::v1::OverlaySystem *ogreOverlaySystem =
nullptr;
219 private: Ogre::Root *ogreRoot =
nullptr;
222 private: Ogre::LogManager *ogreLogManager =
nullptr;
228 private:
void *dummyDisplay =
nullptr;
231 private:
void *dummyContext =
nullptr;
234 private: uint64_t dummyWindowId = 0u;
237 private: Ogre::Window *window =
nullptr;
240 private:
bool useCurrentGLContext =
false;
Plugin for loading ogre render engine.
Definition: gz/rendering/ogre2/Ogre2RenderEngine.hh:59
Definition: gz/rendering/ogre/OgreCamera.hh:27
Base plugin class for render engines.
Definition: gz/rendering/RenderEnginePlugin.hh:40
GraphicsAPI
The graphics API used by the render engine.
Definition: gz/rendering/GraphicsAPI.hh:32
Ogre2 render engine class. A singleton class that manages the underlying ogre2 render engine,...
Definition: gz/rendering/ogre2/Ogre2RenderEngine.hh:80
An abstract interface to a concrete render-engine. A RenderEngine is responsible for initializing a r...
Definition: gz/rendering/RenderEngine.hh:36
Definition: gz/rendering/base/BaseRenderEngine.hh:33