QSSGRenderHelpers Class

Klasse mit Hilfsfunktionen zum Einrichten und Rendern von QtQuick3D Renderables. Mehr...

Header: #include <QSSGRenderHelpers>
Since: Qt 6.7

Öffentliche Typen

enum class CreateFlag { None, Recurse, Steal }
flags CreateFlags

Statische öffentliche Mitglieder

QSSGPrepResultId commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)
QSSGRenderablesId createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)
QSSGPrepContextId prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)
void prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)
void renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

Detaillierte Beschreibung

Dokumentation der Mitgliedstypen

enum class QSSGRenderHelpers::CreateFlag
flags QSSGRenderHelpers::CreateFlags

KonstanteWertBeschreibung
QSSGRenderHelpers::CreateFlag::None0Der Standardwert. Renderables werden nur für die angegebenen Knoten erstellt.
QSSGRenderHelpers::CreateFlag::Recurse0x1Renderables werden für jeden Knoten und seine Kinder erstellt.
QSSGRenderHelpers::CreateFlag::Steal0x2Renderables werden von der Engine übernommen und werden nicht von QtQuick3D gerendert.

Hinweis: Der Aufruf von QSSGRenderHelpers::createRenderables() ohne das gesetzte {QSSGRenderHelpers::CreateFlag::Steal}{Steal}-Flag bedeutet, dass die Knoten dupliziert werden und QtQuick3D seine Kopie der Knoten wie gewohnt rendert.

Der Typ CreateFlags ist ein Typedef für QFlags<CreateFlag>. Er speichert eine ODER-Kombination von CreateFlag-Werten.

Dokumentation der Mitgliedsfunktionen

[static] QSSGPrepResultId QSSGRenderHelpers::commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)

Sobald die erforderlichen Änderungen an den Renderables vorgenommen wurden, können die Daten als bereit für den Renderer markiert werden.

Gibt eine ID für das Vorbereitungsergebnis zurück.

frameData, prepId, renderablesId, lodThreshold

Siehe auch prepareRenderables() und renderRenderables().

[static] QSSGRenderablesId QSSGRenderHelpers::createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)

Nimmt eine Liste von Knoten-IDs und erstellt Renderables, die vom Renderer weiterverarbeitet werden können. Wenn es keine Knoten oder keine renderbaren Knoten in der Liste gibt, ist die zurückgegebene ID ungültig.

Standardmäßig rekursiert die Funktion nicht nach unten und schließt Kinder der nodes in die Liste ein. Sie können die Rekursion aktivieren, indem Sie das Flag Recurse im Argument flags übergeben.

Gibt eine ID für die erstellten Renderables zurück.

frameData, prepId

Siehe auch CreateFlags und prepareForRender().

[static] QSSGPrepContextId QSSGRenderHelpers::prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)

prepareForRender() erstellt einen Kontext zum Sammeln und Speichern von Informationen über die mit dieser Rendererweiterung verbundenen Renderdaten.

Wenn dieselben Knoten mehr als einmal gerendert werden sollen, aber mit unterschiedlichen Eigenschaften, z.B. einem anderen Material oder einer anderen Kamera, dann wird ein neuer Kontext benötigt. Um mehrere Kontexte für eine Erweiterung zu erstellen, kann das Argument slot verwendet werden. Der Standardkontext wird in Slot 0 erstellt.

Gibt eine ID für den Vorbereitungskontext zurück.

frameData ext, cameraId

Siehe auch commit().

[static] void QSSGRenderHelpers::prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)

Bereitet die für die Renderables benötigten Zeichenaufrufdaten vor, bevor renderRenderables aufgerufen wird.

Gibt eine ID für das Vorbereitungsergebnis zurück.

frameData, renderPassDescriptor, ps, prepId, filter

Siehe auch renderRenderables().

[static] void QSSGRenderHelpers::renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

Rendern Sie die Renderables.

frameData, prepId

Siehe auch prepareRenderables().

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