Gazebo Rendering

API Reference

9.0.0

Ogre2.x implementation of the render target class. More...

#include <Ogre2RenderTarget.hh>

Public Member Functions

virtual ~Ogre2RenderTarget ()
 Destructor.
 
virtual unsigned int AntiAliasing () const
 Get the anti-aliasing level.
 
virtual math::Color BackgroundColor () const override
 Get the background color of the render target. This should be the same as the scene background color.
 
virtual MaterialPtr BackgroundMaterial () const
 Get the background material of this camera.
 
virtual Ogre::Camera * Camera () const
 Get a pointer to the internal ogre camera.
 
virtual void Copy (Image &_image) const override
 Copy the render target buffer data to an image.
 
virtual void Destroy () override=0
 Destroy the render target.
 
unsigned int GLIdImpl () const
 
virtual bool IsRenderWindow () const
 Returns true if this is a render window.
 
void MetalIdImpl (void *_textureIdPtr) const
 
virtual void PostRender () override
 Post process this object and any of its children after rendering.
 
void PrepareForExternalSampling ()
 See Camera::PrepareForExternalSampling.
 
virtual void PreRender () override
 Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.
 
virtual void Render ()
 Main render call.
 
virtual Ogre::TextureGpu * RenderTarget () const =0
 Get a pointer to the ogre render target containing the results of the render.
 
virtual void SetAntiAliasing (unsigned int _aa)
 set the anti-aliasing level
 
virtual void SetBackgroundColor (math::Color _color)
 Set the background color of the render target.
 
virtual void SetBackgroundMaterial (MaterialPtr _material)
 Set the background material of this camera.
 
virtual void SetCamera (Ogre::Camera *_camera)
 Set the ogre camera to use for this render target.
 
void SetMaterial (MaterialPtr _material)
 Set a material to render on every object. This method is used for special cases like the render target of a depth camera.
 
void SetShadowsNodeDefDirty ()
 
virtual void SetVisibilityMask (uint32_t _mask)
 Set visibility mask for the viewport associated with this render target.
 
virtual uint32_t VisibilityMask () const
 Get visibility mask for the viewport associated with this render target.
 
- Public Member Functions inherited from BaseRenderTarget< Ogre2Object >
 BaseRenderTarget ()
 
virtual ~BaseRenderTarget ()
 
virtual void AddRenderPass (const RenderPassPtr &_pass) override
 Add a render pass to the render target.
 
virtual PixelFormat Format () const override
 Set the render target image format.
 
virtual unsigned int Height () const override
 Get render target height in pixels.
 
virtual void PreRender (const CameraPtr &_camera) override
 See Object::PreRender. This function will call Object::PreRender but with the added bonus that it has access to the camera that is about to render.
 
virtual bool Reinterpretable () const override
 See SetFormat()
 
void RemoveAllRenderPasses () override
 Remove all render passes from the render target.
 
virtual void RemoveRenderPass (const RenderPassPtr &_pass) override
 Remove a render pass from the render target.
 
virtual RenderPassPtr RenderPassByIndex (unsigned int _index) const override
 Get a render pass by index.
 
virtual unsigned int RenderPassCount () const override
 Get the number of render passes applied to the render target.
 
virtual void SetFormat (PixelFormat _format, bool _reinterpretable=false) override
 Set the render target image format.
 
virtual void SetHeight (const unsigned int _height) override
 Set the render target height in pixels.
 
virtual void SetWidth (const unsigned int _width) override
 Set the render target width in pixels.
 
virtual unsigned int Width () const override
 Get render target width in pixels.
 
- Public Member Functions inherited from RenderTarget
virtual ~RenderTarget ()
 Destructor.
 
virtual void PreRender ()=0
 Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.
 
- Public Member Functions inherited from Object
virtual ~Object ()
 Destructor.
 
virtual unsigned int Id () const =0
 Get the object ID. This ID will be unique across all objects inside a given scene, but necessarily true for objects across different scenes.
 
virtual std::string Name () const =0
 Get the object name. This name will be unique across all objects inside a given scene, but necessarily true for objects across different scenes.
 
virtual ScenePtr Scene () const =0
 Get the Scene that created this object.
 
