Spec-Zone.ru › Qt 6.1

Класс 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 { Нет, Элемент массива, Униформа, Получение из текстуры, Доступ к изображению шейдера, …, Все }
флаги 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.1/qt3drender-qmemorybarrier.html

Spec-Zone.ru

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