Я пытаюсь создать сферическую панораму, используя THREE.js. Он отлично работает на Safari Desktop, но вылетает на Safari Mobile на iPad. Это как-то связано с тем, как я загружаю текстуру изображения.
Несколько вещей, которые я пробовал
- Я использую Canvas Renderer
- Попытка загрузки изображения меньшего размера.
- Попытка загрузки изображения с 2 степенями текстуры.
- Пробовал загружать Сферу материалом каркаса - Работает!
Вот мой код.
http://pastebin.com/1nwTMHJV
sceneHolder = document.getElementById( 'sceneHolder' );
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera( 60, SCENE_WIDTH / SCENE_HEIGHT, 1, 10000 );
camera.position.z = 0;
scene.add( camera );
var sphereGeom = new THREE.SphereGeometry( 200, 20, 20 );
//NOTE: If we add {},function(){render()} in the following, it stops working!
var sphereTexture = THREE.ImageUtils.loadTexture('media/vr/testpot.jpg');
mesh = new THREE.Mesh(sphereGeom,new THREE.MeshBasicMaterial({map:sphereTexture,overdraw:true}));
//So that we see the inside of the sphere too!
mesh.doubleSided=true;
scene.add( mesh );
renderer = new THREE.CanvasRenderer();
renderer.setSize( SCENE_WIDTH, SCENE_HEIGHT );
sceneHolder.appendChild( renderer.domElement );
Вот мой пост на THREE.js
https://github.com/mrdoob/three.js/issues/1529
Также: https://github.com/mrdoob/three.js/issues/1550
Спасибо
smaira