Можно ли обмениваться сетками или геометрией между сценами?
У меня есть несколько сцен, которые должны быть одинаковыми, большими, сетками,но когда я пытаюсь разделить сетки между ними, я получаю ошибки контекста WebGL. Я подозреваю, что некоторые переменные задаются для мешей или геометрии при их добавлении в сцену, что предотвращает их повторное -использование в другой сцене.
РЕДАКТИРОВАТЬ:
В частности, я пытаюсь поделиться геометрией, загруженной с помощью JSONLoader, между разными сценами. т.е. в этом примере «приложения» — это массив приложений со сценами:
var loader = new THREE.JSONLoader();
loader.load('obj/tree/tree.js', function(geometry) {
apps.map(function(app) {
var material = new THREE.MeshBasicMaterial({color: 0xff0000, opacity: 1.0});
var mesh = new THREE.Mesh(geometry, geometry.materials[0]);
app.scene.add(mesh);
});
});
Полный источник здесь:https://github.com/bjnortier/three.js/blob/multiple_canvasses_with_json_loader/examples/webgl_multiple_canvases_grid.html
Этот пример генерирует ошибки WebGL:
WebGL :INVALID _OPERATION :useProgram :объект не из этого контекста
WebGL :INVALID _OPERATION :uniformMatrix4fv :расположение не из текущей программы
WebGL :INVALID _OPERATION :uniform3f :расположение не для текущей программы
WebGL :INVALID _OPERATION :uniform1f :расположение не для текущей программы
и т.д...