Auf dieser Seite

Qt3DExtras::QForwardRenderer Class

class Qt3DExtras::QForwardRenderer

Der QForwardRenderer bietet eine Standard -FrameGraph- Implementierung eines Forward-Renderers. Mehr...

Überschrift: #include <qforwardrenderer.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
In QML: ForwardRenderer
Erbt von: Qt3DRender::QTechniqueFilter
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

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)

Ausführliche Beschreibung

Forward-Rendering ist die traditionelle Methode, die OpenGL verwendet. Dabei wird direkt in den Backbuffer gerendert, wobei jeweils ein Objekt nach dem anderen dargestellt und dabei schattiert wird.

QForwardRenderer ist ein FrameGraph -Baum mit einem einzigen Blatt, der einen „ Qt3DRender::QViewport “, einen „ Qt3DRender::QCameraSelector “ und einen „ Qt3DRender::QClearBuffers “ enthält. Der QForwardRenderer verfügt über einen Standard-Anforderungsfilter-Schlüssel mit dem Namen „renderingStyle“ und dem Wert „forward“. Wenn Sie Ihre Techniken herausfiltern möchten, sollten Sie dies anhand dieses Filterschlüssels tun.

Standardmäßig nimmt der Viewport den gesamten Bildschirm ein und die Löschfarbe ist Weiß. Außerdem ist Frustum-Culling aktiviert.

Dokumentation zu den Eigenschaften

buffersToClear : Qt3DRender::QClearBuffers::BufferType

Enthält die aktuellen Puffer, die gelöscht werden sollen. Der Standardwert ist „ColorDepthBuffer“

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void buffersToClearChanged(Qt3DRender::QClearBuffers::BufferType)

camera : Qt3DCore::QEntity*

Enthält die aktuelle Kamera-Entität, die zum Rendern der Szene verwendet wird.

Hinweis: Eine Kamera ist eine QEntity, die eine QCameraLens als eine ihrer Komponenten enthält.

Zugriffsfunktionen:

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

Notifier-Signal:

void cameraChanged(Qt3DCore::QEntity *camera)

clearColor : QColor

Enthält die aktuelle Löschfarbe der Szene. Der Bildspeicher wird vor dem Rendern auf die Löschfarbe 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 Renderziels. Externe Renderziele sind relevant, wenn das Rendering nicht auf eine Fensteroberfläche ausgerichtet ist (wie unter surface festgelegt).

Zugriffsfunktionen:

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

Notifier-Signal:

void externalRenderTargetSizeChanged(const QSize &size)

frustumCulling : bool

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

Zugriffsfunktionen:

bool isFrustumCullingEnabled() const
void setFrustumCullingEnabled(bool enabled)

Notifier-Signal:

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)

Notifier-Signal:

void gammaChanged(float gamma)

showDebugOverlay : bool

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

Zugriffsfunktionen:

bool showDebugOverlay() const
void setShowDebugOverlay(bool showDebugOverlay)

Notifier-Signal:

void showDebugOverlayChanged(bool showDebugOverlay)

surface : QObject*

Enthält die aktuelle Renderfläche.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void surfaceChanged(QObject *surface)

viewportRect : QRectF

Enthält das aktuell normierte Viewport-Rechteck.

Zugriffsfunktionen:

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

Notifier-Signal:

void viewportRectChanged(const QRectF &viewportRect)

© 2026 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.