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

11

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

那么移动设备支持呢?(Android、iOS)

3个回答

13

不管是哪种使用方法,three.js都可以被分解成以下几个部分:

Canvas元素可以使用2D上下文或WebGL上下文。three.js可以使用WebGL或者2D上下文。

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

但是目前只有少数支持WebGL上下文。Firefox移动版支持WebGL,并且至少适用于某些安卓版本, BlackBerry PlayBook也可以使用。

参见:

http://caniuse.com/canvas (即2D)

http://caniuse.com/webgl


5
2014年12月12日更新: http://caniuse.com/#feat=webgl
  • iOS8将启用WebGL。
  • Android浏览器已启用WebGL。
  • 然而,如果您想创建一个应用程序,您可以使用Crosswalk在最新的Chromium上运行该应用程序(其中已启用WebGL)。
  • 或者,CocoonJS具有“Canvas+”,这是Canvas元素的本机android/iOS实现,包括虚拟javascript环境。(换句话说,它是一个只能渲染Canvas元素的自定义浏览器)

WebGL现在支持所有Android浏览器,请参见:http://caniuse.com/#feat=webgl - Marwen Trabelsi
不,旧版的Android仍然安装有过时的原生浏览器!从Android 5开始,似乎浏览器会自动更新(无需使用Crosswalk)。 - markmarijnissen

3
您可以在移动设备上使用Three.js,至少在iOS系统上,并且只能使用three.js的CanvasRenderer。 WebGLRenderer在iOS系统上无法工作。
尽量不要使用纹理,因为它会大幅降低帧率。 使用简单的彩色网格,它可以很好地运行,并且速度很快。
我对动画几何体进行了一些测试,但仅限于基本形状。 我可以在iPodTouch 1G和iPodTouch 4G上进行测试。两者都表现良好,帧率很高。
我无法在Android上尝试,但我认为它也可以工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接