1. 首页
  2. three.js

three.js未能在“WebGLRenderingContext”上执行“texImage2D”:未找到与提供的签名匹配的函数

我正在使用ionic 3框架构建Android和Electron应用程序。n现在我要添加Three.js(使用的版本是r110)在应用程序中,我没有WebGL或three.js.n当我用Electron运行应用程序时,一切似乎都很好,但是,当我使用android API 28在android仿真器中运行该应用程序时,出现了“未能在“WebGLRenderingContext”上执行“texImage2D”:找不到与提供的签名匹配的函数。”n我认为问题在于android使用的chrome版本是“chrome/69.0.3497.100”,而在Electron中是“Chrome/76.0.3809.146”。n这是我在中找到的使用texImage2D函数的代码部分three.js已登录错误的库3.module.jsnfunction texImage2D() {try {gl.texImage2D.apply( gl, arguments );} catch ( error ) {console.error( \”THREE.WebGLState:\”, error );}}n我不知道它是否有用,但我的控制台中也打印了很多这条消息时报。n[.WebGL-0xcba04400]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [file:///android_asset/www/index.html]n有解决方法或方法解决此问题吗?亚历山德罗·雷纳托:n我认为问题在于Android使用的chrome版本是“chrome/69.0.3497.100”,而在Electron中是“chrome/76.0.3809.146”。我认为这不可能是问题所在。n你能运行一个简单得多的程序吗three.js模拟器中的应用程序?不要加载任何纹理或模型,只需获取一个简单的立方体即可显示。n这是使用texImage2D函数的部分代码。n您可以共享整个代码吗?从一小段代码中调试一个问题是很困难的。looee:n你能分享整个代码吗?很难从一个很小的代码片段中调试问题。n对不起。n我从这个存储库中获取了代码https://github.com/johnydevnull/ng-three-template/4不同之处在于,在存储库中,应用程序执行的是一个多维数据集,而不是collada模型three.js应用于模拟器?不要加载任何纹理或模型,只需获取一个简单的立方体即可显示。n我只使用立方体运行应用程序,没有显示任何错误。n似乎当我加载collada模型时,也加载了一个.png文件,我也阅读了这篇文章https://github.com/pixijs/pixi.js/issues/60144n大多数移动设备都有限制4096n我的collada模型加载一个巨大的.png文件(7022×7022)。我将图像缩放到2048×2048,但错误仍然存在。n有什么解决方法吗?n Failed to execute ‘texImage2D’ on ‘WebGLRenderingContext’: No function was found that matched the signature providedn

three.js未能在“WebGLRenderingContext”上执行“texImage2D”:未找到与提供的签名匹配的函数 为WP2原创文章,链接:https://www.wp2.cn/three-js/three-js%e6%9c%aa%e8%83%bd%e5%9c%a8webglrenderingcontext%e4%b8%8a%e6%89%a7%e8%a1%8cteximage2d%ef%bc%9a%e6%9c%aa%e6%89%be%e5%88%b0%e4%b8%8e%e6%8f%90%e4%be%9b/