我有一个带有一个颜色附件的帧缓冲区,它是一个有6层的立方体贴图。我尝试使用几何着色器进行分层渲染。将简单三角形渲染到所有图层都可以。但我不确定如何使用vkCmdBeginRenderPass
清除所有图层。
vkCmdBeginRenderPass
支持pClearValues
和clearValueCount
,但我无法指定图层数。因此只清除第一层。将clearValueCount设置为6并给出6个清除值也没有帮助。
我看到vkCmdClearAttachments
似乎允许指定图层。
vkCmdClearAttachments
是唯一的方式,还是我错过了什么?有没有理由vkCmdBeginRenderPass
只清除第一层,尽管渲染似乎呈现给所有图层?
答案 0 :(得分:1)
clearValueCount指的是要清除的附件数量(关于它们的clearOp),而不是帧缓冲区的层数。
帧缓冲区在renderpass开始时清除的层数(如果clearOp设置为clear)是通过它的imageView的子资源的layerCount指定的。