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) |
Dokumentation der Mitgliedstypen
enum class QSSGRenderHelpers::CreateFlag
flags QSSGRenderHelpers::CreateFlags
Konstante | Wert | Beschreibung |
---|---|---|
QSSGRenderHelpers::CreateFlag::None | 0 | Der Standardwert. Renderables werden nur für die angegebenen Knoten erstellt. |
QSSGRenderHelpers::CreateFlag::Recurse | 0x1 | Renderables werden für jeden Knoten und seine Kinder erstellt. |
QSSGRenderHelpers::CreateFlag::Steal | 0x2 | Renderables 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.