diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index edfbdbf0276faa8d87f9ec99c1169c202dd304fe..ff87cc98ae05f84c93a2d7e0e29288dbac6c5e33 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -1233,6 +1233,12 @@ function WebGLRenderer( parameters ) { state.buffers.depth.setMask( true ); state.buffers.color.setMask( true ); + if ( camera.isArrayCamera && camera.enabled ) { + + _this.setScissorTest( false ); + + } + camera.onAfterRender( _this ); // _gl.finish(); @@ -1410,19 +1416,15 @@ function WebGLRenderer( parameters ) { var camera2 = cameras[ j ]; var bounds = camera2.bounds; - _currentViewport.set( - bounds.x * _width, bounds.y * _height, - bounds.z * _width, bounds.w * _height - ).multiplyScalar( _pixelRatio ); - - _currentScissor.set( - bounds.x * _width, bounds.y * _height, - bounds.z * _width, bounds.w * _height - ).multiplyScalar( _pixelRatio ); - - state.viewport( _currentViewport ); - state.scissor( _currentScissor ); - state.setScissorTest( true ); + _this.setViewport( + bounds.x * _width * _pixelRatio, bounds.y * _height * _pixelRatio, + bounds.z * _width * _pixelRatio, bounds.w * _height * _pixelRatio + ); + _this.setScissor( + bounds.x * _width * _pixelRatio, bounds.y * _height * _pixelRatio, + bounds.z * _width * _pixelRatio, bounds.w * _height * _pixelRatio + ); + _this.setScissorTest( true ); renderObject( object, scene, camera2, geometry, material, group );