Gazebo Rendering

API Reference

8.1.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

◆ Build()

virtual void Build ( )
pure virtual

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

◆ Destroy()

virtual void Destroy ( )
protectedpure virtual

Destroy the class.

◆ 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

◆ Init()

virtual void Init ( )
protectedpure virtual

Initialize the class.

◆ ParticipatingVisuals()

virtual uint32_t ParticipatingVisuals ( ) const
pure virtual

Visuals that can bounce GI.

Returns
See ParticipatingVisualsFlags

◆ 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)

◆ 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

◆ SetParticipatingVisuals()

virtual void SetParticipatingVisuals ( uint32_t _mask)
pure virtual

Set which visuals can bounce GI.

Parameters
[in]_maskSee ParticipatingVisualsFlags

◆ 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.

◆ UpdateLighting()

virtual void UpdateLighting ( )
pure virtual

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


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