- Public Member Functions inherited from Ogre2Object
virtual ~Ogre2Object ()
 Destructor.
 
virtual ScenePtr Scene () const override
 
- Public Member Functions inherited from BaseObject
virtual ~BaseObject ()
 
virtual unsigned int Id () const override
 
virtual std::string Name () const override
 

Static Public Member Functions

static uint8_t TargetFSAA (uint8_t _fsaa)
 Returns the FSAA to use based on supported specs by HW and value specified in _fsaa.
 
static void UpdateRenderPassChain (Ogre::CompositorWorkspace *_workspace, const std::string &_workspaceDefName, const std::string &_baseNode, const std::string &_finalNode, const std::vector< RenderPassPtr > &_renderPasses, bool _recreateNodes, Ogre::TextureGpu *(*_ogreTextures)[2], bool _isRenderWindow)
 Update the render pass chain.
 

Protected Member Functions

 Ogre2RenderTarget ()
 Constructor.
 
virtual void BuildCompositor ()
 Build the compositor.
 
void BuildTargetImpl ()
 Build the render texture.
 
virtual void DestroyCompositor ()
 Destroy the compositor.
 
void DestroyTargetImpl ()
 Destroy the render texture.
 
virtual void RebuildCompositor ()
 Rebuild the compositor.
 
virtual void RebuildImpl () override
 Implementation of the Rebuild function.
 
void RebuildMaterial ()
 Re-initializes render target material to apply a material to everything in the scene. Does nothing if no material has been set.
 
virtual void RebuildTarget ()=0
 Rebuild the render target.
 
Ogre::TextureGpu * RenderTargetImpl () const
 Get a pointer to the ogre render target containing the results of the render (implemented separately to avoid breaking ABI of the pure virtual function)
 
uint8_t TargetFSAA () const
 Returns the FSAA to use based on supported specs by HW and value specified in Ogre2RenderTarget::AntiAliasing.
 
virtual void UpdateBackgroundColor ()
 Update the background color.
 
virtual void UpdateBackgroundMaterial ()
 Update the background material.
 
virtual void UpdateRenderPassChain ()
 Update the render pass chain.
 
- Protected Member Functions inherited from BaseRenderTarget< Ogre2Object >
virtual void Rebuild ()
 
- Protected Member Functions inherited from Ogre2Object
 Ogre2Object ()
 Constructor.
 
- Protected Member Functions inherited from BaseObject
 BaseObject ()
 
virtual void Init ()
 
virtual void Load ()
 

Protected Attributes

unsigned int antiAliasing = 4
 Anti-aliasing level.
 
MaterialPtr backgroundMaterial
 Background material of the render target.
 
bool backgroundMaterialDirty = false
 Flag to indicate if the render target background material has changed.
 
bool colorDirty = true
 Flag to indicate if the render target color has changed.
 
MaterialPtr material
 a material used by for the render target
 
Ogre2RenderTargetMaterialPtr materialApplicator
 Helper class that applies the material to the render target.
 
Ogre::ColourValue ogreBackgroundColor
 Stores the background color of the render target.
 
Ogre::Camera * ogreCamera = nullptr
 Pointer to the internal ogre camera.
 
Ogre::CompositorWorkspace * ogreCompositorWorkspace = nullptr
 Ogre's compositor workspace - the main interface to render into a render target or render texture.
 
std::string ogreCompositorWorkspaceDefName
 Ogre's compositor workspace definition name.
 
uint32_t visibilityMask = GZ_VISIBILITY_ALL
 visibility mask associated with this render target
 
- Protected Attributes inherited from BaseRenderTarget< Ogre2Object >
PixelFormat format
 
unsigned int height
 
bool reinterpretable
 
bool renderPassDirty
 Flag to indicate if render pass need to be rebuilt.
 
std::vector< RenderPassPtrrenderPasses
 A chain of render passes applied to the render target.
 
bool targetDirty
 
unsigned int width
 
- Protected Attributes inherited from Ogre2Object
Ogre2ScenePtr scene
 Pointer to the ogre scene.
 
- Protected Attributes inherited from BaseObject
unsigned int id
 
std::string name
 

Detailed Description

Ogre2.x implementation of the render target class.

Constructor & Destructor Documentation

