QForwardRenderer Class
class Qt3DExtras::QForwardRendererThe 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 |
Instantiated By: | ForwardRenderer |
Inherits: | Qt3DRender::QTechniqueFilter |
Properties
|
|
Public Functions
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 |
Public Slots
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) |
Signals
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) |
Detailed Description
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.
Property Documentation
buffersToClear : Qt3DRender::QClearBuffers::BufferType
Holds the current buffers to be cleared. Default value is ColorDepthBuffer
Access functions:
Qt3DRender::QClearBuffers::BufferType | buffersToClear() const |
void | setBuffersToClear(Qt3DRender::QClearBuffers::BufferType) |
Notifier signal:
void | buffersToClearChanged(Qt3DRender::QClearBuffers::BufferType) |
camera : Qt3DCore::QEntity*
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) |
clearColor : QColor
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) |
externalRenderTargetSize : QSize
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) |
frustumCulling : bool
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) |
gamma : float
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) |
showDebugOverlay : bool
If 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.
Access functions:
bool | showDebugOverlay() const |
void | setShowDebugOverlay(bool showDebugOverlay) |
Notifier signal:
void | showDebugOverlayChanged(bool showDebugOverlay) |
surface : QObject*
Holds the current render surface.
Access functions:
QObject * | surface() const |
void | setSurface(QObject *surface) |
Notifier signal:
void | surfaceChanged(QObject *surface) |
viewportRect : QRectF
Holds the current normalized viewport rectangle.
Access functions:
QRectF | viewportRect() const |
void | setViewportRect(const QRectF &viewportRect) |
Notifier signal:
void | viewportRectChanged(const QRectF &viewportRect) |