gpt4 book ai didi

vulkan - 有没有办法解决 Vulkan 中的 subpassInput?

转载 作者:行者123 更新时间:2023-12-02 09:17:56 27 4
gpt4 key购买 nike

SubpassInput 由片段着色器隐式寻址。我想用我自己的纹理坐标来处理输入。类似于 texture(sampler, texCoord)

最佳答案

这是不可能的。如果您想在着色器内对图像进行采样,您有(通常)两种可能性:

  1. 您可以使用具有采样图像组合图像采样器 类型描述符的描述符集。这样你就可以随心所欲地解决它。但是在渲染过程中充当附件的图像不能用于在它们用作附件的同一渲染过程中的此类描述符。为此,您需要结束一个渲染过程并开始另一个渲染过程。在第二个渲染过程中,您可以使用此类图像并从着色器中对其进行采样。

  2. 如果您想在渲染过程中使用图像作为附件,并且如果您想在同一渲染过程中对这样的图像进行采样(但在后面的子过程中),您只能使用输入来完成附件描述符(着色器中的 subpassInput)。这样您就不需要结束渲染 channel 并开始另一个渲染 channel ,但您只能对与片段着色器坐标相关联的位置进行采样。

    这个限制来自于渲染是高度并行的。在上一个子 channel 的所有操作完成之前,下一个子 channel 的某些部分可能已经开始处理(考虑平铺渲染器)。如果您开始从您在之前的子 channel 中渲染到的图像读取数据,并且如果图像的某些部分尚未完成此渲染,则您可能会得到不正确的值。这就是为什么您只能从渲染过程中的单个位置读取(使用输入附件时)。

也许有一个扩展可以解除这些限制,但我没有读到任何此类扩展。核心规范只允许以上两种选择。

关于vulkan - 有没有办法解决 Vulkan 中的 subpassInput?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154213/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com