QSSGRenderExtension Class
Basisklasse für Erweiterungs-Backend-Knoten-Implementierungen. Mehr...
Header: | #include <QSSGRenderExtension> |
Since: | Qt 6.7 |
Ö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 |
Siehe auch QQuick3DRenderExtension.
Dokumentation der Mitgliedstypen
enum class QSSGRenderExtension::RenderMode
Gibt den Modus der Rendererweiterung an.
Konstante | Wert | Beschreibung |
---|---|---|
QSSGRenderExtension::RenderMode::Standalone | 0 | Der 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::Main | 1 | Der 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.
Konstante | Wert | Beschreibung |
---|---|---|
QSSGRenderExtension::RenderStage::PreColor | 0 | Der Rendering-Code wird vor dem Hauptdurchlauf (Farbe) aufgezeichnet und ausgeführt. |
QSSGRenderExtension::RenderStage::PostColor | 1 | Der Rendering-Code wird nach dem Haupt-(Farb-)Durchlauf aufgezeichnet und ausgeführt. |
Dokumentation der Mitgliedsfunktionen
[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.
© 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.