4
是否可以在場景之間共享網格或幾何圖形?你可以在three.js場景之間共享網格嗎?
我有多個場景應該是相同的,大,網格,但是當我嘗試共享它們之間的網格時,我得到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);
});
});
該實施例生成的WebGL錯誤:
的WebGL:INVALID_OPERATION:useProgram:對象不是從這個上下文
WebGL:INVALID_OPERATION:uniformMatrix4fv:位置不是來自當前程序
WebGL:INVALID_OPERATION:uniform3f:位置不適用於當前程序
WebGL:INVALID_OPERATION:uniform1f:不適用於當前程序的位置
etc ...
謝謝,我很欣賞答案。我在上面澄清了我的問題。在我的情況下,有多個渲染器,所以看起來像我不能共享幾何。 – bjnortier 2012-08-08 12:13:03
是否允許多個EffectComposers使用相同的場景?我可以使多個渲染器正常工作,但向它們添加效果會得到相同的WebGL錯誤列表。見[這裏](https://github.com/asvarga/ManyRenderersWithEffects)。 – 2014-01-28 05:25:20
@mrdoob r70和r71仍然如此嗎?我無法在兩個渲染器之間共享幾何對象。 – Justin 2015-04-16 19:19:54