PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier¶
- class QMemoryBarrier¶
用于放置内存屏障的类。更多…
概要¶
方法¶
def
__init__()def
waitOperations()
插槽¶
信号¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
一个
QMemoryBarrierFrameGraph节点用于在渲染的特定时间放置特定的内存屏障。这是为了在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:
parent –
QNode
- setWaitOperations(operations)¶
- Parameters:
操作 –
Operation的组合
- waitOperations()¶
- Return type:
Operation的组合
- waitOperationsChanged(barrierTypes)¶
- Parameters:
barrierTypes –
Operation的组合