Vulkan GLSL的统一纹理缓冲区

时间:2017-10-12 03:46:24

标签: glsl vulkan

我有一个浮动RGBA缓冲区,我希望将其作为统一文本缓冲区传递给我的计算着色器(对于没有采样的只读访问)。 有人能告诉我如何在GLSL中这样做吗?

我能找到的所有例子似乎都在跳过这个话题,或者至少有一个弱的命名法。

1 个答案:

答案 0 :(得分:3)

Vulkan调用的描述符类型"统一纹理缓冲区"代表一种概念,用OpenGL的说法称为" buffer texture"。因此,GLSL中的正确采样器类型为samplerBuffer

此采样器的相应描述符当然应使用VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER类型。但是,由于Vulkan并不同意OpenGL的观点,即这是某种纹理,描述符的数据是VkBufferView,而不是VkImage或{{1 }}。具体而言,VkImageView