浏览代码

WebGLRenderer: Revert y swap to setViewport() and setScissor()

WestLangley 7 年之前
父节点
当前提交
80e542c618

+ 1 - 1
examples/webgl_camera_array.html

@@ -37,7 +37,7 @@
 					for ( var x = 0; x < AMOUNT; x ++ ) {
 					for ( var x = 0; x < AMOUNT; x ++ ) {
 
 
 						var subcamera = new THREE.PerspectiveCamera( 40, ASPECT_RATIO, 0.1, 10 );
 						var subcamera = new THREE.PerspectiveCamera( 40, ASPECT_RATIO, 0.1, 10 );
-						subcamera.bounds = new THREE.Vector4( x / AMOUNT, y / AMOUNT, SIZE, SIZE );
+						subcamera.bounds = new THREE.Vector4( x / AMOUNT, 1 - ( ( y + 1 ) / AMOUNT ), SIZE, SIZE );
 						subcamera.position.x = ( x / AMOUNT ) - 0.5;
 						subcamera.position.x = ( x / AMOUNT ) - 0.5;
 						subcamera.position.y = 0.5 - ( y / AMOUNT );
 						subcamera.position.y = 0.5 - ( y / AMOUNT );
 						subcamera.position.z = 1.5;
 						subcamera.position.z = 1.5;

+ 2 - 2
examples/webgl_lines_fat.html

@@ -194,9 +194,9 @@
 
 
 				renderer.setScissorTest( true );
 				renderer.setScissorTest( true );
 
 
-				renderer.setScissor( 20, window.innerHeight - insetHeight - 20, insetWidth, insetHeight );
+				renderer.setScissor( 20, 20, insetWidth, insetHeight );
 
 
-				renderer.setViewport( 20, window.innerHeight - insetHeight - 20, insetWidth, insetHeight );
+				renderer.setViewport( 20, 20, insetWidth, insetHeight );
 
 
 				renderer.render( scene, camera );
 				renderer.render( scene, camera );
 
 

+ 3 - 3
examples/webgl_multiple_elements.html

@@ -218,10 +218,10 @@
 					var width  = rect.right - rect.left;
 					var width  = rect.right - rect.left;
 					var height = rect.bottom - rect.top;
 					var height = rect.bottom - rect.top;
 					var left   = rect.left;
 					var left   = rect.left;
-					var top    = rect.top;
+					var bottom = renderer.domElement.clientHeight - rect.bottom;
 
 
-					renderer.setViewport( left, top, width, height );
-					renderer.setScissor( left, top, width, height );
+					renderer.setViewport( left, bottom, width, height );
+					renderer.setScissor( left, bottom, width, height );
 
 
 					var camera = scene.userData.camera;
 					var camera = scene.userData.camera;
 
 

+ 3 - 3
examples/webgl_multiple_elements_text.html

@@ -246,10 +246,10 @@
 					var width  = rect.right - rect.left;
 					var width  = rect.right - rect.left;
 					var height = rect.bottom - rect.top;
 					var height = rect.bottom - rect.top;
 					var left   = rect.left;
 					var left   = rect.left;
-					var top    = rect.top;
+					var bottom = renderer.domElement.clientHeight - rect.bottom;
 
 
-					renderer.setViewport( left, top, width, height );
-					renderer.setScissor( left, top, width, height );
+					renderer.setViewport( left, bottom, width, height );
+					renderer.setScissor( left, bottom, width, height );
 
 
 					renderer.render( scene, scene.userData.camera );
 					renderer.render( scene, scene.userData.camera );
 
 

+ 6 - 6
examples/webgl_multiple_views.html

@@ -53,7 +53,7 @@
 			var views = [
 			var views = [
 				{
 				{
 					left: 0,
 					left: 0,
-					top: 0,
+					bottom: 0,
 					width: 0.5,
 					width: 0.5,
 					height: 1.0,
 					height: 1.0,
 					background: new THREE.Color( 0.5, 0.5, 0.7 ),
 					background: new THREE.Color( 0.5, 0.5, 0.7 ),
@@ -68,7 +68,7 @@
 				},
 				},
 				{
 				{
 					left: 0.5,
 					left: 0.5,
-					top: 0.5,
+					bottom: 0.5,
 					width: 0.5,
 					width: 0.5,
 					height: 0.5,
 					height: 0.5,
 					background: new THREE.Color( 0.7, 0.5, 0.5 ),
 					background: new THREE.Color( 0.7, 0.5, 0.5 ),
@@ -83,7 +83,7 @@
 				},
 				},
 				{
 				{
 					left: 0.5,
 					left: 0.5,
-					top: 0,
+					bottom: 0,
 					width: 0.5,
 					width: 0.5,
 					height: 0.5,
 					height: 0.5,
 					background: new THREE.Color( 0.5, 0.7, 0.7 ),
 					background: new THREE.Color( 0.5, 0.7, 0.7 ),
@@ -275,12 +275,12 @@
 					view.updateCamera( camera, scene, mouseX, mouseY );
 					view.updateCamera( camera, scene, mouseX, mouseY );
 
 
 					var left   = Math.floor( windowWidth  * view.left );
 					var left   = Math.floor( windowWidth  * view.left );
-					var top    = Math.floor( windowHeight * view.top );
+					var bottom = Math.floor( windowHeight * view.bottom );
 					var width  = Math.floor( windowWidth  * view.width );
 					var width  = Math.floor( windowWidth  * view.width );
 					var height = Math.floor( windowHeight * view.height );
 					var height = Math.floor( windowHeight * view.height );
 
 
-					renderer.setViewport( left, top, width, height );
-					renderer.setScissor( left, top, width, height );
+					renderer.setViewport( left, bottom, width, height );
+					renderer.setScissor( left, bottom, width, height );
 					renderer.setScissorTest( true );
 					renderer.setScissorTest( true );
 					renderer.setClearColor( view.background );
 					renderer.setClearColor( view.background );
 
 

+ 2 - 2
src/renderers/WebGLRenderer.js

@@ -409,14 +409,14 @@ function WebGLRenderer( parameters ) {
 
 
 	this.setViewport = function ( x, y, width, height ) {
 	this.setViewport = function ( x, y, width, height ) {
 
 
-		_viewport.set( x, _height - y - height, width, height );
+		_viewport.set( x, y, width, height );
 		state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
 		state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
 
 
 	};
 	};
 
 
 	this.setScissor = function ( x, y, width, height ) {
 	this.setScissor = function ( x, y, width, height ) {
 
 
-		_scissor.set( x, _height - y - height, width, height );
+		_scissor.set( x, y, width, height );
 		state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) );
 		state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) );
 
 
 	};
 	};