gpt4 book ai didi

OpenGL:SSBO vs "Buffer Texture"vs "PBO/Texture"来提供计算着色器

转载 作者:行者123 更新时间:2023-12-03 15:00:04 27 4
gpt4 key购买 nike

我需要将浮点数据提供给计算着色器。

我看到的 3 种方法是:

  • 着色器存储缓冲区对象
  • 缓冲纹理
  • “经典”纹理(使用 PBO 将数据上传到 GPU,然后使用 glTexSubImage2D 将数据复制到纹理)并在着色器中作为“image2D”访问

  • 每种技术的优缺点是什么?

    我不需要过滤,我只需要访问原始浮点数据。由于 SSBO 和缓冲区纹理是 1D,这意味着如果我的数据是“2D”,我需要自己计算偏移量。

    最佳答案

  • 缓冲纹理 - 无用
  • 纹理 - 如果您的数据是矩阵类型并且可以容纳 4 channel 浮点数,它可能比纯缓冲区快一点,您可以使用像 textureGather 和纹理过滤这样的函数
  • 图像 - 类似纹理,但没有采样器
  • SSBO - 通用解决方案,与图像性能相同,您仍然可以将 2D 数组放入缓冲区并索引为 data[y][x]
  • 关于OpenGL:SSBO vs "Buffer Texture"vs "PBO/Texture"来提供计算着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37454976/

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