Mr.doob преди 6 години
родител
ревизия
fab0691415
променени са 3 файла, в които са добавени 234 реда и са изтрити 332 реда
  1. 73 2
      build/three.js
  2. 88 328
      build/three.min.js
  3. 73 2
      build/three.module.js

+ 73 - 2
build/three.js

@@ -12162,7 +12162,7 @@
 
 			}
 
-			data.data = { attributes: {} };
+			data.data = { attributes: {}, morphAttributes: {} };
 
 			var index = this.index;
 
@@ -12194,6 +12194,32 @@
 
 			}
 
+			var morphAttributes = this.morphAttributes;
+
+			for ( var key in morphAttributes ) {
+
+				var attributeArray = this.morphAttributes[ key ];
+
+				var array = [];
+
+				for ( var i = 0, il = attributeArray.length; i < il; i ++ ) {
+
+					var attribute = attributeArray[ i ];
+
+					array.push( {
+						name: attribute.name,
+						itemSize: attribute.itemSize,
+						type: attribute.array.constructor.name,
+						array: Array.prototype.slice.call( attribute.array ),
+						normalized: attribute.normalized
+					} );
+
+				}
+
+				data.data.morphAttributes[ key ] = array;
+
+			}
+
 			var groups = this.groups;
 
 			if ( groups.length > 0 ) {
@@ -22581,6 +22607,7 @@
 		} catch ( error ) {
 
 			console.error( 'THREE.WebGLRenderer: ' + error.message );
+			throw error;
 
 		}
 
@@ -22800,11 +22827,26 @@
 
 		this.setViewport = function ( x, y, width, height ) {
 
-			_viewport.set( x, y, width, height );
+			if ( x.isVector4 ) {
+
+				_viewport.set( x.x, x.y, x.z, x.w );
+
+			} else {
+
+				_viewport.set( x, y, width, height );
+
+			}
+
 			state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
 
 		};
 
+		this.getScissor = function ( target ) {
+
+			return target.copy( _scissor );
+
+		};
+
 		this.setScissor = function ( x, y, width, height ) {
 
 			_scissor.set( x, y, width, height );
@@ -22812,6 +22854,12 @@
 
 		};
 
+		this.getScissorTest = function () {
+
+			return _scissorTest;
+
+		};
+
 		this.setScissorTest = function ( boolean ) {
 
 			state.setScissorTest( _scissorTest = boolean );
@@ -37892,6 +37940,29 @@
 
 			}
 
+			var morphAttributes = json.data.morphAttributes;
+
+			for ( var key in morphAttributes ) {
+
+				var attributeArray = morphAttributes[ key ];
+
+				var array = [];
+
+				for ( var i = 0, il = attributeArray.length; i < il; i ++ ) {
+
+					var attribute = attributeArray[ i ];
+					var typedArray = new TYPED_ARRAYS[ attribute.type ]( attribute.array );
+
+					var bufferAttribute = new BufferAttribute( typedArray, attribute.itemSize, attribute.normalized );
+					if ( attribute.name !== undefined ) bufferAttribute.name = attribute.name;
+					array.push( bufferAttribute );
+
+				}
+
+				geometry.morphAttributes[ key ] = array;
+
+			}
+
 			var groups = json.data.groups || json.data.drawcalls || json.data.offsets;
 
 			if ( groups !== undefined ) {

Файловите разлики са ограничени, защото са твърде много
+ 88 - 328
build/three.min.js


+ 73 - 2
build/three.module.js

@@ -12156,7 +12156,7 @@ BufferGeometry.prototype = Object.assign( Object.create( EventDispatcher.prototy
 
 		}
 
-		data.data = { attributes: {} };
+		data.data = { attributes: {}, morphAttributes: {} };
 
 		var index = this.index;
 
@@ -12188,6 +12188,32 @@ BufferGeometry.prototype = Object.assign( Object.create( EventDispatcher.prototy
 
 		}
 
+		var morphAttributes = this.morphAttributes;
+
+		for ( var key in morphAttributes ) {
+
+			var attributeArray = this.morphAttributes[ key ];
+
+			var array = [];
+
+			for ( var i = 0, il = attributeArray.length; i < il; i ++ ) {
+
+				var attribute = attributeArray[ i ];
+
+				array.push( {
+					name: attribute.name,
+					itemSize: attribute.itemSize,
+					type: attribute.array.constructor.name,
+					array: Array.prototype.slice.call( attribute.array ),
+					normalized: attribute.normalized
+				} );
+
+			}
+
+			data.data.morphAttributes[ key ] = array;
+
+		}
+
 		var groups = this.groups;
 
 		if ( groups.length > 0 ) {
@@ -22575,6 +22601,7 @@ function WebGLRenderer( parameters ) {
 	} catch ( error ) {
 
 		console.error( 'THREE.WebGLRenderer: ' + error.message );
+		throw error;
 
 	}
 
@@ -22794,11 +22821,26 @@ function WebGLRenderer( parameters ) {
 
 	this.setViewport = function ( x, y, width, height ) {
 
-		_viewport.set( x, y, width, height );
+		if ( x.isVector4 ) {
+
+			_viewport.set( x.x, x.y, x.z, x.w );
+
+		} else {
+
+			_viewport.set( x, y, width, height );
+
+		}
+
 		state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
 
 	};
 
+	this.getScissor = function ( target ) {
+
+		return target.copy( _scissor );
+
+	};
+
 	this.setScissor = function ( x, y, width, height ) {
 
 		_scissor.set( x, y, width, height );
@@ -22806,6 +22848,12 @@ function WebGLRenderer( parameters ) {
 
 	};
 
+	this.getScissorTest = function () {
+
+		return _scissorTest;
+
+	};
+
 	this.setScissorTest = function ( boolean ) {
 
 		state.setScissorTest( _scissorTest = boolean );
@@ -37886,6 +37934,29 @@ Object.assign( BufferGeometryLoader.prototype, {
 
 		}
 
+		var morphAttributes = json.data.morphAttributes;
+
+		for ( var key in morphAttributes ) {
+
+			var attributeArray = morphAttributes[ key ];
+
+			var array = [];
+
+			for ( var i = 0, il = attributeArray.length; i < il; i ++ ) {
+
+				var attribute = attributeArray[ i ];
+				var typedArray = new TYPED_ARRAYS[ attribute.type ]( attribute.array );
+
+				var bufferAttribute = new BufferAttribute( typedArray, attribute.itemSize, attribute.normalized );
+				if ( attribute.name !== undefined ) bufferAttribute.name = attribute.name;
+				array.push( bufferAttribute );
+
+			}
+
+			geometry.morphAttributes[ key ] = array;
+
+		}
+
 		var groups = json.data.groups || json.data.drawcalls || json.data.offsets;
 
 		if ( groups !== undefined ) {

Някои файлове не бяха показани, защото твърде много файлове са промени