소스 검색

Updated builds.

Mr.doob 8 년 전
부모
커밋
48c714e75b
3개의 변경된 파일231개의 추가작업 그리고 174개의 파일을 삭제
  1. 41 13
      build/three.js
  2. 149 148
      build/three.min.js
  3. 41 13
      build/three.module.js

+ 41 - 13
build/three.js

@@ -19899,6 +19899,8 @@
 		cameraR.layers.enable( 2 );
 
 		var cameraVR = new ArrayCamera( [ cameraL, cameraR ] );
+		cameraVR.layers.enable( 1 );
+		cameraVR.layers.enable( 2 );
 
 		//
 
@@ -19915,13 +19917,11 @@
 				currentPixelRatio = renderer.getPixelRatio();
 				currentSize = renderer.getSize();
 
-				renderer.setPixelRatio( 1 );
-				renderer.setSize( renderWidth * 2, renderHeight, false );
+				renderer.setDrawingBufferSize( renderWidth * 2, renderHeight, 1 );
 
 			} else if ( scope.enabled ) {
 
-				renderer.setPixelRatio( currentPixelRatio );
-				renderer.setSize( currentSize.width, currentSize.height, true );
+				renderer.setDrawingBufferSize( currentSize.width, currentSize.height, currentPixelRatio );
 
 			}
 
@@ -20671,6 +20671,15 @@
 
 		this.setSize = function ( width, height, updateStyle ) {
 
+			var device = vr.getDevice();
+
+			if ( device && device.isPresenting ) {
+
+				console.warn( 'THREE.WebGLRenderer: Can\'t change size while VR device is presenting.' );
+				return;
+
+			}
+
 			_width = width;
 			_height = height;
 
@@ -20688,6 +20697,20 @@
 
 		};
 
+		this.setDrawingBufferSize = function ( width, height, pixelRatio ) {
+
+			_width = width;
+			_height = height;
+
+			_pixelRatio = pixelRatio;
+
+			_canvas.width = width * pixelRatio;
+			_canvas.height = height * pixelRatio;
+
+			this.setViewport( 0, 0, width, height );
+
+		};
+
 		this.setViewport = function ( x, y, width, height ) {
 
 			_viewport.set( x, _height - y - height, width, height );
@@ -21636,18 +21659,23 @@
 					for ( var j = 0, jl = cameras.length; j < jl; j ++ ) {
 
 						var camera2 = cameras[ j ];
-						var bounds = camera2.bounds;
 
-						var x = bounds.x * _width;
-						var y = bounds.y * _height;
-						var width = bounds.z * _width;
-						var height = bounds.w * _height;
+						if ( object.layers.test( camera2.layers ) ) {
+
+							var bounds = camera2.bounds;
+
+							var x = bounds.x * _width;
+							var y = bounds.y * _height;
+							var width = bounds.z * _width;
+							var height = bounds.w * _height;
 
-						_this.setViewport( x, y, width, height );
-						_this.setScissor( x, y, width, height );
-						_this.setScissorTest( true );
+							_this.setViewport( x, y, width, height );
+							_this.setScissor( x, y, width, height );
+							_this.setScissorTest( true );
 
-						renderObject( object, scene, camera2, geometry, material, group );
+							renderObject( object, scene, camera2, geometry, material, group );
+
+						}
 
 					}
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 149 - 148
build/three.min.js


+ 41 - 13
build/three.module.js

@@ -19893,6 +19893,8 @@ function WebVRManager( renderer ) {
 	cameraR.layers.enable( 2 );
 
 	var cameraVR = new ArrayCamera( [ cameraL, cameraR ] );
+	cameraVR.layers.enable( 1 );
+	cameraVR.layers.enable( 2 );
 
 	//
 
@@ -19909,13 +19911,11 @@ function WebVRManager( renderer ) {
 			currentPixelRatio = renderer.getPixelRatio();
 			currentSize = renderer.getSize();
 
-			renderer.setPixelRatio( 1 );
-			renderer.setSize( renderWidth * 2, renderHeight, false );
+			renderer.setDrawingBufferSize( renderWidth * 2, renderHeight, 1 );
 
 		} else if ( scope.enabled ) {
 
-			renderer.setPixelRatio( currentPixelRatio );
-			renderer.setSize( currentSize.width, currentSize.height, true );
+			renderer.setDrawingBufferSize( currentSize.width, currentSize.height, currentPixelRatio );
 
 		}
 
@@ -20665,6 +20665,15 @@ function WebGLRenderer( parameters ) {
 
 	this.setSize = function ( width, height, updateStyle ) {
 
+		var device = vr.getDevice();
+
+		if ( device && device.isPresenting ) {
+
+			console.warn( 'THREE.WebGLRenderer: Can\'t change size while VR device is presenting.' );
+			return;
+
+		}
+
 		_width = width;
 		_height = height;
 
@@ -20682,6 +20691,20 @@ function WebGLRenderer( parameters ) {
 
 	};
 
+	this.setDrawingBufferSize = function ( width, height, pixelRatio ) {
+
+		_width = width;
+		_height = height;
+
+		_pixelRatio = pixelRatio;
+
+		_canvas.width = width * pixelRatio;
+		_canvas.height = height * pixelRatio;
+
+		this.setViewport( 0, 0, width, height );
+
+	};
+
 	this.setViewport = function ( x, y, width, height ) {
 
 		_viewport.set( x, _height - y - height, width, height );
@@ -21630,18 +21653,23 @@ function WebGLRenderer( parameters ) {
 				for ( var j = 0, jl = cameras.length; j < jl; j ++ ) {
 
 					var camera2 = cameras[ j ];
-					var bounds = camera2.bounds;
 
-					var x = bounds.x * _width;
-					var y = bounds.y * _height;
-					var width = bounds.z * _width;
-					var height = bounds.w * _height;
+					if ( object.layers.test( camera2.layers ) ) {
+
+						var bounds = camera2.bounds;
+
+						var x = bounds.x * _width;
+						var y = bounds.y * _height;
+						var width = bounds.z * _width;
+						var height = bounds.w * _height;
 
-					_this.setViewport( x, y, width, height );
-					_this.setScissor( x, y, width, height );
-					_this.setScissorTest( true );
+						_this.setViewport( x, y, width, height );
+						_this.setScissor( x, y, width, height );
+						_this.setScissorTest( true );
 
-					renderObject( object, scene, camera2, geometry, material, group );
+						renderObject( object, scene, camera2, geometry, material, group );
+
+					}
 
 				}
 

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.