【问题标题】:Reading and writing the same (depth) attachment in a subpass在子通道中读取和写入相同(深度)的附件
【发布时间】:2016-08-05 00:02:10
【问题描述】:

我正在尝试为我的延迟渲染器使用光量。但是我遇到了模板操作的问题。 现在我正在使用格式为VK_FORMAT_D32_SFLOAT_S8_UINT 的深度/模板附件。在照明子通道中,我需要读取深度以重建位置,并读取和写入模板以掩盖光量。 对于照明子通道,我想将深度/模板添加为输入附件和深度附件,但这些需要不同的布局,这显然是不可能的。

现在我指的是同一子通道中的输入附件和深度附件。 作为输入附件,布局是VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,作为深度附件,布局是VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL(没有验证错误?),我的模板操作没有执行。

现在我可以为深度和模板创建两个不同的附件,但这可能会使用更多内存,这也不是很好。所以我的问题是,您如何设置一个子通道,您可以在其中读取和写入相同的深度/模板附件? (在单个管道中也是如此)

【问题讨论】:

  • 你应该可以使用布局 GENERAL

标签: vulkan


【解决方案1】:

但是这些需要不同的布局

废话;这就是GENERAL 布局的用途。规范甚至明确提出了这一点:

同时用作输入附件和深度/模板附件的附件必须采用 VK_IMAGE_LAYOUT_GENERAL 或 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL 布局

显然后者对你没有帮助;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多