我有一个带有一种颜色附件的帧缓冲,这是一个有 6 层的立方体图。我尝试将分层渲染与几何着色器一起使用。将简单的三角形渲染到所有图层是有效的。但是我不确定如何使用vkCmdBeginRenderPass
清除所有图层.
vkCmdBeginRenderPass
支持pClearValues
和clearValueCount
但我无法指定层数。因此,仅清除第一层。将 clearValueCount 设置为 6 并给出 6 个清除值也无济于事。
我看到vkCmdClearAttachments
似乎允许指定图层。
vkCmdClearAttachments
是唯一的方法,还是我错过了什么?是否有原因vkCmdBeginRenderPass
只清除第一层,尽管渲染似乎渲染到所有层?
clearValueCount 是指要清除的附件数(相对于它们的 clearOp),而不是帧缓冲的层。
帧缓冲的渲染通道开始时要清除的层数(如果 clearOp 设置为清除)是通过其 imageView 子资源的 layerCount 指定的。