使用 vkCmdBeginRenderPass 清除所有图层(Vulkan,分层渲染)



我有一个带有一种颜色附件的帧缓冲,这是一个有 6 层的立方体图。我尝试将分层渲染与几何着色器一起使用。将简单的三角形渲染到所有图层是有效的。但是我不确定如何使用vkCmdBeginRenderPass清除所有图层.

vkCmdBeginRenderPass支持pClearValuesclearValueCount但我无法指定层数。因此,仅清除第一层。将 clearValueCount 设置为 6 并给出 6 个清除值也无济于事。

我看到vkCmdClearAttachments似乎允许指定图层。

vkCmdClearAttachments是唯一的方法,还是我错过了什么?是否有原因vkCmdBeginRenderPass只清除第一层,尽管渲染似乎渲染到所有层?

clearValueCount 是指要清除的附件数(相对于它们的 clearOp),而不是帧缓冲的层。

帧缓冲的渲染通道开始时要清除的层数(如果 clearOp 设置为清除)是通过其 imageView 子资源的 layerCount 指定的。

相关内容

  • 没有找到相关文章

最新更新