QMemoryBarrier Class

class Qt3DRender::QMemoryBarrier

클래스를 사용하여 메모리 배리어를 제거할 수 있습니다. 더 보기...

헤더: #include <QMemoryBarrier>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML에서: MemoryBarrier
상속합니다: Qt3DRender::QFrameGraphNode
상태: Deprecated

공용 유형

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

상세 설명

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

배리어는 이전 명령에 의해 실행된 메모리 작업의 순서를 정의합니다. 즉, 명령1이 다음 명령2에서 버텍스 속성 버퍼로 사용될 버퍼를 조작하는 경우 메모리 배리어는 명령1 뒤에 배치하고 버텍스 속성 버퍼에 적합한 배리어 유형을 설정해야 합니다.

프레임그래프 분기에서 QMemoryBarrier 노드가 발견되면, 해당 분기에서 더 깊게 정의되어 있더라도 그리기 또는 계산 명령보다 먼저 배리어가 적용됩니다.

OpenGL 렌더링의 경우, 이 페이지에서 메모리 모델에 대한 자세한 정보를 제공합니다.

멤버 유형 문서

열거형 QMemoryBarrier::Operation
플래그 QMemoryBarrier::Operations

이 열거형 유형은 지울 버퍼의 유형을 설명합니다.

Constant
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

오퍼레이션 유형은 QFlags<Operation>에 대한 타입 정의입니다. 이 유형은 연산 값의 OR 조합을 저장합니다.

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