QGIS API Documentation 3.43.0-Master (2366440f66a)
|
Container class that holds different objects related to frame graphs of 3D scenes. More...
#include <qgsframegraph.h>
Public Member Functions | |
QgsFrameGraph (QSurface *surface, QSize s, Qt3DRender::QCamera *mainCamera, Qt3DCore::QEntity *root) | |
Constructor. | |
void | addClipPlanes (int nrClipPlanes) |
Setups nrClipPlanes clip planes in the forward pass to enable OpenGL clipping. | |
QgsAmbientOcclusionRenderView & | ambientOcclusionRenderView () |
Returns ambient occlusion renderview. | |
Qt3DRender::QRenderCapture * | depthRenderCapture () |
Returns the render capture object used to take an image of the depth buffer of the scene. | |
QgsDepthRenderView & | depthRenderView () |
Returns depth renderview. | |
QString | dumpFrameGraph () const |
Dumps frame graph as string. | |
QString | dumpSceneGraph () const |
Dumps scene graph as string. | |
QgsForwardRenderView & | forwardRenderView () |
Returns forward renderview. | |
Qt3DRender::QFrameGraphNode * | frameGraphRoot () |
Returns the root of the frame graph object. | |
bool | isRenderViewEnabled (const QString &name) |
Returns true if the render view named name is found and enabled. | |
Qt3DRender::QCamera * | mainCamera () |
Returns the main camera. | |
QgsPostprocessingEntity * | postprocessingEntity () |
Returns the postprocessing entity. | |
bool | registerRenderView (std::unique_ptr< QgsAbstractRenderView > renderView, const QString &name, Qt3DRender::QFrameGraphNode *topNode=nullptr) |
Registers a new the render view renderView with name name. | |
void | removeClipPlanes () |
Disables OpenGL clipping. | |
Qt3DRender::QRenderCapture * | renderCapture () |
Returns the render capture object used to take an image of the scene. | |
bool | renderCaptureEnabled () const |
Returns whether it will be possible to render to an image. | |
QgsAbstractRenderView * | renderView (const QString &name) |
Returns the render view named name, if any. | |
Qt3DCore::QEntity * | rubberBandsRootEntity () |
Returns entity for all rubber bands (to show them always on top) | |
void | setClearColor (const QColor &clearColor) |
Sets the clear color of the scene (background color) | |
void | setDebugOverlayEnabled (bool enabled) |
Sets whether debug overlay is enabled. | |
void | setFrustumCullingEnabled (bool enabled) |
Sets whether frustum culling is enabled. | |
void | setRenderCaptureEnabled (bool enabled) |
Sets whether it will be possible to render to an image. | |
void | setRenderViewEnabled (const QString &name, bool enable) |
Enables or disables the render view named name according to enable. | |
void | setSize (QSize s) |
Sets the size of the buffers used for rendering. | |
void | setupEyeDomeLighting (bool enabled, double strength, int distance) |
Sets eye dome lighting shading related settings. | |
QgsShadowRenderView & | shadowRenderView () |
Returns shadow renderview. | |
void | unregisterRenderView (const QString &name) |
Unregisters the render view named name, if any. | |
void | updateDebugDepthMapSettings (const Qgs3DMapSettings &settings) |
Updates settings for depth debug map. | |
void | updateDebugShadowMapSettings (const Qgs3DMapSettings &settings) |
Updates settings for shadows debug map. | |
void | updateShadowSettings (const QgsShadowSettings &shadowSettings, const QList< QgsLightSource * > &lightSources) |
Updates shadow bias, light and texture size according to shadowSettings and lightSources. | |
Static Public Attributes | |
static const QString | AMBIENT_OCCLUSION_RENDERVIEW = "ambient_occlusion" |
Ambient occlusion render view name. | |
static const QString | AXIS3D_RENDERVIEW = "3daxis" |
static const QString | DEBUG_RENDERVIEW = "debug_texture" |
static const QString | DEPTH_RENDERVIEW = "depth" |
static const QString | FORWARD_RENDERVIEW = "forward" |
static const QString | SHADOW_RENDERVIEW = "shadow" |
Container class that holds different objects related to frame graphs of 3D scenes.
A frame graph captures configuration of rendering passes when 3D scene gets rendered.
Definition at line 66 of file qgsframegraph.h.
QgsFrameGraph::QgsFrameGraph | ( | QSurface * | surface, |
QSize | s, | ||
Qt3DRender::QCamera * | mainCamera, | ||
Qt3DCore::QEntity * | root | ||
) |
Constructor.
Definition at line 219 of file qgsframegraph.cpp.
void QgsFrameGraph::addClipPlanes | ( | int | nrClipPlanes | ) |
Setups nrClipPlanes clip planes in the forward pass to enable OpenGL clipping.
If nrClipPlanes is equal to 0, the clipping is disabled.
Definition at line 491 of file qgsframegraph.cpp.
QgsAmbientOcclusionRenderView & QgsFrameGraph::ambientOcclusionRenderView | ( | ) |
Returns ambient occlusion renderview.
Definition at line 514 of file qgsframegraph.cpp.
Qt3DRender::QRenderCapture * QgsFrameGraph::depthRenderCapture | ( | ) |
Returns the render capture object used to take an image of the depth buffer of the scene.
Definition at line 214 of file qgsframegraph.cpp.
QgsDepthRenderView & QgsFrameGraph::depthRenderView | ( | ) |
QString QgsFrameGraph::dumpFrameGraph | ( | ) | const |
Dumps frame graph as string.
Definition at line 423 of file qgsframegraph.cpp.
QString QgsFrameGraph::dumpSceneGraph | ( | ) | const |
Dumps scene graph as string.
Definition at line 436 of file qgsframegraph.cpp.
QgsForwardRenderView & QgsFrameGraph::forwardRenderView | ( | ) |
|
inline |
Returns the root of the frame graph object.
Definition at line 75 of file qgsframegraph.h.
bool QgsFrameGraph::isRenderViewEnabled | ( | const QString & | name | ) |
Returns true if the render view named name is found and enabled.
Definition at line 338 of file qgsframegraph.cpp.
|
inline |
Returns the main camera.
Definition at line 78 of file qgsframegraph.h.
|
inline |
Returns the postprocessing entity.
Definition at line 81 of file qgsframegraph.h.
bool QgsFrameGraph::registerRenderView | ( | std::unique_ptr< QgsAbstractRenderView > | renderView, |
const QString & | name, | ||
Qt3DRender::QFrameGraphNode * | topNode = nullptr |
||
) |
Registers a new the render view renderView with name name.
topNode is where the new renderview will be attached to. If nullptr then it will be attached to the main viewport. Will take ownership of the renderView.
Definition at line 305 of file qgsframegraph.cpp.
void QgsFrameGraph::removeClipPlanes | ( | ) |
Disables OpenGL clipping.
Definition at line 486 of file qgsframegraph.cpp.
|
inline |
Returns the render capture object used to take an image of the scene.
Definition at line 87 of file qgsframegraph.h.
|
inline |
Returns whether it will be possible to render to an image.
Definition at line 113 of file qgsframegraph.h.
QgsAbstractRenderView * QgsFrameGraph::renderView | ( | const QString & | name | ) |
Returns the render view named name, if any.
Definition at line 329 of file qgsframegraph.cpp.
|
inline |
Returns entity for all rubber bands (to show them always on top)
Definition at line 84 of file qgsframegraph.h.
void QgsFrameGraph::setClearColor | ( | const QColor & | clearColor | ) |
Sets the clear color of the scene (background color)
Definition at line 442 of file qgsframegraph.cpp.
void QgsFrameGraph::setDebugOverlayEnabled | ( | bool | enabled | ) |
Sets whether debug overlay is enabled.
Definition at line 481 of file qgsframegraph.cpp.
void QgsFrameGraph::setFrustumCullingEnabled | ( | bool | enabled | ) |
Sets whether frustum culling is enabled.
Definition at line 447 of file qgsframegraph.cpp.
void QgsFrameGraph::setRenderCaptureEnabled | ( | bool | enabled | ) |
Sets whether it will be possible to render to an image.
Definition at line 473 of file qgsframegraph.cpp.
void QgsFrameGraph::setRenderViewEnabled | ( | const QString & | name, |
bool | enable | ||
) |
Enables or disables the render view named name according to enable.
Definition at line 321 of file qgsframegraph.cpp.
void QgsFrameGraph::setSize | ( | QSize | s | ) |
Sets the size of the buffers used for rendering.
Definition at line 459 of file qgsframegraph.cpp.
void QgsFrameGraph::setupEyeDomeLighting | ( | bool | enabled, |
double | strength, | ||
int | distance | ||
) |
Sets eye dome lighting shading related settings.
Definition at line 452 of file qgsframegraph.cpp.
QgsShadowRenderView & QgsFrameGraph::shadowRenderView | ( | ) |
void QgsFrameGraph::unregisterRenderView | ( | const QString & | name | ) |
Unregisters the render view named name, if any.
Definition at line 296 of file qgsframegraph.cpp.
void QgsFrameGraph::updateDebugDepthMapSettings | ( | const Qgs3DMapSettings & | settings | ) |
Updates settings for depth debug map.
Definition at line 399 of file qgsframegraph.cpp.
void QgsFrameGraph::updateDebugShadowMapSettings | ( | const Qgs3DMapSettings & | settings | ) |
Updates settings for shadows debug map.
Definition at line 375 of file qgsframegraph.cpp.
void QgsFrameGraph::updateShadowSettings | ( | const QgsShadowSettings & | shadowSettings, |
const QList< QgsLightSource * > & | lightSources | ||
) |
Updates shadow bias, light and texture size according to shadowSettings and lightSources.
Definition at line 343 of file qgsframegraph.cpp.
|
static |
Ambient occlusion render view name.
Definition at line 225 of file qgsframegraph.h.
|
static |
Definition at line 221 of file qgsframegraph.h.
|
static |
Definition at line 223 of file qgsframegraph.h.
|
static |
Definition at line 222 of file qgsframegraph.h.
|
static |
Definition at line 219 of file qgsframegraph.h.
|
static |
Definition at line 220 of file qgsframegraph.h.