- webgl的离屏canvas在安卓下黑屏
最近在做一个3d小游戏,想把webgl的离屏canvas通过drawImage绘制在主屏上,方便在主屏上绘制2d UI,结果在安卓下黑屏,ios锯齿非常严重,搜索了下论坛,发现之前也很多人提到过这个问题,不知道官方能否回复下,这个问题 能不能解决,如果不能解决的画,我们就要考虑使用别的方案了,谢谢
2018-10-18 - 安卓下使用2d的上屏canvas绘制webgl的离屏canvas无法显示
- 当前 Bug 的表现(可附上截图) 这个问题存在半年多了,也发过很多次贴,之前说修复了,问题还是存在,再次发帖也没回音了,还修不修复这个问题了? - 预期表现 - 复现路径 - 提供一个最简复现 Demo https://developers.weixin.qq.com/community/develop/doc/0002c29bbb00b81e03a71690f51000
2018-12-05 - 华为Android必现:离屏webgl 渲染到 2D canvas的黑屏问题
- 当前 Bug 的表现(可附上截图) 注:目前只有华为的手机和平板会有这个问题。其他手机:Android,iOS都正常表现。 用离屏的webgl canvas渲染到上屏的canvas 2D环境,只有在华为的android手机上,看不到webgl的内容。 下图中,彩色的三角形和四边形,就是用webgl渲染的;但是看不到; [图片] - 预期表现 [图片] - 复现路径 https://developers.weixin.qq.com/s/L4gO2NmP7d6B - 提供一个最简复现 Demo https://developers.weixin.qq.com/s/L4gO2NmP7d6B 重点代码在最后几行。 [代码]function[代码] [代码]tick() {[代码][代码] [代码][代码]requestAnimationFrame(tick);[代码][代码] [代码][代码]drawScene();[代码][代码] [代码][代码]animate();[代码] [代码] [代码] [代码] // 将3D纹理拷贝到2D纹理上。[代码] [代码] contextMain[代码][代码].clearRect(0 ,0, canvasMain.width, canvasMain.height);[代码][代码][代码] contextMain[代码].drawImage(canvas3D, 0, 0);[代码][代码] [代码][代码][代码]contextMain[代码].fillStyle = [代码][代码]"#FFFFFF"[代码][代码] [代码][代码][代码]contextMain[代码].fillRect(0, 0, 100, 100);[代码][代码]}[代码] let contextMain = undefined; [代码]let canvasMain = undefined;[代码][代码]let canvas3D = undefined;[代码] [代码]function[代码] [代码]webGLStart(canvas) {[代码] [代码] [代码][代码]canvasMain = canvas;[代码] [代码] contextMain= [代码]canvasMain.getContext([代码][代码]'2d'[代码][代码]);[代码][代码] [代码][代码] [代码][代码] [代码][代码] // 创建离屏webgl环境[代码][代码] [代码] [代码][代码]canvas3D = wx.createCanvas();[代码][代码] [代码][代码]canvas3D.width = canvasMain.width;[代码][代码] [代码][代码]canvas3D.height = canvasMain.height[代码] [代码] [代码][代码]initGL(canvas3D);[代码][代码] [代码][代码]initShaders();[代码][代码] [代码][代码]initBuffers();[代码] [代码] [代码][代码]gl.clearColor(0.0, 0.0, 0.0, 1.0);[代码][代码] [代码][代码]gl.enable(gl.DEPTH_TEST);[代码] [代码] [代码][代码]tick();[代码][代码]}[代码] [代码]GameGlobal.alert = (...msg) => console.log([代码][代码]"alert"[代码][代码], ...msg);[代码] [代码]webGLStart(wx.createCanvas());[代码]
2019-03-11