Browse Source

WebGLRenderer: Clean up.

Mr.doob 8 years ago
parent
commit
5036b8c41a
1 changed files with 8 additions and 12 deletions
  1. 8 12
      src/renderers/WebGLRenderer.js

+ 8 - 12
src/renderers/WebGLRenderer.js

@@ -122,11 +122,10 @@ function WebGLRenderer( parameters ) {
 		_currentCamera = null,
 		_currentArrayCamera = null,
 
+		_currentViewport = new Vector4(),
 		_currentScissor = new Vector4(),
 		_currentScissorTest = null,
 
-		_currentViewport = new Vector4(),
-
 		//
 
 		_usedTextureUnits = 0,
@@ -138,11 +137,10 @@ function WebGLRenderer( parameters ) {
 
 		_pixelRatio = 1,
 
+		_viewport = new Vector4( 0, 0, _width, _height ),
 		_scissor = new Vector4( 0, 0, _width, _height ),
 		_scissorTest = false,
 
-		_viewport = new Vector4( 0, 0, _width, _height ),
-
 		// frustum
 
 		_frustum = new Frustum(),
@@ -2596,16 +2594,17 @@ function WebGLRenderer( parameters ) {
 
 		}
 
-		var isCube = ( renderTarget && renderTarget.isWebGLRenderTargetCube );
 		var framebuffer;
+		var isCube = false;
 
 		if ( renderTarget ) {
 
 			var renderTargetProperties = properties.get( renderTarget );
 
-			if ( isCube ) {
+			if ( renderTarget.isWebGLRenderTargetCube ) {
 
 				framebuffer = renderTargetProperties.__webglFramebuffer[ renderTarget.activeCubeFace ];
+				isCube = true;
 
 			} else {
 
@@ -2613,20 +2612,18 @@ function WebGLRenderer( parameters ) {
 
 			}
 
+			_currentViewport.copy( renderTarget.viewport );
 			_currentScissor.copy( renderTarget.scissor );
 			_currentScissorTest = renderTarget.scissorTest;
 
-			_currentViewport.copy( renderTarget.viewport );
-
 		} else {
 
 			framebuffer = null;
 
+			_currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio );
 			_currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio );
 			_currentScissorTest = _scissorTest;
 
-			_currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio );
-
 		}
 
 		if ( _currentFramebuffer !== framebuffer ) {
@@ -2636,11 +2633,10 @@ function WebGLRenderer( parameters ) {
 
 		}
 
+		state.viewport( _currentViewport );
 		state.scissor( _currentScissor );
 		state.setScissorTest( _currentScissorTest );
 
-		state.viewport( _currentViewport );
-
 		if ( isCube ) {
 
 			var textureProperties = properties.get( renderTarget.texture );