◆ Ogre2RenderTarget()

Ogre2RenderTarget ( )
protected

Constructor.

◆ ~Ogre2RenderTarget()

virtual ~Ogre2RenderTarget ( )
virtual

Destructor.

Member Function Documentation

◆ AntiAliasing()

virtual unsigned int AntiAliasing ( ) const
virtual

Get the anti-aliasing level.

◆ BackgroundColor()

virtual math::Color BackgroundColor ( ) const
overridevirtual

Get the background color of the render target. This should be the same as the scene background color.

Returns
Render target background color.

Reimplemented from BaseRenderTarget< Ogre2Object >.

◆ BackgroundMaterial()

virtual MaterialPtr BackgroundMaterial ( ) const
virtual

Get the background material of this camera.

Returns
background material

◆ BuildCompositor()

virtual void BuildCompositor ( )
protectedvirtual

Build the compositor.

◆ BuildTargetImpl()

void BuildTargetImpl ( )
protected

Build the render texture.

◆ Camera()

virtual Ogre::Camera * Camera ( ) const
virtual

Get a pointer to the internal ogre camera.

Returns
Pointer to ogre camera

◆ Copy()

virtual void Copy ( Image _image) const
overridevirtual

Copy the render target buffer data to an image.

Parameters
[in]_imageImage to copy the data to

Implements RenderTarget.

◆ Destroy()

virtual void Destroy ( )
overridepure virtual

Destroy the render target.

Implements Object.

Implemented in Ogre2RenderTexture, and Ogre2RenderWindow.

◆ DestroyCompositor()

virtual void DestroyCompositor ( )
protectedvirtual

Destroy the compositor.

◆ DestroyTargetImpl()

void DestroyTargetImpl ( )
protected

Destroy the render texture.

◆ GLIdImpl()

unsigned int GLIdImpl ( ) const

◆ IsRenderWindow()

virtual bool IsRenderWindow ( ) const
virtual

Returns true if this is a render window.

Returns
True if this render target is a render window

Reimplemented in Ogre2RenderWindow.

◆ MetalIdImpl()

void MetalIdImpl ( void *  _textureIdPtr) const

◆ PostRender()

virtual void PostRender ( )
overridevirtual

Post process this object and any of its children after rendering.

Reimplemented from BaseRenderTarget< Ogre2Object >.

Reimplemented in Ogre2RenderTexture.

◆ PrepareForExternalSampling()

void PrepareForExternalSampling ( )

◆ PreRender()

virtual void PreRender ( )
overridevirtual

Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.

Reimplemented from BaseRenderTarget< Ogre2Object >.

Reimplemented in Ogre2RenderTexture.

◆ RebuildCompositor()

virtual void RebuildCompositor ( )
protectedvirtual

Rebuild the compositor.

◆ RebuildImpl()

virtual void RebuildImpl ( )
overrideprotectedvirtual

Implementation of the Rebuild function.

Implements BaseRenderTarget< Ogre2Object >.

◆ RebuildMaterial()

void RebuildMaterial ( )
protected

Re-initializes render target material to apply a material to everything in the scene. Does nothing if no material has been set.

See also
Ogre2RenderTarget::RebuildImpl()
BaseRenderTarget::Rebuild()

◆ RebuildTarget()

virtual void RebuildTarget ( )
protectedpure virtual

Rebuild the render target.

Implemented in Ogre2RenderTexture, and Ogre2RenderWindow.

◆ Render()

virtual void Render ( )
virtual

Main render call.

◆ RenderTarget()

virtual Ogre::TextureGpu * RenderTarget ( ) const
pure virtual

Get a pointer to the ogre render target containing the results of the render.

Implemented in Ogre2RenderTexture, and Ogre2RenderWindow.

◆ RenderTargetImpl()

Ogre::TextureGpu * RenderTargetImpl ( ) const
protected

Get a pointer to the ogre render target containing the results of the render (implemented separately to avoid breaking ABI of the pure virtual function)

◆ SetAntiAliasing()

virtual void SetAntiAliasing ( unsigned int  _aa)
virtual

set the anti-aliasing level

Parameters
[in]_aaAnti-aliasing level

◆ SetBackgroundColor()

