QMemoryBarrier Class
class Qt3DRender::QMemoryBarrierメモリバリアを配置するクラス。さらに...
Header: | #include <QMemoryBarrier> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
In QML: | MemoryBarrier |
Inherits: | Qt3DRender::QFrameGraphNode |
Status: | Deprecated |
パブリックタイプ
enum | Operation { None, ElementArray, Uniform, TextureFetch, ShaderImageAccess, …, All } |
flags | Operations |
詳細説明
Qt3DRender::QMemoryBarrier FrameGraphノードは、レンダリングの特定の時間に特定のメモリバリアを配置するために使用されます。これは、GPU上の描画コマンドと計算コマンドを適切に同期させるために必要です。
バリアは、前のコマンドによって発行されたメモリ操作の順序を定義します。つまり、command1 が次の command2 で頂点アトリビュートバッファとして使用されるバッファを操作している場合、メモリバリアは command1 の後に配置され、頂点アトリビュートバッファに適切なバリアタイプを設定する必要があります。
QMemoryBarrierノードがFrameGraphブランチで見つかると、たとえそれらがブランチの深い部分で定義されていたとしても、描画や計算コマンドの前にバリアが実行されます。
OpenGLレンダリングについては、このページでメモリモデルについて詳しく説明しています。
メンバー型ドキュメント
enum QMemoryBarrier::Operation
flags QMemoryBarrier::Operations
この enum 型は、クリアされるバッファのタイプを記述します。
定数 | 値 |
---|---|
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 |
Operations 型はQFlags<Operation> の typedef です。これは、Operation 値の OR の組み合わせを格納します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。