当我阅读Vulkan示例代码时。它有2或3个SwapchainImageResources。每个SwapchainImageResources都有一个帧缓冲区。然后对于每个VkFramebuffer,示例代码创建一个VkCommandBuffer。
答案 0 :(得分:1)
VkCommandBuffer
之一的作业是通过渲染通道实例(即VkFramebuffer
)来确定vkCmdBeginRenderPass
。
所以:不。除非您计算在需要时重新录制相同的VkCommandBuffer
,否则需要更改VkFramebuffer
。
Vulkan的魅力之一是它试图创建固态对象,并且很少引入移动部件。它有助于推理Vulkan(特别是在多线程环境中,也可能有助于使驱动程序更简单),代价是有时必须编写更多代码(即销毁并重新创建一个只需要修改的对象)。它需要一些习惯......