이 페이지에서

Qt3DRender::QMemoryBarrier Class

class Qt3DRender::QMemoryBarrier

메모리 배리어를 설정하는 클래스. 더 보기...

헤더: #include <qmemorybarrier.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML에서: MemoryBarrier
상속: Qt3DRender::QFrameGraphNode
상태: 사용 중단

이 클래스는 더 이상 사용되지 않습니다. 새로운 코드에서는 이 클래스를 사용하지 않는 것을 강력히 권장합니다.

공개 유형

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

상세 설명

Qt3DRender::QMemoryBarrier 의 FrameGraph 노드는 렌더링의 특정 시점에 특정 메모리 배리어를 배치하는 데 사용됩니다. 이는 GPU에서 드로잉 명령과 연산 명령을 올바르게 동기화하기 위해 필요합니다.

이 배리어는 이전 명령이 발행한 메모리 작업의 순서를 정의합니다. 즉, command1이 후속 command2에서 정점 속성 버퍼로 사용될 버퍼를 조작하는 경우, 메모리 배리어는 command1 뒤에 배치되어야 하며 정점 속성 버퍼에 적합한 배리어 유형을 설정해야 합니다.

FrameGraph 분기에서 QMemoryBarrier 노드가 발견되면, 해당 분기의 더 깊은 곳에 정의된 드로잉 또는 컴퓨트 명령이 있더라도 이 배리어가 해당 명령들보다 먼저 적용됩니다.

OpenGL 렌더링에 대해서는 이 페이지에서 메모리 모델에 대한 자세한 정보를 확인할 수 있습니다.

멤버 유형 문서

enum QMemoryBarrier::Operation
flags QMemoryBarrier::Operations

이 열거형 유형은 지워야 할 버퍼의 유형을 나타냅니다.

상수값
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

Operations 유형은 QFlags<Operation>에 대한 typedef입니다. 이 유형은 Operation 값들의 OR 조합을 저장합니다.

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