シーン間でメッシュやジオメトリを共有することはできますか?
同じ大きなメッシュである必要がある複数のシーンがありますが、それらの間でメッシュを共有しようとすると、WebGL コンテキスト エラーが発生します。いくつかの変数は、メッシュまたはジオメトリがシーンに追加されたときに設定されているため、別のシーンで再利用できないと思われます。
編集:
具体的には、JSONLoader で読み込まれたジオメトリを異なるシーン間で共有しようとしています。つまり、この例では、'apps' はシーンを含むアプリの配列です。
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);
});
});
この例では、WebGL エラーが生成されます。
WebGL: INVALID_OPERATION: useProgram: object not from this context
WebGL: INVALID_OPERATION: uniformMatrix4fv: location is not from current program
WebGL: INVALID_OPERATION: uniform3f: location not for current program
WebGL: INVALID_OPERATION: uniform1f: location not for current program
etc...