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 |
Destructor.
Member Function Documentation
◆ BounceCount()
|
pure virtual |
Get number of bounces.
- Returns
- Number of bounces
Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.
◆ Build()
|
pure virtual |
Build the internal structures required for producing GI This function may take significant time.
Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.
◆ Destroy()
|
protectedpure virtual |
Destroy the class.
Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.
◆ Enabled()
|
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()
|
protectedpure virtual |
Initialize the class.
Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.
◆ ParticipatingVisuals()
|
pure virtual |
Visuals that can bounce GI.
- Returns
- See ParticipatingVisualsFlags
Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.
◆ SetBounceCount()
|
pure virtual |
Set the number of GI bounces. Very high number can cause a large performance impact.
- Parameters
-
[in] _bounceCount Value in range [0; inf)
Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.
◆ SetEnabled()
|
protectedpure virtual |
Sets this GI solution as enabled.
- Remarks
- Only one GI solution can be active at the same time
- Parameters
-
[in] _enabled True to enable, false otherwise
Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.
◆ SetParticipatingVisuals()
|
pure virtual |
Set which visuals can bounce GI.
- Parameters
-
[in] _mask See ParticipatingVisualsFlags
Implemented in Ogre2GlobalIlluminationCiVct, and Ogre2GlobalIlluminationVct.
◆ 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()
|
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: