The QForwardRenderer provides a default FrameGraph implementation of a forward renderer. More...
Header: | #include <QForwardRenderer> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
qmake: | QT += 3dextras |
Since: | Qt 5.7 |
Instantiated By: | ForwardRenderer |
Inherits: | Qt3DRender::QTechniqueFilter |
|
|
Qt3DRender::QClearBuffers::BufferType | buffersToClear() const |
Qt3DCore::QEntity * | camera() const |
QColor | clearColor() const |
QSize | externalRenderTargetSize() const |
float | gamma() const |
bool | isFrustumCullingEnabled() const |
bool | showDebugOverlay() const |
QObject * | surface() const |
QRectF | viewportRect() const |
void | setBuffersToClear(Qt3DRender::QClearBuffers::BufferType) |
void | setCamera(Qt3DCore::QEntity *camera) |
void | setClearColor(const QColor &clearColor) |
void | setExternalRenderTargetSize(const QSize &size) |
void | setFrustumCullingEnabled(bool enabled) |
void | setGamma(float gamma) |
void | setShowDebugOverlay(bool showDebugOverlay) |
void | setSurface(QObject *surface) |
void | setViewportRect(const QRectF &viewportRect) |
void | buffersToClearChanged(Qt3DRender::QClearBuffers::BufferType) |
void | cameraChanged(Qt3DCore::QEntity *camera) |
void | clearColorChanged(const QColor &clearColor) |
void | externalRenderTargetSizeChanged(const QSize &size) |
void | frustumCullingEnabledChanged(bool enabled) |
void | gammaChanged(float gamma) |
void | showDebugOverlayChanged(bool showDebugOverlay) |
void | surfaceChanged(QObject *surface) |
void | viewportRectChanged(const QRectF &viewportRect) |
Forward rendering is what OpenGL traditionally uses. It renders directly to the backbuffer one object at a time shading each one as it goes.
QForwardRenderer is a single leaf FrameGraph tree which contains a Qt3DRender::QViewport, a Qt3DRender::QCameraSelector, and a Qt3DRender::QClearBuffers. The QForwardRenderer has a default requirement filter key whose name is "renderingStyle" and value "forward". If you need to filter out your techniques, you should do so based on that filter key.
By default the viewport occupies the whole screen and the clear color is white. Frustum culling is also enabled.
[since 5.14]
buffersToClear : Qt3DRender::QClearBuffers::BufferTypeHolds the current buffers to be cleared. Default value is ColorDepthBuffer
This property was introduced in Qt 5.14.
Access functions:
Qt3DRender::QClearBuffers::BufferType | buffersToClear() const |
void | setBuffersToClear(Qt3DRender::QClearBuffers::BufferType) |
Notifier signal:
void | buffersToClearChanged(Qt3DRender::QClearBuffers::BufferType) |
Holds the current camera entity used to render the scene.
Note: A camera is a QEntity that has a QCameraLens as one of its components.
Access functions:
Qt3DCore::QEntity * | camera() const |
void | setCamera(Qt3DCore::QEntity *camera) |
Notifier signal:
void | cameraChanged(Qt3DCore::QEntity *camera) |
Holds the current clear color of the scene. The frame buffer is initialized to the clear color before rendering.
Access functions:
QColor | clearColor() const |
void | setClearColor(const QColor &clearColor) |
Notifier signal:
void | clearColorChanged(const QColor &clearColor) |
Contains the size of the external render target. External render targets are relevant when rendering does not target a window surface (as set in surface).
Access functions:
QSize | externalRenderTargetSize() const |
void | setExternalRenderTargetSize(const QSize &size) |
Notifier signal:
void | externalRenderTargetSizeChanged(const QSize &size) |
Indicates if the renderer applies frustum culling to the scene.
Access functions:
bool | isFrustumCullingEnabled() const |
void | setFrustumCullingEnabled(bool enabled) |
Notifier signal:
void | frustumCullingEnabledChanged(bool enabled) |
Holds the gamma value the renderer applies to the scene.
Access functions:
float | gamma() const |
void | setGamma(float gamma) |
Notifier signal:
void | gammaChanged(float gamma) |
[since 5.15]
showDebugOverlay : boolIf true, a debug overlay will be rendered over the scene. It will show detailed information about the runtime rendering state, let the user turn logging on and off, etc.
This property was introduced in Qt 5.15.
Access functions:
bool | showDebugOverlay() const |
void | setShowDebugOverlay(bool showDebugOverlay) |
Notifier signal:
void | showDebugOverlayChanged(bool showDebugOverlay) |
Holds the current render surface.
Access functions:
QObject * | surface() const |
void | setSurface(QObject *surface) |
Notifier signal:
void | surfaceChanged(QObject *surface) |
Holds the current normalized viewport rectangle.
Access functions:
QRectF | viewportRect() const |
void | setViewportRect(const QRectF &viewportRect) |
Notifier signal:
void | viewportRectChanged(const QRectF &viewportRect) |