17 #ifndef GZ_RENDERING_OGRE2_OGRE2SCENE_HH_
18 #define GZ_RENDERING_OGRE2_OGRE2SCENE_HH_
28 #include "gz/rendering/ogre2/Export.hh"
32 #pragma GCC system_header
34 #pragma warning(push, 0)
36 #include <Compositor/OgreCompositorShadowNode.h>
51 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
54 class Ogre2ScenePrivate;
69 public:
virtual void Fini()
override;
79 const std::chrono::steady_clock::duration &_time)
override;
94 public:
virtual void Clear()
override;
116 uint8_t _numPass)
override;
143 public:
void StartForcedRender();
149 public:
void EndForcedRender();
160 public:
void StartRendering(Ogre::Camera *_camera);
173 public:
void FlushGpuCommandsAndStartNewFrame(uint8_t _numPasses,
174 bool _startNewFrame);
178 protected:
void FlushGpuCommandsOnly();
192 protected:
void EndFrame();
199 public:
void SetShadowsDirty(
bool _dirty);
205 public:
bool ShadowsDirty()
const;
220 unsigned int _id,
const std::string &_name)
override;
232 unsigned int _id,
const std::string &_name)
override;
252 unsigned int _id,
const std::string &_name)
override;
256 unsigned int _id,
const std::string &_name)
override;
260 unsigned int _id,
const std::string &_name)
override;
264 unsigned int _id,
const std::string &_name)
override;
350 unsigned int _id,
const std::string &_name)
override;
354 unsigned int _id,
const std::string &_name)
override;
358 unsigned int _id,
const std::string &_name)
override;
362 unsigned int _id,
const std::string &_name)
override;
366 unsigned int _id,
const std::string &_name)
override;
371 unsigned int _id,
const std::string &_name)
override;
376 unsigned int _id,
const std::string &_name)
override;
413 private:
void CreateShadowNodeWithSettings(
414 Ogre::CompositorManager2 *_compositorManager,
416 const Ogre::ShadowNodeHelper::ShadowParamVec &_shadowParams);
434 private:
void CreateContext();
437 private:
void CreateRootVisual();
440 private:
void CreateMeshFactory();
443 private:
void CreateStores();
474 protected: Ogre::SceneManager *ogreSceneManager =
nullptr;