【问题标题】:babylon.js vs three.js on ionic, the webgl issuebabylon.js vs three.js on ionic,webgl 问题
【发布时间】:2018-08-06 01:14:50
【问题描述】:

我正在使用 ionic 3 开发一个适用于 android 的应用程序。我有一部分使用 babylon.js,另一部分(彼此不相关)使用 three.js 我在一些设备上测试了该应用程序。 Android 5.1.1 的人无法显示three.js 的东西。它说“不支持 webGL”或类似的东西。另外,如果我尝试document.createElement("canvas").getContext("webgl"),我会得到null。所以到目前为止这是有道理的。

另一方面,Babylon.js 可以毫无问题地显示其 3d 内容。如果我尝试document.createElement("canvas").getContext("webgl"),我也会得到null。但是:如果我尝试engine.webGLversion,我会得到2

在 Android 6 或 7 上,一切正常。 THREE.js 说它正在使用 webgl 引擎,Babylon 也是如此。我知道 Chrome 的 webview 不允许您在 Android 5.1.1 或更低版本上使用 webgl (???)。无论如何,WebGL 在 Android 6 和 7 上运行良好。document.createElement("canvas").getContext("webgl") 也可以返回。

然后我在我的应用程序上安装了 Crosswalk(添加了黑名单忽略的东西),THREE.js 停止了抱怨,document.createElement("canvas").getContext("webgl") 返回了一个 webGL 上下文。

我还是不知道:

  1. babylon 有一个画布渲染器,当找不到 webgl 时会回退到它。
  2. babylon 有一些魔力,并且可以在 Three.js 无法使用时使用 webGL

有人经历过吗?谢谢

【问题讨论】:

    标签: three.js webgl ionic3 crosswalk babylonjs


    【解决方案1】:

    我至少可以回答问题 1:我们选择在 Babylon.js 中仅支持 WebGL 上下文,因为使用纯画布模拟硬件加速渲染的成本过高。

    【讨论】:

      猜你喜欢
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 2020-09-17
      • 2015-03-26
      • 2012-08-07
      • 2020-05-28
      • 2015-02-24
      相关资源
      最近更新 更多