QForwardRenderer Class

class Qt3DExtras::QForwardRenderer

Der QForwardRenderer bietet eine standardmäßige FrameGraph-Implementierung eines Vorwärts-Renderers. Mehr...

Kopfzeile: #include <QForwardRenderer>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
In QML: ForwardRenderer
Vererbt: Qt3DRender::QTechniqueFilter
Status: Veraltet

Eigenschaften

Öffentliche Funktionen

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

Öffentliche 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)

Signale

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)

Detaillierte Beschreibung

Forward Rendering ist das, was OpenGL traditionell verwendet. Es rendert direkt in den Backbuffer, ein Objekt nach dem anderen, und schattiert dabei jedes einzelne.

QForwardRenderer ist ein einblättriger FrameGraph-Baum, der ein Qt3DRender::QViewport, ein Qt3DRender::QCameraSelector und ein Qt3DRender::QClearBuffers enthält. Der QForwardRenderer hat einen Standardanforderungsfilterschlüssel mit dem Namen "renderingStyle" und dem Wert "forward". Wenn Sie Ihre Techniken herausfiltern müssen, sollten Sie dies auf der Grundlage dieses Filterschlüssels tun.

Standardmäßig nimmt das Ansichtsfenster den gesamten Bildschirm ein und die klare Farbe ist weiß. Das Frustum Culling ist ebenfalls aktiviert.

Dokumentation der Eigenschaft

buffersToClear : Qt3DRender::QClearBuffers::BufferType

Enthält die aktuell zu löschenden Puffer. Standardwert ist ColorDepthBuffer

Zugriffsfunktionen:

Qt3DRender::QClearBuffers::BufferType buffersToClear() const
void setBuffersToClear(Qt3DRender::QClearBuffers::BufferType)

Melder-Signal:

void buffersToClearChanged(Qt3DRender::QClearBuffers::BufferType)

camera : Qt3DCore::QEntity*

Enthält die aktuelle Kameraeinheit, die zum Rendern der Szene verwendet wird.

Hinweis: Eine Kamera ist eine QEntity, die eine QCameraLens als eine ihrer Komponenten hat.

Zugriffsfunktionen:

Qt3DCore::QEntity *camera() const
void setCamera(Qt3DCore::QEntity *camera)

Benachrichtigungssignal:

void cameraChanged(Qt3DCore::QEntity *camera)

clearColor : QColor

Enthält die aktuelle klare Farbe der Szene. Der Framebuffer wird vor dem Rendering auf die klare Farbe initialisiert.

Zugriffsfunktionen:

QColor clearColor() const
void setClearColor(const QColor &clearColor)

Benachrichtigungssignal:

void clearColorChanged(const QColor &clearColor)

externalRenderTargetSize : QSize

Enthält die Größe des externen Rendering-Ziels. Externe Renderziele sind relevant, wenn das Rendering nicht auf eine Fensteroberfläche abzielt (wie in surface festgelegt).

Zugriffsfunktionen:

QSize externalRenderTargetSize() const
void setExternalRenderTargetSize(const QSize &size)

Benachrichtigungssignal:

void externalRenderTargetSizeChanged(const QSize &size)

frustumCulling : bool

Zeigt an, ob der Renderer Frustum Culling auf die Szene anwendet.

Zugriffsfunktionen:

bool isFrustumCullingEnabled() const
void setFrustumCullingEnabled(bool enabled)

Benachrichtigungssignal:

void frustumCullingEnabledChanged(bool enabled)

gamma : float

Enthält den Gammawert, den der Renderer auf die Szene anwendet.

Zugriffsfunktionen:

float gamma() const
void setGamma(float gamma)

Benachrichtigungssignal:

void gammaChanged(float gamma)

showDebugOverlay : bool

Bei "true" wird ein Debug-Overlay über die Szene gerendert. Es zeigt detaillierte Informationen über den Rendering-Status zur Laufzeit an und ermöglicht es dem Benutzer, die Protokollierung ein- und auszuschalten, usw.

Zugriffsfunktionen:

bool showDebugOverlay() const
void setShowDebugOverlay(bool showDebugOverlay)

Benachrichtigungssignal:

void showDebugOverlayChanged(bool showDebugOverlay)

surface : QObject*

Enthält die aktuelle Renderoberfläche.

Zugriffsfunktionen:

QObject *surface() const
void setSurface(QObject *surface)

Benachrichtigungssignal:

void surfaceChanged(QObject *surface)

viewportRect : QRectF

Enthält das aktuelle normalisierte Ansichtsfenster-Rechteck.

Zugriffsfunktionen:

QRectF viewportRect() const
void setViewportRect(const QRectF &viewportRect)

Melder-Signal:

void viewportRectChanged(const QRectF &viewportRect)

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.