在移动设备上支持 Canvas 和 WebGL (three.js)?

Posted

技术标签:

【中文标题】在移动设备上支持 Canvas 和 WebGL (three.js)?【英文标题】:Support of Canvas and WebGL (three.js) on moble devices? 【发布时间】:2012-01-08 21:33:12 【问题描述】:

有一个很棒的 3D 应用程序框架,名为 three.js。据我了解,它有几个渲染子系统:基于Canvas 和基于WebGL

那么,移动设备支持呢? (安卓、ios

【问题讨论】:

【参考方案1】:

不管是哪三个.js,都是这样分解的:

Canvas 元素可以与2D 上下文或WebGL 上下文一起使用。 threejs 可以使用 WebGL 或 2D 上下文。

大多数手机都支持2D 上下文。

目前还很少有人支持WebGL 上下文。移动版 Firefox 支持 WebGL 并且至少可用于某些 android 版本,BlackBerry PlayBook 也可以使用它。

见:

http://caniuse.com/canvas(又名 2D)

http://caniuse.com/webgl

【讨论】:

【参考方案2】:

您可以在移动设备上使用 Three.js,至少是 iOS,并且只能使用 Three.js 的 CanvasRenderer。 WebGLRenderer 无法在 iOS 上运行。

尽量不要使用纹理,它会降低很多帧速率。 使用简单的彩色网格,它工作得很好,而且速度很快。

我对动画几何图形进行了一些测试,但仅限于基元。 我可以在 iPodTouch 1G 和 iPodTouch 4G 上测试它。两者都运行良好,帧率也不错。

我无法在 Android 上试用,但我认为它也可以。

【讨论】:

【参考方案3】:

2014 年 12 月 12 日更新 http://caniuse.com/#feat=webgl

IOS8 将启用 WebGL。 Android 浏览器启用了 WebGl。 但是,如果您想创建应用,可以使用 Crosswalk 在最新的 Chromium(已启用 WebGL)上运行该应用。 或者,CocoonJS 具有“Canvas+”,它是 Canvas 元素的原生 android/iOS 实现,包括虚拟 javascript 环境。 (换句话说,一个只能渲染 Canvas 元素的自定义浏览器)

【讨论】:

所有安卓浏览器现在都支持WebGL,参见:caniuse.com/#feat=webgl 不,旧的 Android 仍然安装了过时的股票浏览器!从 Android 5 开始,似乎浏览器是自动更新的(不需要人行横道)

以上是关于在移动设备上支持 Canvas 和 WebGL (three.js)?的主要内容,如果未能解决你的问题,请参考以下文章

开发者学堂WebGL 2登陆Firefox

WebGL画一个10px大小的点

WebGL-入门

2016-7-3 webGL

《WebGL编程指南》基础篇

昨天,AWS发布了一款WebGL游戏引擎