Auf dieser Seite

QSSGRenderExtension Class

Basisklasse für Erweiterungs-Backend-Knoten-Implementierungen. Mehr...

Header: #include <QSSGRenderExtension>
Since: Qt 6.7
Inherited By:

QSSGRenderTextureProviderExtension

Öffentliche Typen

enum class RenderMode { Standalone, Main }
enum class RenderStage { PreColor, PostColor }

Öffentliche Funktionen

virtual QSSGRenderExtension::RenderMode mode() const = 0
virtual bool prepareData(QSSGFrameData &data) = 0
virtual void prepareRender(QSSGFrameData &data) = 0
virtual void render(QSSGFrameData &data) = 0
virtual void resetForFrame() = 0
virtual QSSGRenderExtension::RenderStage stage() const = 0

Geschützte Funktionen

QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags)

Detaillierte Beschreibung

Siehe auch QQuick3DRenderExtension.

Dokumentation der Mitgliedstypen

enum class QSSGRenderExtension::RenderMode

Gibt den Modus der Rendererweiterung an.

KonstanteWertBeschreibung
QSSGRenderExtension::RenderMode::Standalone0Der Rendering-Code wird während der Render-Vorbereitungsphase vollständig aufgezeichnet. Dies bedeutet in der Regel, dass einige Ausgaben für eine vorangehende Rendererweiterung(en) erstellt werden. Wenn dieser Modus verwendet wird, werden die Funktionen prepareRender() und render() beide während der Vorbereitungsphase des Frames aufgerufen.
QSSGRenderExtension::RenderMode::Main1Der Rendering-Code wird innerhalb des Haupt-Rendering-Durchgangs aufgezeichnet. In diesem Modus wird die Funktion prepareRender() in der Vorbereitungsphase des Bildes aufgerufen, während render() in der Renderphase des Bildes aufgerufen wird.

enum class QSSGRenderExtension::RenderStage

Gibt die Reihenfolge an, in der die Erweiterung aufgerufen wird.

KonstanteWertBeschreibung
QSSGRenderExtension::RenderStage::PreColor0Der Rendering-Code wird vor dem Hauptdurchlauf (Farbe) aufgezeichnet und ausgeführt.
QSSGRenderExtension::RenderStage::PostColor1Der Rendering-Code wird nach dem Haupt-(Farb-)Durchlauf aufgezeichnet und ausgeführt.

Hinweis: Die RenderStage ist nur relevant, wenn die RenderMode auf Main gesetzt ist.

Dokumentation der Mitgliedsfunktionen

[protected] QSSGRenderExtension::QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags)

Konstruktor, der es dem Benutzer erlaubt, einen Benutzertyp und Flags für eine Erweiterung anzugeben.

Hinweis: Für benutzerdefinierte Erweiterungen muss der Typ eine Kombination aus QSSGRenderGraphObject::BaseType::User und einem Wert zwischen 0 und 4095 sein.

Hinweis: Der Typ QSSGRenderGraphObject::BaseType::Extension wird automatisch zu der angegebenen inType hinzugefügt.

Hinweis: Die inFlags muss Flags::HasGraphicsResources enthalten, wenn die Erweiterung Grafikressourcen zuweist.

[pure virtual] QSSGRenderExtension::RenderMode QSSGRenderExtension::mode() const

Gibt den für diese Erweiterung verwendeten Rendermodus zurück.

[pure virtual] bool QSSGRenderExtension::prepareData(QSSGFrameData &data)

Wird aufgerufen, nachdem die Szene data gesammelt wurde, aber bevor irgendwelche Renderdaten oder das Rendering im aktuellen Frame durchgeführt wurden.

Gibt den Zustand Dirty zurück. Gibt true zurück, wenn schmutzige Daten vorhanden sind, die gerendert werden müssen.

Hinweis: Viele der Daten, die während der Vorbereitungs- und Rendering-Phase von der Engine erstellt/gesammelt werden, gelten pro Frame und sollten zu Beginn des nächsten Frames freigegeben oder als freigegeben angenommen werden.

Siehe auch QSSGFrameData.

[pure virtual] void QSSGRenderExtension::prepareRender(QSSGFrameData &data)

Daten für das Rendering vorbereiten. Erstellen und Sammeln der für das Rendering benötigten data. Jede Rendering-Erweiterung, die vor dieser geplant war, wurde verarbeitet. Darüber hinaus wird jede Rendering-Erweiterung im Modus RenderMode::Standalone, wenn sie erfolgreich war, vollständig abgeschlossen sein.

Hinweis: Viele der Daten, die während der Vorbereitungs- und Rendering-Phasen von der Engine erstellt/gesammelt werden, sind bildbezogen und sollten zu Beginn des nächsten Bildes freigegeben oder als freigegeben angenommen werden.

Siehe auch QSSGFrameData.

[pure virtual] void QSSGRenderExtension::render(QSSGFrameData &data)

Zeichnet den Rendervorgang auf. Abhängig von den Erweiterungen mode wird diese Funktion während der Vorbereitungs- oder Renderphase des Frames aufgerufen.

Verwenden Sie data, um Zugriff auf den Renderkontext zu erhalten, aus dem das aktive QRhi Objekt abgefragt werden kann.

Siehe auch QSSGRenderExtension::RenderMode.

[pure virtual] void QSSGRenderExtension::resetForFrame()

Wird jedes Mal aufgerufen, wenn ein neuer Frame beginnt. Alle Daten des vorherigen Frames sollten zu diesem Zeitpunkt gelöscht werden.

[pure virtual] QSSGRenderExtension::RenderStage QSSGRenderExtension::stage() const

Gibt die Stufe zurück, in der diese Rendererweiterung verwendet wird.

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