QMemoryBarrier Class

class Qt3DRender::QMemoryBarrier

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

KonstanteWert
Qt3DRender::QMemoryBarrier::None0
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::All0xFFFFFFFF

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.