17 #ifndef GZ_RENDERING_OGRE_WIDEANGLECAMERA_HH_
18 #define GZ_RENDERING_OGRE_WIDEANGLECAMERA_HH_
24 #include <gz/utils/ImplPtr.hh>
43 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
48 protected Ogre::CompositorInstance::Listener
57 public:
virtual void Init()
override;
60 public:
virtual void CreateRenderTexture();
63 public:
virtual void PostRender()
override;
66 public:
virtual void Destroy()
override;
70 public:
unsigned int EnvTextureSize()
const;
74 public:
void SetEnvTextureSize(
int _size);
80 public:
bool SetBackgroundColor(
const math::Color &_color);
99 public:
void SetUniformVariables(Ogre::Pass *_pass,
100 float _ratio,
float _hfov);
103 public:
virtual void PreRender()
override;
106 public:
virtual void Render()
override;
110 std::function<
void(
const unsigned char *,
unsigned int,
unsigned int,
111 unsigned int,
const std::string &)> _subscriber)
override;
114 public:
virtual void SetVisibilityMask(uint32_t _mask)
override;
117 protected:
void CreateWideAngleTexture()
override;
120 protected:
void CreateCamera();
123 protected:
void CreateEnvCameras();
129 protected:
void notifyMaterialRender(Ogre::uint32 _pass_id,
130 Ogre::MaterialPtr &_material)
override;
140 GZ_UTILS_UNIQUE_IMPL_PTR(dataPtr)