我有一个浮动RGBA缓冲区,我希望将其作为统一文本缓冲区传递给我的计算着色器(对于没有采样的只读访问)。 有人能告诉我如何在GLSL中这样做吗?
我能找到的所有例子似乎都在跳过这个话题,或者至少有一个弱的命名法。
答案 0 :(得分:3)
Vulkan调用的描述符类型"统一纹理缓冲区"代表一种概念,用OpenGL的说法称为" buffer texture"。因此,GLSL中的正确采样器类型为samplerBuffer
。
此采样器的相应描述符当然应使用VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
类型。但是,由于Vulkan并不同意OpenGL的观点,即这是某种纹理,描述符的数据是VkBufferView
,而不是VkImage
或{{1 }}。具体而言,VkImageView
。