Enable and configure Global Illumination using CIVCT (Cascaded Image Voxel Cone Tracing) More...
#include <GlobalIlluminationCiVct.hh>
Signals | |
void | CameraListChanged () |
Notify camera list has changed. More... | |
void | CascadesEditableChanged () |
Notify this property has changed. More... | |
void | DebugVisualizationModeChanged () |
Notify debug visualization has changed. More... | |
void | EnabledChanged () |
Notify this property has changed. More... | |
void | LightingChanged () |
Notify fast-to-rebuild properties may have changed. More... | |
void | qmlAddCascade () |
Tells QML to add a cascade from UI thread. MUST start lowercase. More... | |
void | qmlAddCascade2 (quint32 _resX, quint32 _resY, quint32 _resZ, quint32 _octX, quint32 _octY, quint32 _octZ, float _ahsX, float _ahsY, float _ahsZ, float _thinWallCounter) |
Tells QML to add a cascade from UI thread. MUST start lowercase. More... | |
void | SettingsChanged () |
Notify various properties may have changed. More... | |
Public Member Functions | |
GlobalIlluminationCiVct () | |
Constructor. More... | |
~GlobalIlluminationCiVct () override | |
Destructor. More... | |
Q_INVOKABLE QObject * | AddCascade () |
Adds a new cascade based on the previous one (if there's any) More... | |
Q_INVOKABLE bool | Anisotropic () const |
See rendering::GlobalIlluminationCiVct::Anisotropic. More... | |
Q_INVOKABLE uint32_t | BounceCount () const |
See rendering::GlobalIlluminationCiVct::BounceCount. More... | |
Q_INVOKABLE QStringList | CameraList () |
Populates available cameras. More... | |
Q_INVOKABLE bool | CascadesEditable () const |
Returns true when it's possible to add/remove cascades False when it's not. More... | |
Q_INVOKABLE uint32_t | DebugVisualizationMode () const |
See rendering::GlobalIlluminationCiVct::DebugVisualizationMode. More... | |
Q_INVOKABLE bool | Enabled () const |
See rendering::GlobalIlluminationCiVct::Enabled. More... | |
bool | eventFilter (QObject *_obj, QEvent *_event) override |
Q_INVOKABLE QObject * | GetCascade (int _idx) const |
Retrieves an existing cascade. More... | |
Q_INVOKABLE bool | HighQuality () const |
See rendering::GlobalIlluminationCiVct::HighQuality. More... | |
void | LoadConfig (const tinyxml2::XMLElement *_pluginElem) override |
void | LoadGlobalIlluminationCiVct () |
Load the scene and attach LidarVisual to the scene. More... | |
Q_INVOKABLE void | OnCamareBind (const QString &_cameraName) |
Binds the given camera as active for the center of all cascades. More... | |
Q_INVOKABLE void | OnRefreshCameras () |
Populates available cameras. More... | |
Q_INVOKABLE void | PopCascade () |
Pops the last created cascade. More... | |
Q_INVOKABLE void | ResetCascades () |
Disables this GI solution and makes cascades editable again. More... | |
Q_INVOKABLE void | SetAnisotropic (const bool _anisotropic) |
See rendering::GlobalIlluminationCiVct::SetAnisotropic. More... | |
Q_INVOKABLE void | SetBounceCount (const uint32_t _bounces) |
See rendering::GlobalIlluminationCiVct::SetBounceCount. More... | |
Q_INVOKABLE void | SetDebugVisualizationMode (const uint32_t _visMode) |
See rendering::GlobalIlluminationCiVct::SetDebugVisualizationMode. More... | |
Q_INVOKABLE bool | SetEnabled (const bool _enabled) |
See rendering::GlobalIlluminationCiVct::SetEnabled & rendering::Scene::SetActiveGlobalIllumination. More... | |
Q_INVOKABLE void | SetHighQuality (const bool _quality) |
See rendering::GlobalIlluminationCiVct::SetHighQuality. More... | |
Q_INVOKABLE void | UpdateDebugVisualizationMode (int _mode) |
Set debug visualization mode GlogbalIllumination. More... | |
Public Member Functions inherited from GuiSystem | |
virtual void | Update (const UpdateInfo &_info, EntityComponentManager &_ecm) |
Update callback called every time the system is stepped. This is called at a Gazebo Transport thread, so any interaction with Qt should be done through signals and slots. More... | |
Public Member Functions inherited from Plugin | |
Plugin () | |
virtual | ~Plugin () |
QQuickItem * | CardItem () const |
virtual std::string | ConfigStr () |
QQmlContext * | Context () const |
bool | DeleteLaterRequested () const |
void | Load (const tinyxml2::XMLElement *_pluginElem) |
QQuickItem * | PluginItem () const |
void | PostParentChanges () |
virtual std::string | Title () const |
Properties | |
bool | anisotropic |
int | bounceCount |
QStringList | cameraList |
bool | cascadesEditable |
int | debugVisualizationMode |
bool | enabled |
Enabled QML binding. Anything that isn't GUI-only (i.e. affects simulation) needs it. More... | |
bool | highQuality |
Additional Inherited Members | |
Protected Member Functions inherited from Plugin | |
void | DeleteLater () |
Protected Attributes inherited from Plugin | |
std::string | configStr |
std::string | title |
Detailed Description
Enable and configure Global Illumination using CIVCT (Cascaded Image Voxel Cone Tracing)
Constructor & Destructor Documentation
◆ GlobalIlluminationCiVct()
Constructor.
◆ ~GlobalIlluminationCiVct()
|
override |
Destructor.
Member Function Documentation
◆ AddCascade()
Q_INVOKABLE QObject* AddCascade | ( | ) |
Adds a new cascade based on the previous one (if there's any)
- Returns
- A CiVctCascade ptr to be used by QML
◆ Anisotropic()
Q_INVOKABLE bool Anisotropic | ( | ) | const |
See rendering::GlobalIlluminationCiVct::Anisotropic.
- Returns
- See rendering::GlobalIlluminationCiVct::Anisotropic
◆ BounceCount()
Q_INVOKABLE uint32_t BounceCount | ( | ) | const |
See rendering::GlobalIlluminationCiVct::BounceCount.
- Returns
- See rendering::GlobalIlluminationCiVct::BounceCount
◆ CameraList()
Q_INVOKABLE QStringList CameraList | ( | ) |
Populates available cameras.
◆ CameraListChanged
|
signal |
Notify camera list has changed.
◆ CascadesEditable()
Q_INVOKABLE bool CascadesEditable | ( | ) | const |
Returns true when it's possible to add/remove cascades False when it's not.
- Returns
- True if cascades can be added/removed
◆ CascadesEditableChanged
|
signal |
Notify this property has changed.
◆ DebugVisualizationMode()
Q_INVOKABLE uint32_t DebugVisualizationMode | ( | ) | const |
See rendering::GlobalIlluminationCiVct::DebugVisualizationMode.
- Returns
- See rendering::GlobalIlluminationCiVct::DebugVisualizationMode
◆ DebugVisualizationModeChanged
|
signal |
Notify debug visualization has changed.
◆ Enabled()
Q_INVOKABLE bool Enabled | ( | ) | const |
See rendering::GlobalIlluminationCiVct::Enabled.
- Returns
- See rendering::GlobalIlluminationCiVct::Enabled
◆ EnabledChanged
|
signal |
Notify this property has changed.
◆ eventFilter()
|
override |
◆ GetCascade()
Q_INVOKABLE QObject* GetCascade | ( | int | _idx | ) | const |
Retrieves an existing cascade.
- Parameters
-
_idx Index of the cascade. Must be in range (you must track how many times AddCascade() & PopCascade() has been called).
- Returns
- A CiVctCascade ptr to be used by QML
◆ HighQuality()
Q_INVOKABLE bool HighQuality | ( | ) | const |
See rendering::GlobalIlluminationCiVct::HighQuality.
- Returns
- See rendering::GlobalIlluminationCiVct::HighQuality
◆ LightingChanged
|
signal |
Notify fast-to-rebuild properties may have changed.
◆ LoadConfig()
|
overridevirtual |
Reimplemented from Plugin.
◆ LoadGlobalIlluminationCiVct()
void LoadGlobalIlluminationCiVct | ( | ) |
Load the scene and attach LidarVisual to the scene.
◆ OnCamareBind()
Q_INVOKABLE void OnCamareBind | ( | const QString & | _cameraName | ) |
Binds the given camera as active for the center of all cascades.
- Parameters
-
[in] _cameraName Name of an existing camera to track Currently it must be a Camera in the GUI. In the future something more advanced to synchronize with Server will be needed.
◆ OnRefreshCameras()
Q_INVOKABLE void OnRefreshCameras | ( | ) |
Populates available cameras.
◆ PopCascade()
Q_INVOKABLE void PopCascade | ( | ) |
Pops the last created cascade.
◆ qmlAddCascade
|
signal |
Tells QML to add a cascade from UI thread. MUST start lowercase.
◆ qmlAddCascade2
|
signal |
Tells QML to add a cascade from UI thread. MUST start lowercase.
- Parameters
-
[in] _resX Resolution X [in] _resY Resolution Y [in] _resZ Resolution Z [in] _octX Octant Count X [in] _octY Octant Count Y [in] _octZ Octant Count Z [in] _ahsX Area Half Size X [in] _ahsY Area Half Size Y [in] _ahsZ Area Half Size Z [in] _thinWallCounter thinWallCounter parameter
◆ ResetCascades()
Q_INVOKABLE void ResetCascades | ( | ) |
Disables this GI solution and makes cascades editable again.
◆ SetAnisotropic()
Q_INVOKABLE void SetAnisotropic | ( | const bool | _anisotropic | ) |
See rendering::GlobalIlluminationCiVct::SetAnisotropic.
- Parameters
-
[in] _anisotropic See GlobalIlluminationCiVct::SetAnisotropic
◆ SetBounceCount()
Q_INVOKABLE void SetBounceCount | ( | const uint32_t | _bounces | ) |
See rendering::GlobalIlluminationCiVct::SetBounceCount.
- Parameters
-
[in] _bounces See GlobalIlluminationCiVct::SetBounceCount
◆ SetDebugVisualizationMode()
Q_INVOKABLE void SetDebugVisualizationMode | ( | const uint32_t | _visMode | ) |
See rendering::GlobalIlluminationCiVct::SetDebugVisualizationMode.
- Parameters
-
[in] _visMode See GlobalIlluminationCiVct::SetDebugVisualizationMode
◆ SetEnabled()
Q_INVOKABLE bool SetEnabled | ( | const bool | _enabled | ) |
See rendering::GlobalIlluminationCiVct::SetEnabled & rendering::Scene::SetActiveGlobalIllumination.
- Parameters
-
[in] _enabled See GlobalIlluminationCiVct::SetEnabled
- Returns
- The new setting. We may fail to enable if settings are invalid See ValidSettings()
◆ SetHighQuality()
Q_INVOKABLE void SetHighQuality | ( | const bool | _quality | ) |
See rendering::GlobalIlluminationCiVct::SetHighQuality.
- Parameters
-
[in] _quality See GlobalIlluminationCiVct::SetHighQuality
◆ SettingsChanged
|
signal |
Notify various properties may have changed.
◆ UpdateDebugVisualizationMode()
Q_INVOKABLE void UpdateDebugVisualizationMode | ( | int | _mode | ) |
Set debug visualization mode GlogbalIllumination.
- Parameters
-
[in] _mode Index of selected debug visualization mode
Property Documentation
◆ anisotropic
|
readwrite |
◆ bounceCount
|
readwrite |
◆ cameraList
|
read |
◆ cascadesEditable
|
read |
◆ debugVisualizationMode
|
readwrite |
◆ enabled
|
readwrite |
Enabled QML binding. Anything that isn't GUI-only (i.e. affects simulation) needs it.
◆ highQuality
|
readwrite |
The documentation for this class was generated from the following file: