Auf dieser Seite

QSSGRenderExtension Class

Basisklasse für Implementierungen von Backend-Knoten-Erweiterungen. Mehr...

Header: #include <qssgrenderextensions.h>
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)

Ausführliche Beschreibung

Siehe auch „ QQuick3DRenderExtension “.

Dokumentation zu Mitgliedstypen

enum class QSSGRenderExtension::RenderMode

Legt den Render-Erweiterungsmodus fest.

KonstanteWertBeschreibung
QSSGRenderExtension::RenderMode::Standalone0Der Rendering-Code wird während der Vorbereitungsphase des Renderings vollständig aufgezeichnet. Dies bedeutet in der Regel, dass bereits Ausgabedaten für eine oder mehrere vorhergehende Render-Erweiterungen erstellt wurden. Bei Verwendung dieses Modus werden die Funktionen ` prepareRender()` und ` render()` beide während der Vorbereitungsphase des Frames aufgerufen.
QSSGRenderExtension::RenderMode::Main1Der Rendering-Code wird im Haupt-Render-Durchlauf aufgezeichnet. In diesem Modus wird die Funktion ` prepareRender()` in der Vorbereitungsphase des Frames aufgerufen, während die Funktion ` render()` in der Render-Phase des Frames aufgerufen wird.

enum class QSSGRenderExtension::RenderStage

Legt die Reihenfolge fest, in der die Erweiterung aufgerufen wird.

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

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

Dokumentation der Member-Funktionen

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

Konstruktor, mit dem Benutzer einen benutzerdefinierten Typ und Flags für eine Erweiterung festlegen können.

Hinweis: Bei benutzerdefinierten 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 zum angegebenen „ inType “ hinzugefügt.

Hinweis: Das „ inFlags “ muss „Flags::HasGraphicsResources“ enthalten, wenn die Erweiterung Grafikressourcen zuweist.

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

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

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

Wird aufgerufen, nachdem die Szenen data en erfasst wurden, jedoch bevor Renderdaten oder das Rendern im aktuellen Frame durchgeführt wurden.

Gibt den Status „Dirty“ zurück. Gibt den „ true “ zurück, wenn es zu rendernende „Dirty“-Daten gibt.

Hinweis: Ein Großteil der Daten, die während der Vorbereitungs- und Render-Phasen von der Engine erstellt bzw. gesammelt werden, ist frame-spezifisch und sollte zu Beginn des nächsten Frames freigegeben werden oder als freigegeben gelten.

Siehe auch „ QSSGFrameData “.

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

Daten für das Rendering vorbereiten. Die für das Rendering benötigten „ data “ erstellen und sammeln. Alle vor dieser Render-Erweiterung geplanten Render-Erweiterungen wurden bereits verarbeitet. Darüber hinaus sind alle Render-Erweiterungen im Modus „ RenderMode::Standalone “, sofern sie erfolgreich waren, vollständig abgeschlossen.

Hinweis: Ein Großteil der Daten, die während der Vorbereitungs- und Render-Phasen von der Engine erstellt bzw. gesammelt werden, ist framebezogen und sollte zu Beginn des nächsten Frames freigegeben werden oder als freigegeben gelten.

Siehe auch QSSGFrameData.

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

Den Render-Durchlauf aufzeichnen. Je nach 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 Objekt „ QRhi “ abgefragt werden kann.

Siehe auch QSSGRenderExtension::RenderMode.

[pure virtual] void QSSGRenderExtension::resetForFrame()

Wird bei jedem Beginn eines neuen Frames aufgerufen. Zu diesem Zeitpunkt sollten alle Daten aus dem vorherigen Frame gelöscht sein.

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

Gibt die Phase zurück, in der diese Render-Erweiterung 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.