GUN*_*NNM 5 render-to-texture vulkan
在交换链中绘制几何图形的现有渲染器中,我需要在纹理中渲染该几何图形的某些部分,其他部分必须保留在屏幕上。所有几何图形都记录到一个命令缓冲区中。我不需要每次都渲染这个纹理。我创建了目标图像、图像视图和帧缓冲区,但我不知道现在该怎么办。我认为我不需要特定的管道,也不需要新的特定描述符集,因为所有内容都正确呈现在屏幕上。我是否需要另一个渲染通道、子通道或其他任何东西?
确切地说,您需要一个单独的渲染通道来填充目标图像。由于渲染通道存储对图像的引用(作为附件),因此需要单独的一个引用。
在该渲染通道中,您可以使用子通道依赖项将目标图像转换为正确的布局。您的第一个转换应该是VK_ACCESS_SHADER_READ_BIT
写入VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT
目标图像,一旦完成,您就可以从到转换回来VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT
,VK_ACCESS_SHADER_READ_BIT
这样您就可以在视觉通道中渲染目标图像。如果设备支持的话,另一种选择是将它们传输到交换链。
如果需要参考,可以查看我的离屏渲染示例。
归档时间: |
|
查看次数: |
6304 次 |
最近记录: |