virtual void SetBackgroundColor ( math::Color  _color)
virtual

Set the background color of the render target.

Parameters
[in]_colorColor to set the background to

◆ SetBackgroundMaterial()

virtual void SetBackgroundMaterial ( MaterialPtr  _material)
virtual

Set the background material of this camera.

Parameters
[in]_materialMaterial to set the background to

◆ SetCamera()

virtual void SetCamera ( Ogre::Camera *  _camera)
virtual

Set the ogre camera to use for this render target.

Parameters
[in]_cameraPointer to ogre camera

◆ SetMaterial()

void SetMaterial ( MaterialPtr  _material)

Set a material to render on every object. This method is used for special cases like the render target of a depth camera.

Parameters
[in]_materialThe material to render

◆ SetShadowsNodeDefDirty()

void SetShadowsNodeDefDirty ( )
See also
Camera::SetShadowsNodeDefDirty

◆ SetVisibilityMask()

virtual void SetVisibilityMask ( uint32_t  _mask)
virtual

Set visibility mask for the viewport associated with this render target.

Parameters
[in]_maskVisibility mask

◆ TargetFSAA() [1/2]

uint8_t TargetFSAA ( ) const
protected

Returns the FSAA to use based on supported specs by HW and value specified in Ogre2RenderTarget::AntiAliasing.

Returns
Value in range [1; 256). 1 means no antialiasing.

◆ TargetFSAA() [2/2]

static uint8_t TargetFSAA ( uint8_t  _fsaa)
static

Returns the FSAA to use based on supported specs by HW and value specified in _fsaa.

Parameters
[in]_fsaaValue in range [1; 256). 1 means no antialiasing.
Returns
Value in range [1; 256). 1 means no antialiasing.

◆ UpdateBackgroundColor()

virtual void UpdateBackgroundColor ( )
protectedvirtual

Update the background color.

◆ UpdateBackgroundMaterial()

virtual void UpdateBackgroundMaterial ( )
protectedvirtual

Update the background material.

◆ UpdateRenderPassChain() [1/2]

virtual void UpdateRenderPassChain ( )
protectedvirtual

Update the render pass chain.

◆ UpdateRenderPassChain() [2/2]

static void UpdateRenderPassChain ( Ogre::CompositorWorkspace *  _workspace,
const std::string _workspaceDefName,
const std::string _baseNode,
const std::string _finalNode,
const std::vector< RenderPassPtr > &  _renderPasses,
bool  _recreateNodes,
Ogre::TextureGpu *(*)  _ogreTextures[2],
bool  _isRenderWindow 
)
static

Update the render pass chain.

◆ VisibilityMask()

virtual uint32_t VisibilityMask ( ) const
virtual

Get visibility mask for the viewport associated with this render target.

Returns
Visibility mask

Member Data Documentation

◆ antiAliasing

unsigned int antiAliasing = 4
protected

Anti-aliasing level.

◆ backgroundMaterial

MaterialPtr backgroundMaterial
protected

Background material of the render target.

◆ backgroundMaterialDirty

bool backgroundMaterialDirty = false
protected

Flag to indicate if the render target background material has changed.

◆ colorDirty

bool colorDirty = true
protected

Flag to indicate if the render target color has changed.

◆ material

MaterialPtr material
protected

a material used by for the render target

◆ materialApplicator

Ogre2RenderTargetMaterialPtr materialApplicator
protected

Helper class that applies the material to the render target.

◆ ogreBackgroundColor

Ogre::ColourValue ogreBackgroundColor
protected

Stores the background color of the render target.

◆ ogreCamera

Ogre::Camera* ogreCamera = nullptr
protected

Pointer to the internal ogre camera.

◆ ogreCompositorWorkspace

Ogre::CompositorWorkspace* ogreCompositorWorkspace = nullptr
protected

Ogre's compositor workspace - the main interface to render into a render target or render texture.

◆ ogreCompositorWorkspaceDefName

std::string ogreCompositorWorkspaceDefName
protected

Ogre's compositor workspace definition name.

◆ visibilityMask

uint32_t visibilityMask = GZ_VISIBILITY_ALL
protected

visibility mask associated with this render target


The documentation for this class was generated from the following file: