Gazebo Rendering

API Reference

9.0.0
GlobalIlluminationBase Class Referenceabstract

There can be many global illumination solutions. More...

#include <GlobalIlluminationBase.hh>

Public Types

enum  ParticipatingVisualsFlags { DYNAMIC_VISUALS = 1u << 0u , STATIC_VISUALS = 1u << 1u }
 Bitmask of which objects are considered by GI bounces. Note that all objects can receive indirect illumination. More...
 

Public Member Functions

 GlobalIlluminationBase ()
 Constructor.
 
virtual ~GlobalIlluminationBase ()
 Destructor.
 
virtual uint32_t BounceCount () const =0
 Get number of bounces.
 
virtual void Build ()=0
 Build the internal structures required for producing GI This function may take significant time.
 
virtual bool Enabled () const =0
 Returns true if this GI configuration is currently enabled.
 
virtual uint32_t ParticipatingVisuals () const =0
 Visuals that can bounce GI.
 
virtual void SetBounceCount (uint32_t _bounceCount)=0
 Set the number of GI bounces. Very high number can cause a large performance impact.
 
virtual void SetParticipatingVisuals (uint32_t _mask)=0
 Set which visuals can bounce GI.
 
virtual void UpdateCamera ()=0
 Called by Scene on an active GlobalIlluminationBase whenever first rendering happens for a new frame. This implies Build has been called already.
 
virtual void UpdateLighting ()=0
 Called by Scene on an active GlobalIlluminationBase whenever lighting changes. This implies Build has been called already.
 

Protected Member Functions

virtual void Destroy ()=0
 Destroy the class.
 
virtual void Init ()=0
 Initialize the class.
 
virtual void SetEnabled (bool _enabled)=0
 Sets this GI solution as enabled.
 

Detailed Description

There can be many global illumination solutions.

gz/rendering/GlobalIlluminationBase.hh

This class is the base of them all for (most) shared settings

Member Enumeration Documentation

◆ ParticipatingVisualsFlags

Bitmask of which objects are considered by GI bounces. Note that all objects can receive indirect illumination.

However often only static objects can reflect/bounce/cast indirect illumination

Enumerator
DYNAMIC_VISUALS 

Dynamic objects can bounce GI (depending on the solution, this may be slow)

STATIC_VISUALS 

Static objects can bounce GI.

Constructor & Destructor Documentation

◆ GlobalIlluminationBase()

Constructor.

◆ ~GlobalIlluminationBase()

virtual ~GlobalIlluminationBase ( )
virtual

Destructor.

Member Function Documentation

◆ BounceCount()

virtual uint32_t BounceCount ( ) const
pure virtual

Get number of bounces.

Returns
Number of bounces

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ Build()

virtual void Build ( )
pure virtual

Build the internal structures required for producing GI This function may take significant time.

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ Destroy()

virtual void Destroy ( )
protectedpure virtual

Destroy the class.

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ Enabled()

virtual bool Enabled ( ) const
pure virtual

Returns true if this GI configuration is currently enabled.

Returns
True if this GI solution is currently enabled

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ Init()

virtual void Init ( )
protectedpure virtual

Initialize the class.

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ ParticipatingVisuals()

virtual uint32_t ParticipatingVisuals ( ) const
pure virtual

Visuals that can bounce GI.

Returns
See ParticipatingVisualsFlags

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ SetBounceCount()

virtual void SetBounceCount ( uint32_t  _bounceCount)
pure virtual

Set the number of GI bounces. Very high number can cause a large performance impact.

Parameters
[in]_bounceCountValue in range [0; inf)

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ SetEnabled()

virtual void SetEnabled ( bool  _enabled)
protectedpure virtual

Sets this GI solution as enabled.

Remarks
Only one GI solution can be active at the same time
See also
Scene::SetActiveGlobalIllumination
Parameters
[in]_enabledTrue to enable, false otherwise

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ SetParticipatingVisuals()

virtual void SetParticipatingVisuals ( uint32_t  _mask)
pure virtual

Set which visuals can bounce GI.

Parameters
[in]_maskSee ParticipatingVisualsFlags

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ UpdateCamera()

virtual void UpdateCamera ( )
pure virtual

Called by Scene on an active GlobalIlluminationBase whenever first rendering happens for a new frame. This implies Build has been called already.

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.

◆ UpdateLighting()

virtual void UpdateLighting ( )
pure virtual

Called by Scene on an active GlobalIlluminationBase whenever lighting changes. This implies Build has been called already.

Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.


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