想要进行一点点体素化传递,我想知道将一个空帧缓冲区赋予渲染传递(带有0个附件)是否合法,因为我不需要在帧缓冲区上写入。
我问这个问题,因为在renderpassbegin的规范中,它是明确写的:
framebuffer
必须是有效的VkFramebuffer
句柄。必须已从同一
framebuffer
创建,分配或检索renderPass
和VkDevice
。
答案 0 :(得分:2)
NULL不是有效的句柄。所以是的,即使渲染过程没有附件,你也需要一个(空的)VkFramebuffer
。即使是空帧缓冲也定义了渲染区域的宽度/高度等概念,这些概念必须在整个渲染过程中保持固定。相比之下,视口状态要么被烘焙到管道中,要么被动态指定。