[英]Vulkan: Different sample count in different part of the screen
这里只是一个简单的问题......你将如何在 Vulkan 中实现这样的目标?
________________________________________________
| |
| VK_SAMPLE_COUNT_1_BIT |
| |
| ____________________________________ |
| | | |
| | VK_SAMPLE_COUNT_4_BIT | |
| | | |
| | | |
| | | |
| | | |
| |__________________________________| |
|______________________________________________|
我现在想到的两种方法是:
两个不同的渲染通道和两组不同的帧缓冲区,一组使用交换链图像视图作为颜色附件,另一组使用我自己创建的图像视图,然后在第二次调用 vkCmdBeginRenderPass() 时设置视口的大小渲染通行证。
一个渲染通道和两个子通道,第一个带有 1 个样本,第二个带有 4 个样本,但是即使对于第一个子通道,我也必须使用解析附件,因为如果我为第二个子通道设置它,那么我有与所有人一起使用它,对吗? (我从来没有使用过一个以上的子通道,所以我知道的不多)。 视口的大小将通过调用 vkCmdSetViewport() 来指定。
你会怎么做? 你会使用不同的方法吗?
谢谢。
只需使用两个渲染通道和两组帧缓冲区。
在这里使用子通道可能没有任何优势。 它们仅对基于图块的渲染器真正有益,其中子通道数据交换可以在 GPU 内部本地处理,但如果样本数不同,则不太可能发生这种情况。 我希望大多数平台最终会将它们分成单独的“通行证”,通过 memory 往返。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.