基础库:2.16.0
真机预览设备:iphone12pro、ipad(第6代)
代码:
wx.createSelectorQuery()
.select('#webgl')
.node()
.exec((res) => {
const canvas = res[0].node
canvas.getContext('webgl').getParameter(34930); // 获取Gpu最大Texture Units值
})
输出结果为8
正常gpu最大Texture Units都是16,没道理我的ios设备都是8,但是安卓手机是16
于是我在小程序插入webview网页输出这个值,得到的竟然是16
直接导致我的材质效果在webview能跑起来,但是在小程序原生却不行,怎么回事?
补充获取gl.SHADING_LANGUAGE_VERSION结果:
小程序webview:WebGL GLSL ES 1.0 (1.0)
小程序原生:WebGL 1.0 (OpenGL ES 2.0 WeChat)
都是WebGL1.0
MAX_COMBINED_TEXTURE_IMAGE_UNITS得到的也是8,而webview是32
目测是小程序对ios webgl支持问题,暂时无解
只能等官方哪天大发慈悲去升级,目前只能放弃小程序改回用网页渲染了
希望官方可以优化下webgl (wechat)的文档,避免浪费时间
你好,麻烦提供出现问题的微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)