首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Vulkan在采样时坚持这个图像必须是浮点分量?

为什么Vulkan在采样时坚持这个图像必须是浮点分量?
EN

Stack Overflow用户
提问于 2022-04-16 15:32:05
回答 1查看 205关注 0票数 3

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

绑定#0索引0中的

描述符需要浮动组件类型,但绑定描述符格式是VK_FORMAT_R8G8B8A8_UINT。Vulkan规范声明:通过vkCmdBindDescriptorSets指定的每个绑定描述符集中的描述符必须是有效的,如果绑定到此命令所使用的管道绑定点的VkPipeline静态地使用它们

的确,我对将R8G8B8A8_UINT映像绑定到索引感到内疚,我尝试对其进行示例,但是为什么它坚持它应该是浮点组件类型呢?

我在我的阴影中对图像进行了如下采样:

代码语言:javascript
复制
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) ); 

而这个错误会引发。为什么要坚持图像的组件是浮动的?

EN

回答 1

Stack Overflow用户

发布于 2022-04-16 15:35:42

为什么坚持图像的组件是浮动的?

因为这就是你的着色器要求的。图像格式的基本类型被放入图像的GLSL类型中。

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71895205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档