18 #ifndef IGNITION_RENDERING_OGRE2_OGRE2DEPTHCAMERA_HH_ 19 #define IGNITION_RENDERING_OGRE2_OGRE2DEPTHCAMERA_HH_ 49 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
52 class Ogre2DepthCameraPrivate;
66 public:
virtual void Init()
override;
69 public:
virtual void Destroy()
override;
72 public:
virtual void CreateRenderTexture();
76 public:
virtual void CreateDepthTexture()
override;
80 private:
void CreateWorkspaceInstance();
83 public:
virtual void PreRender()
override;
86 public:
virtual void PostRender()
override;
90 public:
virtual const float *DepthData()
const override;
97 unsigned int,
const std::string &)> _subscriber)
override;
103 std::function<
void(
const float *,
unsigned int,
unsigned int,
104 unsigned int,
const std::string &)> _subscriber)
override;
107 public:
virtual void Render()
override;
111 public:
virtual void SetFarClipPlane(
const double _far)
override;
115 public:
virtual void SetNearClipPlane(
const double _near)
override;
120 public:
double NearClipPlane()
const override;
125 public:
double FarClipPlane()
const override;
128 public:
void SetShadowsDirty()
override;
131 public:
void AddRenderPass(
const RenderPassPtr &_pass)
override;
134 public:
virtual Ogre::Camera *
OgreCamera()
const override;
144 protected:
static double LimitFOV(
const double _fov);
147 protected:
void CreateCamera();
154 private:
void SetShadowsNodeDefDirty();
Depth camera used to render depth data into an image buffer.
Definition: Ogre2DepthCamera.hh:55
Ogre2.x implementation of the scene class.
Definition: Ogre2Scene.hh:57
Represents a render-target to which cameras can render images.
Definition: RenderTarget.hh:37
Definition: BaseCamera.hh:41
Definition: OgreCamera.hh:28
Definition: OgreCamera.hh:42
Mixin class to provide direct access to Ogre objects.
Definition: Ogre2ObjectInterface.hh:31
Ogre::Camera * ogreCamera
Pointer to the ogre camera.
Definition: Ogre2DepthCamera.hh:157