QMemoryBarrier Class
class Qt3DRender::QMemoryBarrierKlasse zum Einfügen einer Speicherbarriere. Mehr...
Kopfzeile: | #include <QMemoryBarrier> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
In QML: | MemoryBarrier |
Vererbt: | Qt3DRender::QFrameGraphNode |
Status: | Veraltet |
Öffentliche Typen
enum | Operation { None, ElementArray, Uniform, TextureFetch, ShaderImageAccess, …, All } |
flags | Operations |
Detaillierte Beschreibung
Ein Qt3DRender::QMemoryBarrier FrameGraph-Knoten wird verwendet, um eine bestimmte Speicherbarriere zu einem bestimmten Zeitpunkt des Renderings zu setzen. Dies ist erforderlich, um Zeichnungs- und Berechnungsbefehle auf der GPU korrekt zu synchronisieren.
Die Barriere definiert die Reihenfolge der Speicheroperationen, die von einem vorherigen Befehl ausgegeben werden. Das heißt, wenn Befehl1 einen Puffer bearbeitet, der in einem nachfolgenden Befehl2 als Vertex-Attribut-Puffer verwendet werden soll, sollte die Speicherbarriere nach Befehl1 platziert und der entsprechende Barrieretyp für den Vertex-Attribut-Puffer eingestellt werden.
Wenn ein QMemoryBarrier-Knoten in einem FrameGraph-Zweig gefunden wird, wird die Barriere vor jedem Zeichen- oder Berechnungsbefehl erzwungen, auch wenn diese tiefer im Zweig definiert sind.
Für das OpenGL-Rendering finden Sie auf dieser Seite weitere Informationen über das Speichermodell
Member Type Dokumentation
enum QMemoryBarrier::Operation
flags QMemoryBarrier::Operations
Dieser Enum-Typ beschreibt die Typen der zu löschenden Puffer.
Konstante | Wert |
---|---|
Qt3DRender::QMemoryBarrier::None | 0 |
Qt3DRender::QMemoryBarrier::ElementArray | (1 << 1) |
Qt3DRender::QMemoryBarrier::Uniform | (1 << 2) |
Qt3DRender::QMemoryBarrier::TextureFetch | (1 << 3) |
Qt3DRender::QMemoryBarrier::ShaderImageAccess | (1 << 4) |
Qt3DRender::QMemoryBarrier::Command | (1 << 5) |
Qt3DRender::QMemoryBarrier::PixelBuffer | (1 << 6) |
Qt3DRender::QMemoryBarrier::TextureUpdate | (1 << 7) |
Qt3DRender::QMemoryBarrier::BufferUpdate | (1 << 8) |
Qt3DRender::QMemoryBarrier::FrameBuffer | (1 << 9) |
Qt3DRender::QMemoryBarrier::TransformFeedback | (1 << 10) |
Qt3DRender::QMemoryBarrier::AtomicCounter | (1 << 11) |
Qt3DRender::QMemoryBarrier::ShaderStorage | (1 << 12) |
Qt3DRender::QMemoryBarrier::QueryBuffer | (1 << 13) |
Qt3DRender::QMemoryBarrier::VertexAttributeArray | (1 << 0) |
Qt3DRender::QMemoryBarrier::All | 0xFFFFFFFF |
Der Typ Operations ist ein Typedef für QFlags<Operation>. Er speichert eine ODER-Kombination von Operationswerten.
© 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.