Three.js THREEJS:使用不同颜色清除RT和默认FBO

Three.js THREEJS:使用不同颜色清除RT和默认FBO,three.js,Three.js,我将场景渲染一次到WebGLRenderTarget,然后渲染到默认帧缓冲区,如下所示: //want the BG of RT to be green renderer.setClearColor(0x00ff00,1); renderer.clearTarget(renderTargetTex, true,true); renderer.render(this._scene, cam,renderTargetTex, true); //now render same s

我将场景渲染一次到
WebGLRenderTarget
,然后渲染到默认帧缓冲区,如下所示:

  //want the BG of RT to be green
  renderer.setClearColor(0x00ff00,1);
  renderer.clearTarget(renderTargetTex, true,true);
  renderer.render(this._scene, cam,renderTargetTex, true);

  //now render same scene into default FBO:
  //set red BG
  renderer.setClearColor(0xff0000,1);
  renderer.clear();
  renderer.render(this._scene,cam);
结果总是黑色背景。但如果我不打电话

  renderer.clearTarget(renderTargetTex, true,true);
  renderer.render(this._scene, cam,renderTargetTex, true);
渲染器
autoClear
设置为false

然后我把后缓冲区清除为红色。如何将每个RT清除为其颜色?我正在使用THREE.js版本93dev

渲染器。clear()
将清除当前渲染目标

如果要清除与当前目标不同的目标,必须首先设置所需的目标

您可以改为使用此模式:

renderer.setRenderTarget( renderTarget );
renderer.setClearColor( color1, alpha1 );
renderer.clear();
renderer.render( scene, camera, renderTarget, true );

renderer.setRenderTarget( null );
renderer.setClearColor( color2, alpha2 );
renderer.clear();
renderer.render( scene, camera );
three.js r.97

renderer.clear()
将清除当前渲染目标

如果要清除与当前目标不同的目标,必须首先设置所需的目标

您可以改为使用此模式:

renderer.setRenderTarget( renderTarget );
renderer.setClearColor( color1, alpha1 );
renderer.clear();
renderer.render( scene, camera, renderTarget, true );

renderer.setRenderTarget( null );
renderer.setClearColor( color2, alpha2 );
renderer.clear();
renderer.render( scene, camera );
3.js r.97