结束渲染过程
译者注:示例代码点击此处
当已经记录了所有子过程的所有命令时,我们需要结束(停止或完成)渲染过程。
怎么做...
获取命令缓冲区的句柄并将其存储在名为command_buffer的VkCommandBuffer类型变量中。 确保命令缓冲区处于记录状态,并且已经记录了开始渲染过程的操作。
调用vkCmdEndRenderPass( command )为其提供command_buffer变量。
这个怎么运作...
要结束渲染过程,我们需要调用如下函数:
vkCmdEndRenderPass( command_buffer );
在命令缓冲区中记录此函数会执行多个操作。 引入执行和内存依赖(如内存屏障中的那些)并执行图像布局转换 - 图像从为最后一个子过程指定的布局转换为最终布局的值(请参阅指定附件描述配方)。 此外,还对颜色附件执行多重采样解析,在最后一个子过程中指定了解析。 此外,对于在渲染过程之后应保留其内容的附件,附件数据可以从高速缓存传输到图像的存储器。