当chrome更新到他的最新版本时,我的WebGL应用程序已不再有效...... 模型只是黑色,因为纹理不会加载。
这是失败消息。纹理都是2的幂,所以我不知道问题在哪里。它适用于Chrome版本28.0.1500.72 m
GL_INVALID_ENUM : glActiveTexture: texture was GL_LINE_LOOP WebGL: drawArrays: texture bound to texture unit 2 is not renderable.
它可能不是2的幂并且具有不兼容的纹理 过滤或不是'纹理完整'。或者纹理是Float或 半浮点型带线性滤波,OES_float_linear或 OES_half_float_linear扩展未启用。
我的抽奖电话
// draw the Triangles
gl.drawElements(gl.TRIANGLES, Model.TriangleCount, gl.UNSIGNED_SHORT, 0);
答案 0 :(得分:1)
我设法解决了这个问题。
解决方案是查询另一个扩展名:oes_texture_float_linear; http://www.khronos.org/registry/gles/extensions/OES/OES_texture_float_linear.txt 它为浮动纹理添加了过滤器,现在代码再次起作用。
答案 1 :(得分:0)
你能告诉我们部分代码吗?
你有这样的事情:(?)
gl.activeTexture(gl.TEXTURE0);
gl.bindTexture(gl.TEXTURE_2D, ...);
阅读:
GL_INVALID_ENUM is generated if texture is not one of GL_TEXTUREi, where i ranges from 0 to (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1).
关于“不可渲染”的几句话
https://twitter.com/mrdoob/status/346950885039030273
你使用压缩纹理吗?