【问题标题】:three.js texture error reads "GL_INVALID_OPERATION : glDrawElements: Source and destination textures of the draw are the same"three.js 纹理错误读取“GL_INVALID_OPERATION:glDrawElements:绘制的源和目标纹理相同”
【发布时间】:2019-07-10 04:39:32
【问题描述】:

我是一名尝试使用色调映射的新开发人员,如 Three.js 所示:(https://threejs.org/examples/#webgl_tonemapping),即使我从threejs 下载源代码,我也无法避免特定错误。

快速笔记: 1) 我在本地使用 Web Server for Chrome 2)具体错误是“GL_INVALID_OPERATION : glDrawElements: Source and destination textures of the draw is the same” 3) 错误重复超过 256 次 4) 屏幕黑屏,什么都做不了。

我查遍了整个互联网,无法得到明确的答案,任何反馈都将不胜感激。我唯一的线索是 WebGL + Chrome 可能会影响纹理,但我不确定。

谢谢

【问题讨论】:

  • 你能发布你正在使用的代码吗?从错误来看,您似乎正在尝试绘制到您正在读取的同一渲染目标。

标签: javascript google-chrome three.js textures chromium


【解决方案1】:

尽管有您提到的示例,但我已经为同样的错误苦苦挣扎了一周,直到我在仔细阅读迁移指南后终于找到了解决方案 (101->102)。 renderer.render() 曾经将渲染目标作为第三个参数,现在你应该在 render() 调用之前显式调用 setRenderTarget(your_framebuffer),而我之前错过的是你也应该 通过调用setRenderTarget(null) 取消设置目标。这解决了我的问题。希望这可以为其他人节省一周的时间!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多