WebGL支持但是Three.js的equirectangular全景示例无法在设备上运行?

时间:2016-01-27 21:35:52

标签: javascript android html5 mobile three.js

查看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上有一个带有设备方向控制的equirectangular全景,在不使用CSS3D版本全景的PDA上和桌面上用鼠标拖动的普通WebGL equirectangular全景图来查看各个部分。球面投影。

我认为仅仅检查一下Detector.js是否支持WebGL是不够的。我还需要考虑代码还有硬件方面的其他内容吗?

1 个答案:

答案 0 :(得分: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。所以我可以使用它来检查支持并使用CSS3D作为不支持DeviceOrientationEvent的后备。