【问题标题】:WebGL supported but equirectangular panorama example from Three.js not working on device?支持 WebGL 但来自 Three.js 的 equirectangular 全景图示例无法在设备上运行?
【发布时间】:2016-01-27 21:35:52
【问题描述】:

看看WebGL equirectangular panorama example,它在台式机和移动设备(Samsung S4 Android 4.4.2)和最新版本的移动 Chrome 上运行良好。

但是,在三星平板电脑 SM-T230 上,也装有 Android 4.4.2 和最新版本的移动 Chrome,equirectangular 全景示例不起作用。这里device orientation control example 也不起作用。

在此设备上唯一能温和工作的是Canvas geometry panorama example,令我惊讶的是CSS3D panorama example 工作得最好!

所以这一切让我感到困惑。平板电脑确实支持 WebGL,但它的某些部分无法正常工作,例如 Canvas 几何全景图示例,即使不是流畅且几乎没有,但它支持它。

如何确定设备是否支持 WebGL equirectangular 全景示例?我正在寻找一种方法来为三星平板电脑 SM-T230 等设备创建后备方案,我希望在这些设备中使用 CSS3D 版本的 equirectangular 全景图。

现在我发现了很多关于检查 WebGL 支持的问题和答案,Three.js 甚至有一个 Detector.js 可以帮助解决这个问题,但是我如何才能确定特定设备是否会喜欢 equirectangular 全景部分WebGL?

我是否使用 Modernizr 需要检查设备需要支持设备方向控制示例的其他特定传感器?

我的目标是在支持它的 PDA 上、在不使用 CSS3D 版本全景的 PDA 上以及在桌面上使用普通的 WebGL 等距矩形全景图,通过鼠标拖动来查看球形的各个部分投影。

我认为仅仅检查 Detector.js 是否支持 WebGL 是不够的。我还需要考虑代码以及硬件方面的哪些内容?

【问题讨论】:

    标签: javascript android html mobile three.js


    【解决方案1】:

    An Introduction to the Device Orientation API

    DeviceOrientation Event Specification

    WebGL - 3D Canvas graphics

    这解决了我的问题。 T230 确实不支持 DeviceOrientationEvent,包括它的 4 个属性 alpha、beta、gamma 和 absolute。在 the test 中,这些是 null 和 false。所以我可以用它来检查是否支持,并在不支持 DeviceOrientationEvent 的情况下使用 CSS3D 作为后备。

    【讨论】:

      猜你喜欢
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2011-11-26
      相关资源
      最近更新 更多