【问题标题】:Copy texture from GPU to CPU将纹理从 GPU 复制到 CPU
【发布时间】:2012-07-29 12:08:39
【问题描述】:

如何在 WebGL 中将纹理从 GPU 内存复制到 CPU?我在运行时使用 texSubImage2D 更新纹理。

我想避免:

  • 在画布上存储纹理副本
  • 渲染到纹理并调用 readPixels

还有其他方法吗?

已经阅读了这些(这对于在执行期间未更新的纹理很有用):

【问题讨论】:

    标签: javascript html gpu webgl textures


    【解决方案1】:

    除了将纹理附加到 FBO 并执行 readPixels 之外,别无他法。

    【讨论】:

      【解决方案2】:

      readPixels 或(因为 readPixels 往往有点慢)您可以在画布大小的四边形上渲染它。

      var img = canvas.toDataURL("image/png");
      

      该纹理将在 img 变量中。为此,您需要初始化您 gl 类似这样的东西

      gl = canvas.getContext("experimental-webgl", {preserveDrawingBuffer: true});
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-31
        • 2017-04-10
        • 1970-01-01
        • 1970-01-01
        • 2011-03-16
        • 1970-01-01
        • 2011-09-14
        • 2013-05-18
        相关资源
        最近更新 更多