Spec-Zone.ru › Qt

Класс 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 используется для размещения определенного барьера памяти в определенное время рендеринга. Это необходимо для правильной синхронизации команд отрисовки и вычислений на графическом процессоре.

Барьер определяет порядок операций с памятью, выполненных предыдущей командой. Это означает, что если команда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.2/qt3drender-qmemorybarrier.html

Spec-Zone.ru

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