18 #ifndef IGNITION_RENDERING_OGRE2_OGRE2SEGMENTATIONCAMERA_HH_ 19 #define IGNITION_RENDERING_OGRE2_OGRE2SEGMENTATIONCAMERA_HH_ 42 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
45 class Ogre2SegmentationCameraPrivate;
60 public:
virtual void Init()
override;
63 public:
virtual void Destroy()
override;
66 public:
virtual void PreRender()
override;
69 public:
virtual void PostRender()
override;
73 ConnectNewSegmentationFrame(
74 std::function<
void(
const uint8_t *,
unsigned int,
unsigned int,
75 unsigned int,
const std::string &)> _subscriber)
override;
78 public:
virtual void Render()
override;
85 public:
void SetBackgroundLabel(
int _label)
override;
88 public:
void LabelMapFromColoredBuffer(
89 uint8_t * _labelBuffer)
const override;
92 public:
virtual Ogre::Camera *
OgreCamera()
const override;
95 protected:
void CreateCamera();
98 protected:
virtual void CreateRenderTexture();
101 protected:
virtual void CreateSegmentationTexture()
override;
104 protected: Ogre::Camera *ogreCamera =
nullptr;
Ogre2.x implementation of the scene class.
Definition: Ogre2Scene.hh:57
Definition: BaseSegmentationCamera.hh:34
Represents a render-target to which cameras can render images.
Definition: RenderTarget.hh:37
Segmentation camera used to label each pixel with a label id. Supports Semantic / Panoptic Segmentati...
Definition: Ogre2SegmentationCamera.hh:49
Definition: OgreCamera.hh:42
Mixin class to provide direct access to Ogre objects.
Definition: Ogre2ObjectInterface.hh:31