支持浮动设备上的画布和WebGL(three.js)?

问题描述:

有一个很棒的3D应用框架叫做three.js。据我了解,它有几个渲染子系统:基于Canvas和基于WebGL支持浮动设备上的画布和WebGL(three.js)?

那么,移动设备如何支持? (Android装置,iOS)

不管three.js所它被分解这样的:

Canvas元件可与一个2D上下文或WebGL上下文中使用。 threejs可以使用WebGL或2D上下文。

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

很少支持WebGL上下文呢。 Firefox for mobile支持WebGL,至少可用于某些Android版本,BlackBerry PlayBook也可以使用它。

参见:

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

http://caniuse.com/webgl

您可以在移动设备上使用three.js所,至少iOS和仅用three.js所的CanvasRenderer。 WebGLRenderer无法在iOS上使用。

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

我对动画几何只进行了一些测试,只有基元。
我可以在iPodTouch 1G和iPodTouch 4G上测试它。两者运作良好,帧率良好。

我无法在Android上试用它,但我认为它也在工作。

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

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

WebGL现在支持所有Android浏览器,请参阅:http://caniuse.com/#feat=webgl –

+0

不,旧的Android仍然有安装了过时的股票浏览器!从Android 5开始,似乎浏览器是自动更新的(不需要人行横道) – markmarijnissen