gpt4 book ai didi

vulkan - 为什么 Vulkan 在采样时坚持此图像必须是 FLOAT 组件?

转载 作者:行者123 更新时间:2023-12-05 03:25:53 28 4
gpt4 key购买 nike

我的着色器索引到采样器和图像,但是当我从图像中采样时(如果我在着色器中采样,我只会得到错误)我得到一个错误:

Descriptor in binding #0 index 0 requires FLOAT component type, butbound descriptor format is VK_FORMAT_R8G8B8A8_UINT. The Vulkan specstates: Descriptors in each bound descriptor set, specified viavkCmdBindDescriptorSets, must be valid if they are statically used bythe VkPipeline bound to the pipeline bind point used by this command

没错,我将 R8G8B8A8_UINT 图像绑定(bind)到索引 [0],我尝试对其进行采样,但为什么它坚持认为它应该是 FLOAT 组件类型?

我在着色器中对图像进行采样,如下所示:

layout(set = 0, binding = 0) uniform texture2D textures[20];
layout(set = 0, binding = 1) uniform sampler samplers[4];

texture(sampler2D(textures[0], samplers[0]), vec2(inPosAndCoords.zw) );

然后该错误触发。为什么坚持图像的组件是 FLOAT?

最佳答案

Why is it insisting that the components for the image be FLOAT?

因为这是您的着色器要求的。图像格式的基本类型被嵌入到图像的 GLSL 类型中。

texture2D 是具有浮点格式的二维纹理。 utexture2D 是一个无符号整数格式的二维纹理。

关于vulkan - 为什么 Vulkan 在采样时坚持此图像必须是 FLOAT 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71895205/

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