javascript - 支持 WebGL 但来自 Three.js 的等距柱状全景示例无法在设备上运行?

标签 javascript android html mobile three.js

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

然而,在三星平板电脑 SM-T230 上,还配备了 Android 4.4.2 和最新版本的移动 Chrome,等距柱状全景图示例不起作用。这里还有device orientation control example不起作用。

唯一能在这个设备上正常工作的是 Canvas geometry panorama example令我惊讶的是 CSS3D panorama example效果最好!

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

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

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

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

我的目标是在支持它的 PDA 上、在不使用 CSS3D 版本全景图的 PDA 上以及在桌面上使用鼠标拖动以查看球形的各个部分的普通 WebGL 等距柱状全景图上有一个带有设备方向控制的等距柱状全景图投影。

我认为仅仅检查 Detector.js 是否支持 WebGL 在这里是不够的。请问还有什么我需要考虑的代码以及硬件方面的问题吗?

最佳答案

An Introduction to the Device Orientation API

DeviceOrientation Event Specification

WebGL - 3D Canvas graphics

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

关于javascript - 支持 WebGL 但来自 Three.js 的等距柱状全景示例无法在设备上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048516/

相关文章:

javascript - 如何在由 8 个不同的 "prism"图像组成的全宽背景上保持 100% 高度 + 纵横比

html - 创建在浏览器宽度更改时挤压的内联图像

javascript - 鼠标移开时的下拉菜单应保持可见

JavaScript onclick 事件仅有效一次

android - 动态创建 RecyclerView UI - Android

Android 可扩展 ListView

javascript - 正则表达式用@here 或空白转义 <!here|@here> 的所有匹配项

javascript - 从 JavaScript 打开图像文件(不适用于手机)

java - 如何确定是否以编程方式在 android 中检查了 USE NETWORK PROVIDED VALUES?

javascript - 当我在表单中输入内容时,它返回为未定义