我试图用光卷作为我的延迟渲染器。但我遇到了一个模版操作的问题。现在,我正在使用VK_FORMAT_D32_SFLOAT_S8_UINT格式的深度/模板附件。在照明子通道中,我需要读取深度来重建位置,并且需要读和写模板来掩盖光线的体积。对于照明子通道,我想添加深度/模板作为输入附件,作为深度附件,但这些需要不同的布局,显然是不可能的同时。
现在,我指的是同样的附件,它既是输入附件,也是同一子通道中的深度附件。作为输入附件,布局是VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,作为深度附件,布局是VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL (不产生验证错误?),并且没有执行模具操作。
现在我可以为深度和模板创建两个不同的附件,但是这可能会占用更多的内存,这也不是很好。因此,我的问题是,您如何设置子通道,您可以读取和写入相同的深度/模板附件?(也在一条管道内)
发布于 2016-08-04 16:02:10
但是这些需要不同的布局
胡说八道;这就是GENERAL布局的目的。该规范甚至显式地提出了这一点:
用作输入附件和深度/模板附件的附件必须位于VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL或VK_IMAGE_LAYOUT_GENERAL布局中
显然,后者对你没有帮助;)
https://stackoverflow.com/questions/38771802
复制相似问题