17 #ifndef IGNITION_RENDERING_OGRE2_OGRE2RENDERENGINE_HH_ 18 #define IGNITION_RENDERING_OGRE2_OGRE2RENDERENGINE_HH_ 31 #include "ignition/rendering/ogre2/Export.hh" 43 class HlmsPbsTerraShadows;
44 class CompositorWorkspaceListener;
51 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
54 class Ogre2RenderEnginePrivate;
55 class Ogre2IgnHlmsCustomizations;
90 public:
virtual void Destroy()
override;
93 public:
virtual bool IsEnabled()
const override;
100 public:
void AddResourcePath(
const std::string &_uri)
override;
103 public: Ogre::Window * OgreWindow()
const;
107 public:
virtual Ogre::Root *OgreRoot()
const;
118 const unsigned int _width,
const unsigned int _height,
119 const double _ratio,
const unsigned int _antiAliasing);
124 protected:
virtual ScenePtr CreateSceneImpl(
unsigned int _id,
133 protected:
virtual bool LoadImpl(
138 protected:
virtual bool InitImpl()
override;
141 private:
void LoadAttempt();
144 private:
void CreateLogger();
147 private:
void CreateContext();
150 private:
void RegisterHlms();
153 private:
void CreateRoot();
156 private:
void CreateOverlay();
159 private:
void LoadPlugins();
162 private:
void CreateRenderSystem();
165 private:
void CreateRenderWindow();
168 private:
void CreateResources();
171 private:
void InitAttempt();
179 public: Ogre2IgnHlmsCustomizations &HlmsCustomizations();
184 public: Ogre::v1::OverlaySystem *OverlaySystem()
const;
192 public: Ogre::HlmsPbsTerraShadows *HlmsPbsTerraShadows()
const;
202 public: Ogre::CompositorWorkspaceListener
203 *TerraWorkspaceListener()
const;
206 private: Ogre::v1::OverlaySystem *ogreOverlaySystem =
nullptr;
212 private: Ogre::Root *ogreRoot =
nullptr;
215 private: Ogre::LogManager *ogreLogManager =
nullptr;
221 private:
void *dummyDisplay =
nullptr;
224 private:
void *dummyContext =
nullptr;
227 private: uint64_t dummyWindowId = 0u;
230 private: Ogre::Window *window =
nullptr;
233 private:
bool useCurrentGLContext =
false;
Definition: BaseRenderEngine.hh:33
Ogre2 render engine class. A singleton class that manages the underlying ogre2 render engine...
Definition: Ogre2RenderEngine.hh:79
Plugin for loading ogre render engine.
Definition: Ogre2RenderEngine.hh:58
Base plugin class for render engines.
Definition: RenderEnginePlugin.hh:40
Definition: OgreCamera.hh:28
An abstract interface to a concrete render-engine. A RenderEngine is responsible for initializing a r...
Definition: RenderEngine.hh:36