Я разрабатываю приложение для Android с ionic 3. У меня есть часть, использующая babylon.js, а другая часть (не связанная друг с другом), использующая three.js. Я тестировал приложение на нескольких устройствах. Те, у кого установлена Android 5.1.1, не могут отображать файлы three.js. Там написано «webGL не поддерживается» или что-то в этом роде. Также, если я попробую document.createElement("canvas").getContext("webgl")
, я получу null
. ТАК пока это имеет смысл.
С другой стороны, Babylon.js может без проблем показывать свои трехмерные объекты. Если я попробую document.createElement("canvas").getContext("webgl")
, я также получу null
. НО: если я попробую engine.webGLversion
, я получу 2
.
На Android 6 или 7 все работает нормально. THREE.js говорит, что использует движок webgl, как и Вавилон. Я знаю, что веб-просмотр Chrome не позволяет использовать webgl на Android 5.1.1 или ниже (???). В любом случае, WebGL отлично работает на Android 6 и 7. Также document.createElement("canvas").getContext("webgl")
возвращает нормально.
Затем я установил Crosswalk в свое приложение (добавив элемент игнорирования черного списка), и THREE.js перестал жаловаться, а document.createElement("canvas").getContext("webgl")
нормально вернул контекст webGL.
Я до сих пор не знаю, если:
- У babylon есть средство визуализации холста, и он возвращается к нему, когда не может найти webgl.
- Вавилон обладает некоторыми магическими способностями и МОЖЕТ использовать webGL, когда Three.js НЕ МОЖЕТ
Кто-нибудь прошел через то же самое? Благодарность