2 つの異なるレンダラーで (同時にではなく連続して)シーンをレンダリングしようとしていますが、「GL_INVALID_OPERATION」というエラーが発生します。
サンプル スクリプトを次に示します。
var scene1 = new THREE.Scene();
var camera1 = new THREE.PerspectiveCamera( ... );
var renderer1= new THREE.WebGLRenderer( ... );
var renderer2= new THREE.WebGLRenderer( ... );
var camera2 = new THREE.PerspectiveCamera( ... );
//Render scene1 in renderer1
renderer1.render( scene1, camera1 );
//[After some user event...]
//Render scene1 in renderer2
renderer2.render( scene1, camera2 ); //This fails. getError()=1282 (i.e. GL_INVALID_OPERATION)
同時にではなくても、2 つの異なるレンダラーでシーンをレンダリングすることはしばしば推奨されないことを知っていますが、非常に大きなプロジェクトの一部であるため、問題を解決する他の方法は考えられませんでした。
renderer1 にリンクされている Scene1 に関連付けられた GL データがあることは理解していますが、それらのデータを削除して、別のレンダラーで再度 Scene1 をレンダリングできるようにするにはどうすればよいですか ???
2 つのレンダリングで同時にシーンをレンダリングしようとしていないことに注意してください (これはhttps://github.com/mrdoob/three.js/issues/189とは異なります)。
助けてくれてありがとう。よろしく。