Sur cette page

Qt3DRender::QMemoryBarrier Class

class Qt3DRender::QMemoryBarrier

Classe permettant de mettre en place une barrière de mémoire. En savoir plus…

En-tête : #include <qmemorybarrier.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : MemoryBarrier
Hérite de : Qt3DRender::QFrameGraphNode
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Types publics

enum Operation { None, ElementArray, Uniform, TextureFetch, ShaderImageAccess, …, All }
flags Operations

Description détaillée

Un nœud FrameGraph de type « Qt3DRender::QMemoryBarrier » est utilisé pour placer une barrière mémoire spécifique à un moment précis du rendu. Cela est nécessaire pour synchroniser correctement les commandes de dessin et de calcul sur le GPU.

La barrière définit l'ordre des opérations mémoire émises par une commande précédente. Cela signifie que si la commande 1 manipule un tampon destiné à être utilisé comme tampon d'attributs de sommets dans une commande 2 suivante, la barrière mémoire doit alors être placée après la commande 1 et le type de barrière approprié doit être défini pour le tampon d'attributs de sommets.

Lorsqu’un nœud QMemoryBarrier est détecté dans une branche du FrameGraph, la barrière sera appliquée avant toute commande de dessin ou de calcul, même si celles-ci sont définies plus loin dans la branche.

Pour le rendu OpenGL, cette page fournit plus d’informations sur le modèle mémoire

Documentation sur les types de membres

enum QMemoryBarrier::Operation
flags QMemoryBarrier::Operations

Ce type d'énumération décrit les types de tampons à effacer.

ConstanteValeur
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

Le type Operations est une définition de type (typedef) pour QFlags<Operation>. Il stocke une combinaison OR de valeurs Operation.

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