Spec-Zone.ru › Qt 6.0

Класс QMemoryBarrier

класс Qt3DRender::QMemoryBarrier

Класс для размещения барьера памяти. Подробнее...

Заголовок: #include <QMemoryBarrier>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С момента: Qt 5.9
Инициализируется: MemoryBarrier
Наследуется от: Qt3DRender::QFrameGraphNode
  • Список всех членов, включая унаследованные

Типы публичного доступа

перечисление Operation { None, ElementArray, Uniform, TextureFetch, ShaderImageAccess, …, All }
флаги Operations

Подробное описание

Узел Qt3DRender::QMemoryBarrier FrameGraph используется для размещения определенного барьера памяти в определенное время рендеринга. Это необходимо для правильной синхронизации команд отрисовки и вычислений на GPU.

Барьер определяет порядок операций с памятью, выпущенных предыдущей командой. Это означает, что если команда1 манипулирует буфером, который будет использоваться в качестве буфера атрибутов вершин в последующей команде2, то барьер памяти должен быть размещен после команды1, установив соответствующий тип барьера для буфера атрибутов вершин.

Когда узел QMemoryBarrier найден в ветке FrameGraph, барьер будет применен перед любой командой отрисовки или вычисления, даже если они определены глубже в ветке.

Для рендеринга OpenGL на этой странице представлена дополнительная информация о модели памяти

Документация по типам членов

перечисление QMemoryBarrier::Operationфлаги QMemoryBarrier::Operations

Это тип перечисления, описывающий типы буферов, которые нужно очистить.

Постоянная Значение
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>. Он хранит логическое ИЛИ комбинацию значений Operation.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3drender-qmemorybarrier.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API