[英]Uniform texel buffer for Vulkan GLSL
我有一个浮点 RGBA 缓冲区,我想将它作为统一 Texel 缓冲区传递给我的计算着色器(用于没有采样的只读访问)。 有人可以告诉我如何在 GLSL 中执行此操作吗?
我能找到的所有示例似乎都在跳过该主题,或者充其量只是名称较弱。
Vulkan 称为“统一纹素缓冲区”的描述符类型代表了一个概念,在 OpenGL 中称为“缓冲区纹理”。 虽然通常用于此的 GLSL 类型是samplerBuffer
, 但 GLSL 的 Vulkan 风格使用textureBuffer
代替。
这个类型对应的描述符当然应该使用VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
类型。 但是,由于 Vulkan 不同意 OpenGL 的概念,即这是某种纹理,因此描述符的数据是VkBufferView
,而不是VkImage
或VkImageView
。 具体来说, VkWriteDescriptorSet::pTexelBufferView
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.