PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier

class QMemoryBarrier

用于放置内存屏障的类。更多

PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier 的继承图

概要

方法

插槽

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

一个QMemoryBarrier FrameGraph节点用于在渲染的特定时间放置特定的内存屏障。这是为了在GPU上正确同步绘图和计算命令所必需的。

屏障定义了由先前命令发出的内存操作的顺序。这意味着如果command1正在操作一个缓冲区,该缓冲区将在后续的command2中用作顶点属性缓冲区,那么内存屏障应放置在command1之后,并为顶点属性缓冲区设置适当的屏障类型。

当在FrameGraph分支中发现QMemoryBarrier节点时,屏障将在任何绘制或计算命令之前强制执行,即使这些命令在分支中定义得更深。

对于OpenGL渲染,本页面提供了关于Memory Model的更多信息。

class Operation

(继承自 enum.Flag) 此枚举类型描述了要清除的缓冲区类型。

常量

描述

Qt3DRender.QMemoryBarrier.None

Qt3DRender.QMemoryBarrier.ElementArray

Qt3DRender.QMemoryBarrier.Uniform

Qt3DRender.QMemoryBarrier.TextureFetch

Qt3DRender.QMemoryBarrier.ShaderImageAccess

Qt3DRender.QMemoryBarrier.Command

Qt3DRender.QMemoryBarrier.PixelBuffer

Qt3DRender.QMemoryBarrier.TextureUpdate

Qt3DRender.QMemoryBarrier.BufferUpdate

Qt3DRender.QMemoryBarrier.FrameBuffer

Qt3DRender.QMemoryBarrier.TransformFeedback

Qt3DRender.QMemoryBarrier.AtomicCounter

Qt3DRender.QMemoryBarrier.ShaderStorage

Qt3DRender.QMemoryBarrier.QueryBuffer

Qt3DRender.QMemoryBarrier.VertexAttributeArray

Qt3DRender.QMemoryBarrier.All

__init__([parent=None])
Parameters:

parentQNode

setWaitOperations(operations)
Parameters:

操作Operation 的组合

waitOperations()
Return type:

Operation 的组合

waitOperationsChanged(barrierTypes)
Parameters:

barrierTypesOperation 的组合