Qt3DRender::QMemoryBarrier Class
class Qt3DRender::QMemoryBarrierKlasse zum Einrichten einer Speicherbarriere. Mehr...
| Header: | #include <qmemorybarrier.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | MemoryBarrier |
| Erbt von: | Qt3DRender::QFrameGraphNode |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Öffentliche Typen
| enum | Operation { None, ElementArray, Uniform, TextureFetch, ShaderImageAccess, …, All } |
| flags | Operations |
Ausführliche Beschreibung
Ein „ Qt3DRender::QMemoryBarrier “-FrameGraph-Knoten wird verwendet, um zu einem bestimmten Zeitpunkt des Renderings eine bestimmte Speicherbarriere zu setzen. Dies ist erforderlich, um Zeichen- und Rechenbefehle auf der GPU ordnungsgemäß zu synchronisieren.
Die Barriere definiert die Reihenfolge der Speicheroperationen, die von einem vorhergehenden Befehl ausgelöst werden. Das bedeutet: Wenn Befehl1 einen Puffer bearbeitet, der in einem nachfolgenden Befehl2 als Vertex-Attributpuffer verwendet werden soll, sollte die Speicherbarriere nach Befehl1 platziert und der entsprechende Barrieretyp für den Vertex-Attributpuffer festgelegt werden.
Wird ein „QMemoryBarrier“-Knoten in einem FrameGraph-Zweig gefunden, wird die Barriere vor jedem Zeichen- oder Rechenbefehl durchgesetzt, auch wenn diese tiefer im Zweig definiert sind.
Für das OpenGL-Rendering bietet diese Seite weitere Informationen zum Speichermodell
Dokumentation zu Mitgliedstypen
enum QMemoryBarrier::Operation
flags QMemoryBarrier::Operations
Dieser Enum-Typ beschreibt die Arten von Puffern, die gelöscht werden sollen.
| 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 Operation-Werten.
© 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.