From 3b11e2cce3f34164f5dbc1aedcbbec8c83a75e67 Mon Sep 17 00:00:00 2001 From: Isaiah Odhner Date: Fri, 6 Nov 2015 10:27:04 -0500 Subject: [PATCH] Three.js Earth --- README.md | 2 +- earth-outlines.png | Bin 0 -> 284850 bytes icons/worldmap.png | Bin 0 -> 14253 bytes index.html | 5 +- lib/Detector.js | 40 +++ lib/TrackballControls.js | 537 +++++++++++++++++++++++++++++ ace.js => lib/ace.js | 0 lib/three.min.js | 706 +++++++++++++++++++++++++++++++++++++++ map.js | 418 +++++++++-------------- mos.js | 16 +- 10 files changed, 1443 insertions(+), 281 deletions(-) create mode 100644 earth-outlines.png create mode 100644 icons/worldmap.png create mode 100644 lib/Detector.js create mode 100644 lib/TrackballControls.js rename ace.js => lib/ace.js (100%) create mode 100644 lib/three.min.js diff --git a/README.md b/README.md index 5a74549..c27ab72 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,6 @@ MOS Hack servers with 1337 sk111z and the Monochrome Operating System, virus free since 1990. -#### +----------------------------------------------------------------------------- Moss is green and MOS is green. diff --git a/earth-outlines.png b/earth-outlines.png new file mode 100644 index 0000000000000000000000000000000000000000..fcc7f3a1de4f42ea2e45dafde0a3729d8457853d GIT binary patch literal 284850 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®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%0DbSw(gM0oa%xj=X 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 VUH{jggj=u>a9C4JnXdEA{{bS9IeY*B literal 0 HcmV?d00001 diff --git a/icons/worldmap.png b/icons/worldmap.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb2c51ea466aadbec0444ae564c009a4f386215 GIT binary patch literal 14253 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 P00000NkvXXu0mjfk+Y3U literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 668d754..f338a74 100644 --- a/index.html +++ b/index.html @@ -16,7 +16,10 @@ - + + + + diff --git a/lib/Detector.js b/lib/Detector.js new file mode 100644 index 0000000..315f8ed --- /dev/null +++ b/lib/Detector.js @@ -0,0 +1,40 @@ +/** + * @author alteredq / http://alteredqualia.com/ + * @author mr.doob / http://mrdoob.com/ + */ + +var Detector = { + + canvas: !! window.CanvasRenderingContext2D, + webgl: ( function () { try { var canvas = document.createElement( 'canvas' ); return !! window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ); } catch( e ) { return false; } } )(), + workers: !! window.Worker, + fileapi: window.File && window.FileReader && window.FileList && window.Blob, + + getWebGLErrorMessage: function () { + + var element = document.createElement( 'div' ); + element.className = 'webgl-error'; + + if ( !this.webgl ) { + + element.innerHTML = window.WebGLRenderingContext ? [ + 'Your graphics card does not seem to support WebGL.
', + 'Find out how to get it here.' + ].join( '\n' ) : [ + 'Your browser does not seem to support WebGL.
', + 'Find out how to get it here.' + ].join( '\n' ); + + } + + return element; + + }, + + addGetWebGLMessage: function (parent ) { + + parent.appendChild( Detector.getWebGLErrorMessage() ); + + } + +}; \ No newline at end of file diff --git a/lib/TrackballControls.js b/lib/TrackballControls.js new file mode 100644 index 0000000..103b4a5 --- /dev/null +++ b/lib/TrackballControls.js @@ -0,0 +1,537 @@ +/** + * @author Eberhard Graether / http://egraether.com/ + */ + +THREE.TrackballControls = function ( object, domElement ) { + + var _this = this; + var STATE = { NONE: -1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM: 4, TOUCH_PAN: 5 }; + + this.object = object; + this.domElement = ( domElement !== undefined ) ? domElement : document; + + // API + + this.enabled = true; + + this.screen = { width: 0, height: 0, offsetLeft: 0, offsetTop: 0 }; + this.radius = ( this.screen.width + this.screen.height ) / 4; + + this.rotateSpeed = 1.0; + this.zoomSpeed = 1.2; + this.panSpeed = 0.3; + + this.noRotate = false; + this.noZoom = false; + this.noPan = false; + + this.staticMoving = false; + this.dynamicDampingFactor = 0.2; + + this.minDistance = 0; + this.maxDistance = Infinity; + + this.keys = [ 65 /*A*/, 83 /*S*/, 68 /*D*/ ]; + + // internals + + this.target = new THREE.Vector3(); + + var lastPosition = new THREE.Vector3(); + + var _state = STATE.NONE, + _prevState = STATE.NONE, + + _eye = new THREE.Vector3(), + + _rotateStart = new THREE.Vector3(), + _rotateEnd = new THREE.Vector3(), + + _zoomStart = new THREE.Vector2(), + _zoomEnd = new THREE.Vector2(), + + _touchZoomDistanceStart = 0, + _touchZoomDistanceEnd = 0, + + _panStart = new THREE.Vector2(), + _panEnd = new THREE.Vector2(); + + // for reset + + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.up0 = this.object.up.clone(); + + // events + + var changeEvent = { type: 'change' }; + + + // methods + + this.handleResize = function () { + + this.screen.width = window.innerWidth; + this.screen.height = window.innerHeight; + + this.screen.offsetLeft = 0; + this.screen.offsetTop = 0; + + this.radius = ( this.screen.width + this.screen.height ) / 4; + + }; + + this.handleEvent = function ( event ) { + + if ( typeof this[ event.type ] == 'function' ) { + + this[ event.type ]( event ); + + } + + }; + + this.getMouseOnScreen = function ( clientX, clientY ) { + + return new THREE.Vector2( + ( clientX - _this.screen.offsetLeft ) / _this.radius * 0.5, + ( clientY - _this.screen.offsetTop ) / _this.radius * 0.5 + ); + + }; + + this.getMouseProjectionOnBall = function ( clientX, clientY ) { + + var mouseOnBall = new THREE.Vector3( + ( clientX - _this.screen.width * 0.5 - _this.screen.offsetLeft ) / _this.radius, + ( _this.screen.height * 0.5 + _this.screen.offsetTop - clientY ) / _this.radius, + 0.0 + ); + + var length = mouseOnBall.length(); + + if ( length > 1.0 ) { + + mouseOnBall.normalize(); + + } else { + + mouseOnBall.z = Math.sqrt( 1.0 - length * length ); + + } + + _eye.copy( _this.object.position ).sub( _this.target ); + + var projection = _this.object.up.clone().setLength( mouseOnBall.y ); + projection.add( _this.object.up.clone().cross( _eye ).setLength( mouseOnBall.x ) ); + projection.add( _eye.setLength( mouseOnBall.z ) ); + + return projection; + + }; + + this.rotateCamera = function () { + + var angle = Math.acos( _rotateStart.dot( _rotateEnd ) / _rotateStart.length() / _rotateEnd.length() ); + + if ( angle ) { + + var axis = ( new THREE.Vector3() ).crossVectors( _rotateStart, _rotateEnd ).normalize(); + quaternion = new THREE.Quaternion(); + + angle *= _this.rotateSpeed; + + quaternion.setFromAxisAngle( axis, -angle ); + + _eye.applyQuaternion( quaternion ); + _this.object.up.applyQuaternion( quaternion ); + + _rotateEnd.applyQuaternion( quaternion ); + + if ( _this.staticMoving ) { + + _rotateStart.copy( _rotateEnd ); + + } else { + + quaternion.setFromAxisAngle( axis, angle * ( _this.dynamicDampingFactor - 1.0 ) ); + _rotateStart.applyQuaternion( quaternion ); + + } + + } + + }; + + this.zoomCamera = function () { + + if ( _state === STATE.TOUCH_ZOOM ) { + + var factor = _touchZoomDistanceStart / _touchZoomDistanceEnd; + _touchZoomDistanceStart = _touchZoomDistanceEnd; + _eye.multiplyScalar( factor ); + + } else { + + var factor = 1.0 + ( _zoomEnd.y - _zoomStart.y ) * _this.zoomSpeed; + + if ( factor !== 1.0 && factor > 0.0 ) { + + _eye.multiplyScalar( factor ); + + if ( _this.staticMoving ) { + + _zoomStart.copy( _zoomEnd ); + + } else { + + _zoomStart.y += ( _zoomEnd.y - _zoomStart.y ) * this.dynamicDampingFactor; + + } + + } + + } + + }; + + this.panCamera = function () { + + var mouseChange = _panEnd.clone().sub( _panStart ); + + if ( mouseChange.lengthSq() ) { + + mouseChange.multiplyScalar( _eye.length() * _this.panSpeed ); + + var pan = _eye.clone().cross( _this.object.up ).setLength( mouseChange.x ); + pan.add( _this.object.up.clone().setLength( mouseChange.y ) ); + + _this.object.position.add( pan ); + _this.target.add( pan ); + + if ( _this.staticMoving ) { + + _panStart = _panEnd; + + } else { + + _panStart.add( mouseChange.subVectors( _panEnd, _panStart ).multiplyScalar( _this.dynamicDampingFactor ) ); + + } + + } + + }; + + this.checkDistances = function () { + + if ( !_this.noZoom || !_this.noPan ) { + + if ( _this.object.position.lengthSq() > _this.maxDistance * _this.maxDistance ) { + + _this.object.position.setLength( _this.maxDistance ); + + } + + if ( _eye.lengthSq() < _this.minDistance * _this.minDistance ) { + + _this.object.position.addVectors( _this.target, _eye.setLength( _this.minDistance ) ); + + } + + } + + }; + + this.update = function () { + + _eye.subVectors( _this.object.position, _this.target ); + + if ( !_this.noRotate ) { + + _this.rotateCamera(); + + } + + if ( !_this.noZoom ) { + + _this.zoomCamera(); + + } + + if ( !_this.noPan ) { + + _this.panCamera(); + + } + + _this.object.position.addVectors( _this.target, _eye ); + + _this.checkDistances(); + + _this.object.lookAt( _this.target ); + + if ( lastPosition.distanceToSquared( _this.object.position ) > 0 ) { + + _this.dispatchEvent( changeEvent ); + + lastPosition.copy( _this.object.position ); + + } + + }; + + this.reset = function () { + + _state = STATE.NONE; + _prevState = STATE.NONE; + + _this.target.copy( _this.target0 ); + _this.object.position.copy( _this.position0 ); + _this.object.up.copy( _this.up0 ); + + _eye.subVectors( _this.object.position, _this.target ); + + _this.object.lookAt( _this.target ); + + _this.dispatchEvent( changeEvent ); + + lastPosition.copy( _this.object.position ); + + }; + + // listeners + + function keydown( event ) { + + if ( _this.enabled === false ) return; + + window.removeEventListener( 'keydown', keydown ); + + _prevState = _state; + + if ( _state !== STATE.NONE ) { + + return; + + } else if ( event.keyCode === _this.keys[ STATE.ROTATE ] && !_this.noRotate ) { + + _state = STATE.ROTATE; + + } else if ( event.keyCode === _this.keys[ STATE.ZOOM ] && !_this.noZoom ) { + + _state = STATE.ZOOM; + + } else if ( event.keyCode === _this.keys[ STATE.PAN ] && !_this.noPan ) { + + _state = STATE.PAN; + + } + + } + + function keyup( event ) { + + if ( _this.enabled === false ) return; + + _state = _prevState; + + window.addEventListener( 'keydown', keydown, false ); + + } + + function mousedown( event ) { + + if ( _this.enabled === false ) return; + + event.preventDefault(); + event.stopPropagation(); + + if ( _state === STATE.NONE ) { + + _state = event.button; + + } + + if ( _state === STATE.ROTATE && !_this.noRotate ) { + + _rotateStart = _rotateEnd = _this.getMouseProjectionOnBall( event.clientX, event.clientY ); + + } else if ( _state === STATE.ZOOM && !_this.noZoom ) { + + _zoomStart = _zoomEnd = _this.getMouseOnScreen( event.clientX, event.clientY ); + + } else if ( _state === STATE.PAN && !_this.noPan ) { + + _panStart = _panEnd = _this.getMouseOnScreen( event.clientX, event.clientY ); + + } + + document.addEventListener( 'mousemove', mousemove, false ); + document.addEventListener( 'mouseup', mouseup, false ); + + } + + function mousemove( event ) { + + if ( _this.enabled === false ) return; + + event.preventDefault(); + event.stopPropagation(); + + if ( _state === STATE.ROTATE && !_this.noRotate ) { + + _rotateEnd = _this.getMouseProjectionOnBall( event.clientX, event.clientY ); + + } else if ( _state === STATE.ZOOM && !_this.noZoom ) { + + _zoomEnd = _this.getMouseOnScreen( event.clientX, event.clientY ); + + } else if ( _state === STATE.PAN && !_this.noPan ) { + + _panEnd = _this.getMouseOnScreen( event.clientX, event.clientY ); + + } + + } + + function mouseup( event ) { + + if ( _this.enabled === false ) return; + + event.preventDefault(); + event.stopPropagation(); + + _state = STATE.NONE; + + document.removeEventListener( 'mousemove', mousemove ); + document.removeEventListener( 'mouseup', mouseup ); + + } + + function mousewheel( event ) { + + if ( _this.enabled === false ) return; + + event.preventDefault(); + event.stopPropagation(); + + var delta = 0; + + if ( event.wheelDelta ) { // WebKit / Opera / Explorer 9 + + delta = event.wheelDelta / 40; + + } else if ( event.detail ) { // Firefox + + delta = - event.detail / 3; + + } + + _zoomStart.y += delta * 0.01; + + } + + function touchstart( event ) { + + if ( _this.enabled === false ) return; + + switch ( event.touches.length ) { + + case 1: + _state = STATE.TOUCH_ROTATE; + _rotateStart = _rotateEnd = _this.getMouseProjectionOnBall( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + break; + + case 2: + _state = STATE.TOUCH_ZOOM; + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + _touchZoomDistanceEnd = _touchZoomDistanceStart = Math.sqrt( dx * dx + dy * dy ); + break; + + case 3: + _state = STATE.TOUCH_PAN; + _panStart = _panEnd = _this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + break; + + default: + _state = STATE.NONE; + + } + + } + + function touchmove( event ) { + + if ( _this.enabled === false ) return; + + event.preventDefault(); + event.stopPropagation(); + + switch ( event.touches.length ) { + + case 1: + _rotateEnd = _this.getMouseProjectionOnBall( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + break; + + case 2: + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + _touchZoomDistanceEnd = Math.sqrt( dx * dx + dy * dy ) + break; + + case 3: + _panEnd = _this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + break; + + default: + _state = STATE.NONE; + + } + + } + + function touchend( event ) { + + if ( _this.enabled === false ) return; + + switch ( event.touches.length ) { + + case 1: + _rotateStart = _rotateEnd = _this.getMouseProjectionOnBall( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + break; + + case 2: + _touchZoomDistanceStart = _touchZoomDistanceEnd = 0; + break; + + case 3: + _panStart = _panEnd = _this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + break; + + } + + _state = STATE.NONE; + + } + + this.domElement.addEventListener( 'contextmenu', function ( event ) { event.preventDefault(); }, false ); + + this.domElement.addEventListener( 'mousedown', mousedown, false ); + + this.domElement.addEventListener( 'mousewheel', mousewheel, false ); + this.domElement.addEventListener( 'DOMMouseScroll', mousewheel, false ); // firefox + + this.domElement.addEventListener( 'touchstart', touchstart, false ); + this.domElement.addEventListener( 'touchend', touchend, false ); + this.domElement.addEventListener( 'touchmove', touchmove, false ); + + window.addEventListener( 'keydown', keydown, false ); + window.addEventListener( 'keyup', keyup, false ); + + this.handleResize(); + +}; + +THREE.TrackballControls.prototype = Object.create( THREE.EventDispatcher.prototype ); \ No newline at end of file diff --git a/ace.js b/lib/ace.js similarity index 100% rename from ace.js rename to lib/ace.js diff --git a/lib/three.min.js b/lib/three.min.js new file mode 100644 index 0000000..aa47e1f --- /dev/null +++ b/lib/three.min.js @@ -0,0 +1,706 @@ +// three.js - http://github.com/mrdoob/three.js +'use strict';var THREE=THREE||{REVISION:"61"};self.console=self.console||{info:function(){},log:function(){},debug:function(){},warn:function(){},error:function(){}};String.prototype.trim=String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")};THREE.extend=function(a,b){if(Object.keys)for(var c=Object.keys(b),d=0,e=c.length;d>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSL:function(a,b,c){if(0===b)this.r=this.g=this.b=c;else{var d=function(a,b,c){0>c&&(c+=1);1c?b:c<2/3?a+6*(b-a)*(2/3-c):a},b=0.5>=c?c*(1+b):c+b-c*b,c=2*c-b;this.r=d(c,b,a+1/3);this.g=d(c,b,a);this.b=d(c,b,a-1/3)}return this},setStyle:function(a){if(/^rgb\((\d+), ?(\d+), ?(\d+)\)$/i.test(a))return a=/^rgb\((\d+), ?(\d+), ?(\d+)\)$/i.exec(a),this.r=Math.min(255,parseInt(a[1],10))/255,this.g=Math.min(255,parseInt(a[2],10))/255,this.b=Math.min(255,parseInt(a[3],10))/255,this;if(/^rgb\((\d+)\%, ?(\d+)\%, ?(\d+)\%\)$/i.test(a))return a=/^rgb\((\d+)\%, ?(\d+)\%, ?(\d+)\%\)$/i.exec(a),this.r= +Math.min(100,parseInt(a[1],10))/100,this.g=Math.min(100,parseInt(a[2],10))/100,this.b=Math.min(100,parseInt(a[3],10))/100,this;if(/^\#([0-9a-f]{6})$/i.test(a))return a=/^\#([0-9a-f]{6})$/i.exec(a),this.setHex(parseInt(a[1],16)),this;if(/^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.test(a))return a=/^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(a),this.setHex(parseInt(a[1]+a[1]+a[2]+a[2]+a[3]+a[3],16)),this;if(/^(\w+)$/i.test(a))return this.setHex(THREE.ColorKeywords[a]),this},copy:function(a){this.r=a.r;this.g= +a.g;this.b=a.b;return this},copyGammaToLinear:function(a){this.r=a.r*a.r;this.g=a.g*a.g;this.b=a.b*a.b;return this},copyLinearToGamma:function(a){this.r=Math.sqrt(a.r);this.g=Math.sqrt(a.g);this.b=Math.sqrt(a.b);return this},convertGammaToLinear:function(){var a=this.r,b=this.g,c=this.b;this.r=a*a;this.g=b*b;this.b=c*c;return this},convertLinearToGamma:function(){this.r=Math.sqrt(this.r);this.g=Math.sqrt(this.g);this.b=Math.sqrt(this.b);return this},getHex:function(){return 255*this.r<<16^255*this.g<< +8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(){var a={h:0,s:0,l:0};return function(){var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),h,g=(f+e)/2;if(f===e)f=h=0;else{var i=e-f,f=0.5>=g?i/(e+f):i/(2-e-f);switch(e){case b:h=(c-d)/i+(cf&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(i-h)/c,this._x=0.25*c, +this._y=(a+e)/c,this._z=(d+g)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-g)/c,this._x=(a+e)/c,this._y=0.25*c,this._z=(h+i)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+g)/c,this._y=(h+i)/c,this._z=0.25*c);this._updateEuler();return this},inverse:function(){this.conjugate().normalize();return this},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this._updateEuler();return this},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x* +this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);return this},multiply:function(a,b){return void 0!==b?(console.warn("DEPRECATED: Quaternion's .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z,f= +a._w,h=b._x,g=b._y,i=b._z,k=b._w;this._x=c*k+f*h+d*i-e*g;this._y=d*k+f*g+e*h-c*i;this._z=e*k+f*i+c*g-d*h;this._w=f*k-c*h-d*g-e*i;this._updateEuler();return this},multiplyVector3:function(a){console.warn("DEPRECATED: Quaternion's .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.");return a.applyQuaternion(this)},slerp:function(a,b){var c=this._x,d=this._y,e=this._z,f=this._w,h=f*a._w+c*a._x+d*a._y+e*a._z;0>h?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z= +-a._z,h=-h):this.copy(a);if(1<=h)return this._w=f,this._x=c,this._y=d,this._z=e,this;var g=Math.acos(h),i=Math.sqrt(1-h*h);if(0.0010>Math.abs(i))return this._w=0.5*(f+this._w),this._x=0.5*(c+this._x),this._y=0.5*(d+this._y),this._z=0.5*(e+this._z),this;h=Math.sin((1-b)*g)/i;g=Math.sin(b*g)/i;this._w=f*h+this._w*g;this._x=c*h+this._x*g;this._y=d*h+this._y*g;this._z=e*h+this._z*g;this._updateEuler();return this},equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._w===this._w}, +fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];this._w=a[3];this._updateEuler();return this},toArray:function(){return[this._x,this._y,this._z,this._w]},clone:function(){return new THREE.Quaternion(this._x,this._y,this._z,this._w)}};THREE.Quaternion.slerp=function(a,b,c,d){return c.copy(a).slerp(b,d)};THREE.Vector2=function(a,b){this.x=a||0;this.y=b||0}; +THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(a,b){this.x=a;this.y=b;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a, +b){if(void 0!==b)return console.warn("DEPRECATED: Vector2's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector2's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-= +a.y;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},divideScalar:function(a){0!==a?(a=1/a,this.x*=a,this.y*=a):this.y=this.x=0;return this},min:function(a){this.x>a.x&&(this.x=a.x);this.y>a.y&&(this.y=a.y);return this},max:function(a){this.xb.x&&(this.x=b.x);this.yb.y&&(this.y=b.y); +return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,a=this.y-a.y;return b*b+a*a},setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/ +b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;return this},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a){this.x=a[0];this.y=a[1];return this},toArray:function(){return[this.x,this.y]},clone:function(){return new THREE.Vector2(this.x,this.y)}};THREE.Vector3=function(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}; +THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+ +a);}},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."), +this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},multiplyVectors:function(a,b){this.x=a.x* +b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z,a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12];this.y=a[1]*b+a[5]*c+a[9]*d+a[13];this.z=a[2]*b+a[6]*c+a[10]*d+a[14];return this},applyProjection:function(a){var b=this.x,c=this.y,d=this.z,a=a.elements,e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]); +this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x,c=this.y,d=this.z,e=a.x,f=a.y,h=a.z,a=a.w,g=a*b+f*d-h*c,i=a*c+h*b-e*d,k=a*d+e*c-f*b,b=-e*b-f*c-h*d;this.x=g*a+b*-e+i*-h-k*-f;this.y=i*a+b*-f+k*-e-g*-h;this.z=k*a+b*-h+g*-f-i*-e;return this},transformDirection:function(a){var b=this.x,c=this.y,d=this.z,a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d;this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]* +b+a[6]*c+a[10]*d;this.normalize();return this},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this},divideScalar:function(a){0!==a?(a=1/a,this.x*=a,this.y*=a,this.z*=a):this.z=this.y=this.x=0;return this},min:function(a){this.x>a.x&&(this.x=a.x);this.y>a.y&&(this.y=a.y);this.z>a.z&&(this.z=a.z);return this},max:function(a){this.xb.x&&(this.x=b.x);this.y< +a.y?this.y=a.y:this.y>b.y&&(this.y=b.y);this.zb.z&&(this.z=b.z);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())}, +setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},cross:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(a,b);var c=this.x,d=this.y,e=this.z;this.x=d*a.z-e*a.y;this.y=e*a.x-c*a.z;this.z=c*a.y-d*a.x;return this},crossVectors:function(a,b){var c= +a.x,d=a.y,e=a.z,f=b.x,h=b.y,g=b.z;this.x=d*g-e*h;this.y=e*f-c*g;this.z=c*h-d*f;return this},angleTo:function(a){a=this.dot(a)/(this.length()*a.length());return Math.acos(THREE.Math.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y,a=this.z-a.z;return b*b+c*c+a*a},setEulerFromRotationMatrix:function(){console.error("REMOVED: Vector3's setEulerFromRotationMatrix has been removed in favor of Euler.setFromRotationMatrix(), please update your code.")}, +setEulerFromQuaternion:function(){console.error("REMOVED: Vector3's setEulerFromQuaternion: has been removed in favor of Euler.setFromQuaternion(), please update your code.")},getPositionFromMatrix:function(a){this.x=a.elements[12];this.y=a.elements[13];this.z=a.elements[14];return this},getScaleFromMatrix:function(a){var b=this.set(a.elements[0],a.elements[1],a.elements[2]).length(),c=this.set(a.elements[4],a.elements[5],a.elements[6]).length(),a=this.set(a.elements[8],a.elements[9],a.elements[10]).length(); +this.x=b;this.y=c;this.z=a;return this},getColumnFromMatrix:function(a,b){var c=4*a,d=b.elements;this.x=d[c];this.y=d[c+1];this.z=d[c+2];return this},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a){this.x=a[0];this.y=a[1];this.z=a[2];return this},toArray:function(){return[this.x,this.y,this.z]},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)}}; +THREE.extend(THREE.Vector3.prototype,{applyEuler:function(){var a=new THREE.Quaternion;return function(b){!1===b instanceof THREE.Euler&&console.error("ERROR: Vector3's .applyEuler() now expects a Euler rotation rather than a Vector3 and order. Please update your code.");this.applyQuaternion(a.setFromEuler(b));return this}}(),applyAxisAngle:function(){var a=new THREE.Quaternion;return function(b,c){this.applyQuaternion(a.setFromAxisAngle(b,c));return this}}(),projectOnVector:function(){var a=new THREE.Vector3; +return function(b){a.copy(b).normalize();b=this.dot(a);return this.copy(a).multiplyScalar(b)}}(),projectOnPlane:function(){var a=new THREE.Vector3;return function(b){a.copy(this).projectOnVector(b);return this.sub(a)}}(),reflect:function(){var a=new THREE.Vector3;return function(b){a.copy(this).projectOnVector(b).multiplyScalar(2);return this.subVectors(a,this)}}()});THREE.Vector4=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}; +THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x; +case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector4's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this}, +addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector4's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this}, +applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w,a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){0!==a?(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a):(this.z=this.y=this.x=0,this.w=1);return this},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b, +this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){var b,c,d,a=a.elements,e=a[0];d=a[4];var f=a[8],h=a[1],g=a[5],i=a[9];c=a[2];b=a[6];var k=a[10];if(0.01>Math.abs(d-h)&&0.01>Math.abs(f-c)&&0.01>Math.abs(i-b)){if(0.1>Math.abs(d+h)&&0.1>Math.abs(f+c)&&0.1>Math.abs(i+b)&&0.1>Math.abs(e+g+k-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;g=(g+1)/2;k=(k+1)/2;d=(d+h)/4;f=(f+c)/4;i=(i+b)/4;e>g&&e>k?0.01>e?(b=0,d=c=0.707106781):(b=Math.sqrt(e),c=d/b,d=f/b):g>k?0.01>g? +(b=0.707106781,c=0,d=0.707106781):(c=Math.sqrt(g),b=d/c,d=i/c):0.01>k?(c=b=0.707106781,d=0):(d=Math.sqrt(k),b=f/d,c=i/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-i)*(b-i)+(f-c)*(f-c)+(h-d)*(h-d));0.0010>Math.abs(a)&&(a=1);this.x=(b-i)/a;this.y=(f-c)/a;this.z=(h-d)/a;this.w=Math.acos((e+g+k-1)/2);return this},min:function(a){this.x>a.x&&(this.x=a.x);this.y>a.y&&(this.y=a.y);this.z>a.z&&(this.z=a.z);this.w>a.w&&(this.w=a.w);return this},max:function(a){this.xb.x&&(this.x=b.x);this.yb.y&&(this.y=b.y);this.zb.z&&(this.z=b.z);this.wb.w&&(this.w=b.w);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x* +this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&& +a.w===this.w},fromArray:function(a){this.x=a[0];this.y=a[1];this.z=a[2];this.w=a[3];return this},toArray:function(){return[this.x,this.y,this.z,this.w]},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)}};THREE.Euler=function(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||THREE.Euler.DefaultOrder};THREE.Euler.RotationOrders="XYZ YZX ZXY XZY YXZ ZYX".split(" ");THREE.Euler.DefaultOrder="XYZ"; +THREE.Euler.prototype={constructor:THREE.Euler,_x:0,_y:0,_z:0,_order:THREE.Euler.DefaultOrder,_quaternion:void 0,_updateQuaternion:function(){void 0!==this._quaternion&&this._quaternion.setFromEuler(this,!1)},get x(){return this._x},set x(a){this._x=a;this._updateQuaternion()},get y(){return this._y},set y(a){this._y=a;this._updateQuaternion()},get z(){return this._z},set z(a){this._z=a;this._updateQuaternion()},get order(){return this._order},set order(a){this._order=a;this._updateQuaternion()}, +set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._order=d||this._order;this._updateQuaternion();return this},copy:function(a){this._x=a._x;this._y=a._y;this._z=a._z;this._order=a._order;this._updateQuaternion();return this},setFromRotationMatrix:function(a,b){function c(a){return Math.min(Math.max(a,-1),1)}var d=a.elements,e=d[0],f=d[4],h=d[8],g=d[1],i=d[5],k=d[9],m=d[2],l=d[6],d=d[10],b=b||this._order;"XYZ"===b?(this._y=Math.asin(c(h)),0.99999>Math.abs(h)?(this._x=Math.atan2(-k,d),this._z= +Math.atan2(-f,e)):(this._x=Math.atan2(l,i),this._z=0)):"YXZ"===b?(this._x=Math.asin(-c(k)),0.99999>Math.abs(k)?(this._y=Math.atan2(h,d),this._z=Math.atan2(g,i)):(this._y=Math.atan2(-m,e),this._z=0)):"ZXY"===b?(this._x=Math.asin(c(l)),0.99999>Math.abs(l)?(this._y=Math.atan2(-m,d),this._z=Math.atan2(-f,i)):(this._y=0,this._z=Math.atan2(g,e))):"ZYX"===b?(this._y=Math.asin(-c(m)),0.99999>Math.abs(m)?(this._x=Math.atan2(l,d),this._z=Math.atan2(g,e)):(this._x=0,this._z=Math.atan2(-f,i))):"YZX"===b?(this._z= +Math.asin(c(g)),0.99999>Math.abs(g)?(this._x=Math.atan2(-k,i),this._y=Math.atan2(-m,e)):(this._x=0,this._y=Math.atan2(h,d))):"XZY"===b?(this._z=Math.asin(-c(f)),0.99999>Math.abs(f)?(this._x=Math.atan2(l,i),this._y=Math.atan2(h,e)):(this._x=Math.atan2(-k,d),this._y=0)):console.warn("WARNING: Euler.setFromRotationMatrix() given unsupported order: "+b);this._order=b;this._updateQuaternion();return this},setFromQuaternion:function(a,b,c){function d(a){return Math.min(Math.max(a,-1),1)}var e=a.x*a.x,f= +a.y*a.y,h=a.z*a.z,g=a.w*a.w,b=b||this._order;"XYZ"===b?(this._x=Math.atan2(2*(a.x*a.w-a.y*a.z),g-e-f+h),this._y=Math.asin(d(2*(a.x*a.z+a.y*a.w))),this._z=Math.atan2(2*(a.z*a.w-a.x*a.y),g+e-f-h)):"YXZ"===b?(this._x=Math.asin(d(2*(a.x*a.w-a.y*a.z))),this._y=Math.atan2(2*(a.x*a.z+a.y*a.w),g-e-f+h),this._z=Math.atan2(2*(a.x*a.y+a.z*a.w),g-e+f-h)):"ZXY"===b?(this._x=Math.asin(d(2*(a.x*a.w+a.y*a.z))),this._y=Math.atan2(2*(a.y*a.w-a.z*a.x),g-e-f+h),this._z=Math.atan2(2*(a.z*a.w-a.x*a.y),g-e+f-h)):"ZYX"=== +b?(this._x=Math.atan2(2*(a.x*a.w+a.z*a.y),g-e-f+h),this._y=Math.asin(d(2*(a.y*a.w-a.x*a.z))),this._z=Math.atan2(2*(a.x*a.y+a.z*a.w),g+e-f-h)):"YZX"===b?(this._x=Math.atan2(2*(a.x*a.w-a.z*a.y),g-e+f-h),this._y=Math.atan2(2*(a.y*a.w-a.x*a.z),g+e-f-h),this._z=Math.asin(d(2*(a.x*a.y+a.z*a.w)))):"XZY"===b?(this._x=Math.atan2(2*(a.x*a.w+a.y*a.z),g-e+f-h),this._y=Math.atan2(2*(a.x*a.z+a.y*a.w),g+e-f-h),this._z=Math.asin(d(2*(a.z*a.w-a.x*a.y)))):console.warn("WARNING: Euler.setFromQuaternion() given unsupported order: "+ +b);this._order=b;!1!==c&&this._updateQuaternion();return this},reorder:function(){var a=new THREE.Quaternion;return function(b){a.setFromEuler(this);this.setFromQuaternion(a,b)}}(),fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this._updateQuaternion();return this},toArray:function(){return[this._x,this._y,this._z,this._order]},equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},clone:function(){return new THREE.Euler(this._x, +this._y,this._z,this._order)}};THREE.Line3=function(a,b){this.start=void 0!==a?a:new THREE.Vector3;this.end=void 0!==b?b:new THREE.Vector3}; +THREE.Line3.prototype={constructor:THREE.Line3,set:function(a,b){this.start.copy(a);this.end.copy(b);return this},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},center:function(a){return(a||new THREE.Vector3).addVectors(this.start,this.end).multiplyScalar(0.5)},delta:function(a){return(a||new THREE.Vector3).subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(a, +b){var c=b||new THREE.Vector3;return this.delta(c).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(c,d){a.subVectors(c,this.start);b.subVectors(this.end,this.start);var e=b.dot(b),e=b.dot(a)/e;d&&(e=THREE.Math.clamp(e,0,1));return e}}(),closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);c=c||new THREE.Vector3;return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a); +this.end.applyMatrix4(a);return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)},clone:function(){return(new THREE.Line3).copy(this)}};THREE.Box2=function(a,b){this.min=void 0!==a?a:new THREE.Vector2(Infinity,Infinity);this.max=void 0!==b?b:new THREE.Vector2(-Infinity,-Infinity)}; +THREE.Box2.prototype={constructor:THREE.Box2,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromPoints:function(a){if(0this.max.x&&(this.max.x=b.x),b.ythis.max.y&&(this.max.y=b.y)}else this.makeEmpty();return this},setFromCenterAndSize:function(){var a=new THREE.Vector2;return function(b,c){var d=a.copy(c).multiplyScalar(0.5); +this.min.copy(b).sub(d);this.max.copy(b).add(d);return this}}(),copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this},empty:function(){return this.max.xthis.max.x||a.ythis.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y?!0:!1},getParameter:function(a){return new THREE.Vector2((a.x-this.min.x)/(this.max.x-this.min.x), +(a.y-this.min.y)/(this.max.y-this.min.y))},isIntersectionBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y?!1:!0},clampPoint:function(a,b){return(b||new THREE.Vector2).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new THREE.Vector2;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max); +return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)},clone:function(){return(new THREE.Box2).copy(this)}};THREE.Box3=function(a,b){this.min=void 0!==a?a:new THREE.Vector3(Infinity,Infinity,Infinity);this.max=void 0!==b?b:new THREE.Vector3(-Infinity,-Infinity,-Infinity)}; +THREE.Box3.prototype={constructor:THREE.Box3,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},addPoint:function(a){a.xthis.max.x&&(this.max.x=a.x);a.ythis.max.y&&(this.max.y=a.y);a.zthis.max.z&&(this.max.z=a.z)},setFromPoints:function(a){if(0this.max.x||a.ythis.max.y||a.zthis.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&a.max.z<=this.max.z?!0:!1},getParameter:function(a){return new THREE.Vector3((a.x-this.min.x)/(this.max.x-this.min.x), +(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))},isIntersectionBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y||a.max.zthis.max.z?!1:!0},clampPoint:function(a,b){return(b||new THREE.Vector3).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new THREE.Vector3;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a= +new THREE.Vector3;return function(b){b=b||new THREE.Sphere;b.center=this.center();b.radius=0.5*this.size(a).length();return b}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];return function(b){a[0].set(this.min.x,this.min.y, +this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b);a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(b);a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.makeEmpty();this.setFromPoints(a);return this}}(),translate:function(a){this.min.add(a); +this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)},clone:function(){return(new THREE.Box3).copy(this)}};THREE.Matrix3=function(a,b,c,d,e,f,h,g,i){this.elements=new Float32Array(9);this.set(void 0!==a?a:1,b||0,c||0,d||0,void 0!==e?e:1,f||0,h||0,g||0,void 0!==i?i:1)}; +THREE.Matrix3.prototype={constructor:THREE.Matrix3,set:function(a,b,c,d,e,f,h,g,i){var k=this.elements;k[0]=a;k[3]=b;k[6]=c;k[1]=d;k[4]=e;k[7]=f;k[2]=h;k[5]=g;k[8]=i;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},copy:function(a){a=a.elements;this.set(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8]);return this},multiplyVector3:function(a){console.warn("DEPRECATED: Matrix3's .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");return a.applyMatrix3(this)}, +multiplyVector3Array:function(){var a=new THREE.Vector3;return function(b){for(var c=0,d=b.length;cd?c.copy(this.origin):c.copy(this.direction).multiplyScalar(d).add(this.origin)},distanceToPoint:function(){var a=new THREE.Vector3;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceTo(b);a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceTo(b)}}(),distanceSqToSegment:function(a,b,c,d){var e=a.clone().add(b).multiplyScalar(0.5),f=b.clone().sub(a).normalize(),h=0.5*a.distanceTo(b), +g=this.origin.clone().sub(e),a=-this.direction.dot(f),b=g.dot(this.direction),i=-g.dot(f),k=g.lengthSq(),m=Math.abs(1-a*a),l,p;0<=m?(g=a*i-b,l=a*b-i,p=h*m,0<=g?l>=-p?l<=p?(h=1/m,g*=h,l*=h,a=g*(g+a*l+2*b)+l*(a*g+l+2*i)+k):(l=h,g=Math.max(0,-(a*l+b)),a=-g*g+l*(l+2*i)+k):(l=-h,g=Math.max(0,-(a*l+b)),a=-g*g+l*(l+2*i)+k):l<=-p?(g=Math.max(0,-(-a*h+b)),l=0a.normal.dot(this.direction)*b?!0:!1},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0==b)return 0==a.distanceToPoint(this.origin)? +0:null;a=-(this.origin.dot(a.normal)+a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,b){var c=this.distanceToPlane(a);return null===c?null:this.at(c,b)},isIntersectionBox:function(){var a=new THREE.Vector3;return function(b){return null!==this.intersectBox(b,a)}}(),intersectBox:function(a,b){var c,d,e,f,h;d=1/this.direction.x;f=1/this.direction.y;h=1/this.direction.z;var g=this.origin;0<=d?(c=(a.min.x-g.x)*d,d*=a.max.x-g.x):(c=(a.max.x-g.x)*d,d*=a.min.x-g.x);0<=f?(e=(a.min.y-g.y)*f,f*= +a.max.y-g.y):(e=(a.max.y-g.y)*f,f*=a.min.y-g.y);if(c>f||e>d)return null;if(e>c||c!==c)c=e;if(fh||e>d)return null;if(e>c||c!==c)c=e;if(hd?null:this.at(0<=c?c:d,b)},intersectTriangle:function(){var a=new THREE.Vector3,b=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Vector3;return function(e,f,h,g,i){b.subVectors(f,e);c.subVectors(h,e);d.crossVectors(b,c);f=this.direction.dot(d);if(0< +f){if(g)return null;g=1}else if(0>f)g=-1,f=-f;else return null;a.subVectors(this.origin,e);e=g*this.direction.dot(c.crossVectors(a,c));if(0>e)return null;h=g*this.direction.dot(b.cross(a));if(0>h||e+h>f)return null;e=-g*a.dot(d);return 0>e?null:this.at(e/f,i)}}(),applyMatrix4:function(a){this.direction.add(this.origin).applyMatrix4(a);this.origin.applyMatrix4(a);this.direction.sub(this.origin);this.direction.normalize();return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}, +clone:function(){return(new THREE.Ray).copy(this)}};THREE.Sphere=function(a,b){this.center=void 0!==a?a:new THREE.Vector3;this.radius=void 0!==b?b:0}; +THREE.Sphere.prototype={constructor:THREE.Sphere,set:function(a,b){this.center.copy(a);this.radius=b;return this},setFromPoints:function(){var a=new THREE.Box3;return function(b,c){var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).center(d);for(var e=0,f=0,h=b.length;f=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<= +this.radius*this.radius},distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},clampPoint:function(a,b){var c=this.center.distanceToSquared(a),d=b||new THREE.Vector3;d.copy(a);c>this.radius*this.radius&&(d.sub(this.center).normalize(),d.multiplyScalar(this.radius).add(this.center));return d},getBoundingBox:function(a){a=a||new THREE.Box3;a.set(this.center,this.center);a.expandByScalar(this.radius); +return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius},clone:function(){return(new THREE.Sphere).copy(this)}};THREE.Frustum=function(a,b,c,d,e,f){this.planes=[void 0!==a?a:new THREE.Plane,void 0!==b?b:new THREE.Plane,void 0!==c?c:new THREE.Plane,void 0!==d?d:new THREE.Plane,void 0!==e?e:new THREE.Plane,void 0!==f?f:new THREE.Plane]}; +THREE.Frustum.prototype={constructor:THREE.Frustum,set:function(a,b,c,d,e,f){var h=this.planes;h[0].copy(a);h[1].copy(b);h[2].copy(c);h[3].copy(d);h[4].copy(e);h[5].copy(f);return this},copy:function(a){for(var b=this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements,a=c[0],d=c[1],e=c[2],f=c[3],h=c[4],g=c[5],i=c[6],k=c[7],m=c[8],l=c[9],p=c[10],r=c[11],t=c[12],n=c[13],s=c[14],c=c[15];b[0].setComponents(f-a,k-h,r-m,c-t).normalize();b[1].setComponents(f+ +a,k+h,r+m,c+t).normalize();b[2].setComponents(f+d,k+g,r+l,c+n).normalize();b[3].setComponents(f-d,k-g,r-l,c-n).normalize();b[4].setComponents(f-e,k-i,r-p,c-s).normalize();b[5].setComponents(f+e,k+i,r+p,c+s).normalize();return this},intersectsObject:function(){var a=new THREE.Sphere;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere);a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSphere:function(a){for(var b=this.planes, +c=a.center,a=-a.radius,d=0;6>d;d++)if(b[d].distanceToPoint(c)e;e++){var f=d[e];a.x=0h&&0>f)return!1}return!0}}(),containsPoint:function(a){for(var b= +this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0},clone:function(){return(new THREE.Frustum).copy(this)}};THREE.Plane=function(a,b){this.normal=void 0!==a?a:new THREE.Vector3(1,0,0);this.constant=void 0!==b?b:0}; +THREE.Plane.prototype={constructor:THREE.Plane,set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d, +c);return this}}(),copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){return this.orthoPoint(a,b).sub(a).negate()},orthoPoint:function(a, +b){var c=this.distanceToPoint(a);return(b||new THREE.Vector3).copy(this.normal).multiplyScalar(c)},isIntersectionLine:function(a){var b=this.distanceToPoint(a.start),a=this.distanceToPoint(a.end);return 0>b&&0a&&0f||1e;e++)8==e||13==e||18==e||23==e?b[e]="-":14==e?b[e]="4":(2>=c&&(c=33554432+16777216*Math.random()|0),d=c&15,c>>=4,b[e]=a[19==e?d&3|8:d]);return b.join("")}}(),clamp:function(a,b,c){return ac?c:a},clampBottom:function(a,b){return a=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},random16:function(){return(65280*Math.random()+255*Math.random())/65535},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(0.5-Math.random())},sign:function(a){return 0>a?-1:0this.points.length-2?this.points.length-1:f+1;c[3]=f>this.points.length-3?this.points.length-1: +f+2;k=this.points[c[0]];m=this.points[c[1]];l=this.points[c[2]];p=this.points[c[3]];g=h*h;i=h*g;d.x=b(k.x,m.x,l.x,p.x,h,g,i);d.y=b(k.y,m.y,l.y,p.y,h,g,i);d.z=b(k.z,m.z,l.z,p.z,h,g,i);return d};this.getControlPointsArray=function(){var a,b,c=this.points.length,d=[];for(a=0;a=b.x+b.y}}(); +THREE.Triangle.prototype={constructor:THREE.Triangle,set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},area:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return 0.5*a.cross(b).length()}}(),midpoint:function(a){return(a|| +new THREE.Vector3).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(a){return THREE.Triangle.normal(this.a,this.b,this.c,a)},plane:function(a){return(a||new THREE.Plane).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(a,b){return THREE.Triangle.barycoordFromPoint(a,this.a,this.b,this.c,b)},containsPoint:function(a){return THREE.Triangle.containsPoint(a,this.a,this.b,this.c)},equals:function(a){return a.a.equals(this.a)&&a.b.equals(this.b)&&a.c.equals(this.c)}, +clone:function(){return(new THREE.Triangle).copy(this)}};THREE.Vertex=function(a){console.warn("THREE.Vertex has been DEPRECATED. Use THREE.Vector3 instead.");return a};THREE.UV=function(a,b){console.warn("THREE.UV has been DEPRECATED. Use THREE.Vector2 instead.");return new THREE.Vector2(a,b)};THREE.Clock=function(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}; +THREE.Clock.prototype={constructor:THREE.Clock,start:function(){this.oldTime=this.startTime=void 0!==self.performance&&void 0!==self.performance.now?self.performance.now():Date.now();this.running=!0},stop:function(){this.getElapsedTime();this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;this.autoStart&&!this.running&&this.start();if(this.running){var b=void 0!==self.performance&&void 0!==self.performance.now?self.performance.now():Date.now(), +a=0.0010*(b-this.oldTime);this.oldTime=b;this.elapsedTime+=a}return a}};THREE.EventDispatcher=function(){}; +THREE.EventDispatcher.prototype={constructor:THREE.EventDispatcher,apply:function(a){a.addEventListener=THREE.EventDispatcher.prototype.addEventListener;a.hasEventListener=THREE.EventDispatcher.prototype.hasEventListener;a.removeEventListener=THREE.EventDispatcher.prototype.removeEventListener;a.dispatchEvent=THREE.EventDispatcher.prototype.dispatchEvent},addEventListener:function(a,b){void 0===this._listeners&&(this._listeners={});var c=this._listeners;void 0===c[a]&&(c[a]=[]);-1===c[a].indexOf(b)&& +c[a].push(b)},hasEventListener:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;return void 0!==c[a]&&-1!==c[a].indexOf(b)?!0:!1},removeEventListener:function(a,b){if(void 0!==this._listeners){var c=this._listeners,d=c[a].indexOf(b);-1!==d&&c[a].splice(d,1)}},dispatchEvent:function(a){if(void 0!==this._listeners){var b=this._listeners[a.type];if(void 0!==b){a.target=this;for(var c=0,d=b.length;cf.scale.x)return r;r.push({distance:t,point:f.position,face:null,object:f})}else if(f instanceof +a.LOD)d.getPositionFromMatrix(f.matrixWorld),t=m.ray.origin.distanceTo(d),k(f.getObjectForDistance(t),m,r);else if(f instanceof a.Mesh){var n=f.geometry;null===n.boundingSphere&&n.computeBoundingSphere();b.copy(n.boundingSphere);b.applyMatrix4(f.matrixWorld);if(!1===m.ray.isIntersectionSphere(b))return r;e.getInverse(f.matrixWorld);c.copy(m.ray).applyMatrix4(e);if(null!==n.boundingBox&&!1===c.isIntersectionBox(n.boundingBox))return r;if(n instanceof a.BufferGeometry){var s=f.material;if(void 0=== +s||!1===n.dynamic)return r;var q,u,w=m.precision;if(void 0!==n.attributes.index)for(var E=n.offsets,C=n.attributes.index.array,F=n.attributes.position.array,y=n.offsets.length,A=n.attributes.index.array.length/3,A=0;Am.far)||r.push({distance:t,point:q,face:null,faceIndex:null,object:f}));else{F=n.attributes.position.array;A=n.attributes.position.array.length;for(n=0;nm.far)||r.push({distance:t,point:q,face:null, +faceIndex:null,object:f}))}}else if(n instanceof a.Geometry){C=f.material instanceof a.MeshFaceMaterial;F=!0===C?f.material.materials:null;w=m.precision;E=n.vertices;y=0;for(A=n.faces.length;ym.far)||r.push({distance:t,point:q,face:z,faceIndex:y,object:f})))}}else if(f instanceof +a.Line){w=m.linePrecision;s=w*w;n=f.geometry;null===n.boundingSphere&&n.computeBoundingSphere();b.copy(n.boundingSphere);b.applyMatrix4(f.matrixWorld);if(!1===m.ray.isIntersectionSphere(b))return r;e.getInverse(f.matrixWorld);c.copy(m.ray).applyMatrix4(e);if(n instanceof a.Geometry){E=n.vertices;w=E.length;q=new a.Vector3;u=new a.Vector3;A=f.type===a.LineStrip?1:2;for(n=0;ns||(t=c.origin.distanceTo(u),tm.far||r.push({distance:t,point:q.clone().applyMatrix4(f.matrixWorld), +face:null,faceIndex:null,object:f}))}}},m=function(a,b,c){for(var a=a.getDescendants(),d=0,e=a.length;de&&0>f||0>h&&0>g)return!1;0>e?c=Math.max(c,e/(e-f)):0>f&&(d=Math.min(d,e/(e-f)));0>h?c=Math.max(c,h/(h-g)):0>g&&(d=Math.min(d,h/(h-g)));if(dg.positionScreen.x||1g.positionScreen.y||1g.positionScreen.z||1(ia.positionScreen.x-V.positionScreen.x)*(P.positionScreen.y-V.positionScreen.y)-(ia.positionScreen.y-V.positionScreen.y)*(P.positionScreen.x-V.positionScreen.x), +Y===THREE.DoubleSide||A===(Y===THREE.FrontSide)){if(p===t){var Ea=new THREE.RenderableFace3;r.push(Ea);t++;p++;l=Ea}else l=r[p++];l.id=U.id;l.v1.copy(V);l.v2.copy(P);l.v3.copy(ia);l.normalModel.copy($.normal);!1===A&&(Y===THREE.BackSide||Y===THREE.DoubleSide)&&l.normalModel.negate();l.normalModel.applyMatrix3(Q).normalize();l.normalModelView.copy(l.normalModel).applyMatrix3(J);l.centroidModel.copy($.centroid).applyMatrix4(x);ia=$.vertexNormals;V=0;for(P=Math.min(ia.length,3);Vz.z&&(E===F?(ta=new THREE.RenderableParticle,C.push(ta),F++,E++,w=ta):w=C[E++],w.id=U.id,w.x=z.x*fa,w.y=z.y*fa,w.z=z.z,w.object=U,w.rotation=U.rotation.z,w.scale.x=U.scale.x*Math.abs(w.x-(z.x+f.projectionMatrix.elements[0])/(z.w+f.projectionMatrix.elements[12])), +w.scale.y=U.scale.y*Math.abs(w.y-(z.y+f.projectionMatrix.elements[5])/(z.w+f.projectionMatrix.elements[13])),w.material=U.material,y.elements.push(w)));!0===m&&y.elements.sort(b);return y}};THREE.Face3=function(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d instanceof THREE.Vector3?d:new THREE.Vector3;this.vertexNormals=d instanceof Array?d:[];this.color=e instanceof THREE.Color?e:new THREE.Color;this.vertexColors=e instanceof Array?e:[];this.vertexTangents=[];this.materialIndex=void 0!==f?f:0;this.centroid=new THREE.Vector3}; +THREE.Face3.prototype={constructor:THREE.Face3,clone:function(){var a=new THREE.Face3(this.a,this.b,this.c);a.normal.copy(this.normal);a.color.copy(this.color);a.centroid.copy(this.centroid);a.materialIndex=this.materialIndex;var b,c;b=0;for(c=this.vertexNormals.length;bd?-1:1,e.vertexTangents[c]=new THREE.Vector4(E.x,E.y,E.z,d)}this.hasTangents=!0},computeLineDistances:function(){for(var a=0,b=this.vertices,c=0,d=b.length;cd;d++)if(e[d]==e[(d+1)%3]){a.push(f);break}}for(f=a.length-1;0<=f;f--){e=a[f];this.faces.splice(e,1);c=0;for(h=this.faceVertexUvs.length;cb.max.x&&(b.max.x=c),db.max.y&&(b.max.y=d),eb.max.z&&(b.max.z=e)}if(void 0===a||0===a.length)this.boundingBox.min.set(0,0,0),this.boundingBox.max.set(0,0,0)},computeBoundingSphere:function(){var a=new THREE.Box3,b=new THREE.Vector3;return function(){null=== +this.boundingSphere&&(this.boundingSphere=new THREE.Sphere);var c=this.attributes.position.array;if(c){for(var d=this.boundingSphere.center,e=0,f=c.length;eR?-1:1;h[4*a]=J.x;h[4*a+1]=J.y;h[4*a+2]=J.z;h[4*a+3]=N}if(void 0===this.attributes.index||void 0===this.attributes.position||void 0===this.attributes.normal||void 0===this.attributes.uv)console.warn("Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");else{var b=this.attributes.index.array,c=this.attributes.position.array,d=this.attributes.normal.array,e=this.attributes.uv.array,f=c.length/3;void 0===this.attributes.tangent&&(this.attributes.tangent= +{itemSize:4,array:new Float32Array(4*f)});for(var h=this.attributes.tangent.array,g=[],i=[],k=0;ka.length?".":a.join("/"))+"/"},initMaterials:function(a,b){for(var c=[],d=0;da.opacity)i.transparent=a.transparent;void 0!==a.depthTest&&(i.depthTest=a.depthTest);void 0!==a.depthWrite&&(i.depthWrite=a.depthWrite);void 0!==a.visible&&(i.visible=a.visible);void 0!==a.flipSided&&(i.side=THREE.BackSide); +void 0!==a.doubleSided&&(i.side=THREE.DoubleSide);void 0!==a.wireframe&&(i.wireframe=a.wireframe);void 0!==a.vertexColors&&("face"===a.vertexColors?i.vertexColors=THREE.FaceColors:a.vertexColors&&(i.vertexColors=THREE.VertexColors));a.colorDiffuse?i.color=f(a.colorDiffuse):a.DbgColor&&(i.color=a.DbgColor);a.colorSpecular&&(i.specular=f(a.colorSpecular));a.colorAmbient&&(i.ambient=f(a.colorAmbient));a.transparency&&(i.opacity=a.transparency);a.specularCoef&&(i.shininess=a.specularCoef);a.mapDiffuse&& +b&&e(i,"map",a.mapDiffuse,a.mapDiffuseRepeat,a.mapDiffuseOffset,a.mapDiffuseWrap,a.mapDiffuseAnisotropy);a.mapLight&&b&&e(i,"lightMap",a.mapLight,a.mapLightRepeat,a.mapLightOffset,a.mapLightWrap,a.mapLightAnisotropy);a.mapBump&&b&&e(i,"bumpMap",a.mapBump,a.mapBumpRepeat,a.mapBumpOffset,a.mapBumpWrap,a.mapBumpAnisotropy);a.mapNormal&&b&&e(i,"normalMap",a.mapNormal,a.mapNormalRepeat,a.mapNormalOffset,a.mapNormalWrap,a.mapNormalAnisotropy);a.mapSpecular&&b&&e(i,"specularMap",a.mapSpecular,a.mapSpecularRepeat, +a.mapSpecularOffset,a.mapSpecularWrap,a.mapSpecularAnisotropy);a.mapBumpScale&&(i.bumpScale=a.mapBumpScale);a.mapNormal?(g=THREE.ShaderLib.normalmap,k=THREE.UniformsUtils.clone(g.uniforms),k.tNormal.value=i.normalMap,a.mapNormalFactor&&k.uNormalScale.value.set(a.mapNormalFactor,a.mapNormalFactor),i.map&&(k.tDiffuse.value=i.map,k.enableDiffuse.value=!0),i.specularMap&&(k.tSpecular.value=i.specularMap,k.enableSpecular.value=!0),i.lightMap&&(k.tAO.value=i.lightMap,k.enableAO.value=!0),k.uDiffuseColor.value.setHex(i.color), +k.uSpecularColor.value.setHex(i.specular),k.uAmbientColor.value.setHex(i.ambient),k.uShininess.value=i.shininess,void 0!==i.opacity&&(k.uOpacity.value=i.opacity),g=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,vertexShader:g.vertexShader,uniforms:k,lights:!0,fog:!0}),i.transparent&&(g.transparent=!0)):g=new THREE[g](i);void 0!==a.DbgName&&(g.name=a.DbgName);return g}};THREE.XHRLoader=function(a){this.manager=void 0!==a?a:THREE.DefaultLoadingManager}; +THREE.XHRLoader.prototype={constructor:THREE.XHRLoader,load:function(a,b,c,d){var e=this,f=new XMLHttpRequest;void 0!==b&&f.addEventListener("load",function(c){b(c.target.responseText);e.manager.itemEnd(a)},!1);void 0!==c&&f.addEventListener("progress",function(a){c(a)},!1);void 0!==d&&f.addEventListener("error",function(a){d(a)},!1);void 0!==this.crossOrigin&&(f.crossOrigin=this.crossOrigin);f.open("GET",a,!0);f.send(null);e.manager.itemStart(a)},setCrossOrigin:function(a){this.crossOrigin=a}};THREE.ImageLoader=function(a){this.manager=void 0!==a?a:THREE.DefaultLoadingManager}; +THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,load:function(a,b,c,d){var e=this,f=document.createElement("img");void 0!==b&&f.addEventListener("load",function(){e.manager.itemEnd(a);b(this)},!1);void 0!==c&&f.addEventListener("progress",function(a){c(a)},!1);void 0!==d&&f.addEventListener("error",function(a){d(a)},!1);void 0!==this.crossOrigin&&(f.crossOrigin=this.crossOrigin);f.src=a;e.manager.itemStart(a);return f},setCrossOrigin:function(a){this.crossOrigin=a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a);this.withCredentials=!1};THREE.JSONLoader.prototype=Object.create(THREE.Loader.prototype);THREE.JSONLoader.prototype.load=function(a,b,c){c=c&&"string"===typeof c?c:this.extractUrlBase(a);this.onLoadStart();this.loadAjaxJSON(this,a,b,c)}; +THREE.JSONLoader.prototype.loadAjaxJSON=function(a,b,c,d,e){var f=new XMLHttpRequest,h=0;f.onreadystatechange=function(){if(f.readyState===f.DONE)if(200===f.status||0===f.status){if(f.responseText){var g=JSON.parse(f.responseText),g=a.parse(g,d);c(g.geometry,g.materials)}else console.warn("THREE.JSONLoader: ["+b+"] seems to be unreachable or file there is empty");a.onLoadComplete()}else console.error("THREE.JSONLoader: Couldn't load ["+b+"] ["+f.status+"]");else f.readyState===f.LOADING?e&&(0===h&& +(h=f.getResponseHeader("Content-Length")),e({total:h,loaded:f.responseText.length})):f.readyState===f.HEADERS_RECEIVED&&void 0!==e&&(h=f.getResponseHeader("Content-Length"))};f.open("GET",b,!0);f.withCredentials=this.withCredentials;f.send(null)}; +THREE.JSONLoader.prototype.parse=function(a,b){var c=new THREE.Geometry,d=void 0!==a.scale?1/a.scale:1,e,f,h,g,i,k,m,l,p,r,t,n,s,q,u=a.faces;p=a.vertices;var w=a.normals,E=a.colors,C=0;if(void 0!==a.uvs){for(e=0;ef;f++)l=u[g++],q=s[2*l],l=s[2*l+1],q=new THREE.Vector2(q,l),2!==f&&c.faceVertexUvs[e][h].push(q),0!==f&&c.faceVertexUvs[e][h+1].push(q)}m&&(m=3*u[g++],r.normal.set(w[m++],w[m++],w[m]),n.normal.copy(r.normal));if(t)for(e=0;4>e;e++)m=3*u[g++],t=new THREE.Vector3(w[m++], +w[m++],w[m]),2!==e&&r.vertexNormals.push(t),0!==e&&n.vertexNormals.push(t);k&&(k=u[g++],k=E[k],r.color.setHex(k),n.color.setHex(k));if(p)for(e=0;4>e;e++)k=u[g++],k=E[k],2!==e&&r.vertexColors.push(new THREE.Color(k)),0!==e&&n.vertexColors.push(new THREE.Color(k));c.faces.push(r);c.faces.push(n)}else{r=new THREE.Face3;r.a=u[g++];r.b=u[g++];r.c=u[g++];h&&(h=u[g++],r.materialIndex=h);h=c.faces.length;if(e)for(e=0;ef;f++)l=u[g++],q=s[2*l],l=s[2*l+1], +q=new THREE.Vector2(q,l),c.faceVertexUvs[e][h].push(q)}m&&(m=3*u[g++],r.normal.set(w[m++],w[m++],w[m]));if(t)for(e=0;3>e;e++)m=3*u[g++],t=new THREE.Vector3(w[m++],w[m++],w[m]),r.vertexNormals.push(t);k&&(k=u[g++],r.color.setHex(E[k]));if(p)for(e=0;3>e;e++)k=u[g++],r.vertexColors.push(new THREE.Color(E[k]));c.faces.push(r)}if(a.skinWeights){g=0;for(i=a.skinWeights.length;gG.parameters.opacity&&(G.parameters.transparent=!0);G.parameters.normalMap?(D=THREE.ShaderLib.normalmap,v=THREE.UniformsUtils.clone(D.uniforms), +q=G.parameters.color,x=G.parameters.specular,s=G.parameters.ambient,I=G.parameters.shininess,v.tNormal.value=z.textures[G.parameters.normalMap],G.parameters.normalScale&&v.uNormalScale.value.set(G.parameters.normalScale[0],G.parameters.normalScale[1]),G.parameters.map&&(v.tDiffuse.value=G.parameters.map,v.enableDiffuse.value=!0),G.parameters.envMap&&(v.tCube.value=G.parameters.envMap,v.enableReflection.value=!0,v.uReflectivity.value=G.parameters.reflectivity),G.parameters.lightMap&&(v.tAO.value=G.parameters.lightMap, +v.enableAO.value=!0),G.parameters.specularMap&&(v.tSpecular.value=z.textures[G.parameters.specularMap],v.enableSpecular.value=!0),G.parameters.displacementMap&&(v.tDisplacement.value=z.textures[G.parameters.displacementMap],v.enableDisplacement.value=!0,v.uDisplacementBias.value=G.parameters.displacementBias,v.uDisplacementScale.value=G.parameters.displacementScale),v.uDiffuseColor.value.setHex(q),v.uSpecularColor.value.setHex(x),v.uAmbientColor.value.setHex(s),v.uShininess.value=I,G.parameters.opacity&& +(v.uOpacity.value=G.parameters.opacity),t=new THREE.ShaderMaterial({fragmentShader:D.fragmentShader,vertexShader:D.vertexShader,uniforms:v,lights:!0,fog:!0})):t=new THREE[G.type](G.parameters);t.name=Q;z.materials[Q]=t}for(Q in B.materials)if(G=B.materials[Q],G.parameters.materials){J=[];for(q=0;qg.end&&(g.end=e);b||(b=h)}}a.firstAnimation=b}; +THREE.MorphAnimMesh.prototype.setAnimationLabel=function(a,b,c){this.geometry.animations||(this.geometry.animations={});this.geometry.animations[a]={start:b,end:c}};THREE.MorphAnimMesh.prototype.playAnimation=function(a,b){var c=this.geometry.animations[a];c?(this.setFrameRange(c.start,c.end),this.duration=1E3*((c.end-c.start)/b),this.time=0):console.warn("animation["+a+"] undefined")}; +THREE.MorphAnimMesh.prototype.updateAnimation=function(a){var b=this.duration/this.length;this.time+=this.direction*a;if(this.mirroredLoop){if(this.time>this.duration||0>this.time)this.direction*=-1,this.time>this.duration&&(this.time=this.duration,this.directionBackwards=!0),0>this.time&&(this.time=0,this.directionBackwards=!1)}else this.time%=this.duration,0>this.time&&(this.time+=this.duration);a=this.startKeyframe+THREE.Math.clamp(Math.floor(this.time/b),0,this.length-1);a!==this.currentKeyframe&& +(this.morphTargetInfluences[this.lastKeyframe]=0,this.morphTargetInfluences[this.currentKeyframe]=1,this.morphTargetInfluences[a]=0,this.lastKeyframe=this.currentKeyframe,this.currentKeyframe=a);b=this.time%b/b;this.directionBackwards&&(b=1-b);this.morphTargetInfluences[this.currentKeyframe]=b;this.morphTargetInfluences[this.lastKeyframe]=1-b}; +THREE.MorphAnimMesh.prototype.clone=function(a){void 0===a&&(a=new THREE.MorphAnimMesh(this.geometry,this.material));a.duration=this.duration;a.mirroredLoop=this.mirroredLoop;a.time=this.time;a.lastKeyframe=this.lastKeyframe;a.currentKeyframe=this.currentKeyframe;a.direction=this.direction;a.directionBackwards=this.directionBackwards;THREE.Mesh.prototype.clone.call(this,a);return a};THREE.LOD=function(){THREE.Object3D.call(this);this.objects=[]};THREE.LOD.prototype=Object.create(THREE.Object3D.prototype);THREE.LOD.prototype.addLevel=function(a,b){void 0===b&&(b=0);for(var b=Math.abs(b),c=0;c=this.objects[d].distance)this.objects[d-1].object.visible=!1,this.objects[d].object.visible=!0;else break;for(;d=g||(g*=f.intensity,c.add(La.multiplyScalar(g)))}else f instanceof THREE.PointLight&&(h=ua.getPositionFromMatrix(f.matrixWorld),g=b.dot(ua.subVectors(h,a).normalize()),0>=g||(g*=0==f.distance?1:1-Math.min(a.distanceTo(h)/f.distance,1),0!=g&&(g*=f.intensity,c.add(La.multiplyScalar(g)))))}} +function c(a,b,c,d){m(b);l(c);p(d);r(a.getStyle());B.stroke();ra.expandByScalar(2*b)}function d(a){t(a.getStyle());B.fill()}function e(a,b,c,e,f,h,g,j,i,k,m,l,p){if(!(p instanceof THREE.DataTexture||void 0===p.image||0==p.image.width)){if(!0===p.needsUpdate){var n=p.wrapS==THREE.RepeatWrapping,s=p.wrapT==THREE.RepeatWrapping;Ga[p.id]=B.createPattern(p.image,!0===n&&!0===s?"repeat":!0===n&&!1===s?"repeat-x":!1===n&&!0===s?"repeat-y":"no-repeat");p.needsUpdate=!1}void 0===Ga[p.id]?t("rgba(0,0,0,1)"): +t(Ga[p.id]);var n=p.offset.x/p.repeat.x,s=p.offset.y/p.repeat.y,r=p.image.width*p.repeat.x,q=p.image.height*p.repeat.y,g=(g+n)*r,j=(1-j+s)*q,c=c-a,e=e-b,f=f-a,h=h-b,i=(i+n)*r-g,k=(1-k+s)*q-j,m=(m+n)*r-g,l=(1-l+s)*q-j,n=i*l-m*k;0===n?(void 0===fa[p.id]&&(b=document.createElement("canvas"),b.width=p.image.width,b.height=p.image.height,b=b.getContext("2d"),b.drawImage(p.image,0,0),fa[p.id]=b.getImageData(0,0,p.image.width,p.image.height).data),b=fa[p.id],g=4*(Math.floor(g)+Math.floor(j)*p.image.width), +V.setRGB(b[g]/255,b[g+1]/255,b[g+2]/255),d(V)):(n=1/n,p=(l*c-k*f)*n,k=(l*e-k*h)*n,c=(i*f-m*c)*n,e=(i*h-m*e)*n,a=a-p*g-c*j,g=b-k*g-e*j,B.save(),B.transform(p,k,c,e,a,g),B.fill(),B.restore())}}function f(a,b,c,d,e,f,h,g,j,i,k,m,l){var p,n;p=l.width-1;n=l.height-1;h*=p;g*=n;c-=a;d-=b;e-=a;f-=b;j=j*p-h;i=i*n-g;k=k*p-h;m=m*n-g;n=1/(j*m-k*i);p=(m*c-i*e)*n;i=(m*d-i*f)*n;c=(j*e-k*c)*n;d=(j*f-k*d)*n;a=a-p*h-c*g;b=b-i*h-d*g;B.save();B.transform(p,i,c,d,a,b);B.clip();B.drawImage(l,0,0);B.restore()}function h(a, +b,c,d){va[0]=255*a.r|0;va[1]=255*a.g|0;va[2]=255*a.b|0;va[4]=255*b.r|0;va[5]=255*b.g|0;va[6]=255*b.b|0;va[8]=255*c.r|0;va[9]=255*c.g|0;va[10]=255*c.b|0;va[12]=255*d.r|0;va[13]=255*d.g|0;va[14]=255*d.b|0;j.putImageData(Na,0,0);Fa.drawImage(Oa,0,0);return wa}function g(a,b,c){var d=b.x-a.x,e=b.y-a.y,f=d*d+e*e;0!==f&&(c/=Math.sqrt(f),d*=c,e*=c,b.x+=d,b.y+=e,a.x-=d,a.y-=e)}function i(a){v!==a&&(v=B.globalAlpha=a)}function k(a){x!==a&&(a===THREE.NormalBlending?B.globalCompositeOperation="source-over": +a===THREE.AdditiveBlending?B.globalCompositeOperation="lighter":a===THREE.SubtractiveBlending&&(B.globalCompositeOperation="darker"),x=a)}function m(a){J!==a&&(J=B.lineWidth=a)}function l(a){ca!==a&&(ca=B.lineCap=a)}function p(a){oa!==a&&(oa=B.lineJoin=a)}function r(a){G!==a&&(G=B.strokeStyle=a)}function t(a){Q!==a&&(Q=B.fillStyle=a)}function n(a,b){if(pa!==a||N!==b)B.setLineDash([a,b]),pa=a,N=b}console.log("THREE.CanvasRenderer",THREE.REVISION);var s=THREE.Math.smoothstep,a=a||{},q=this,u,w,E,C= +new THREE.Projector,F=void 0!==a.canvas?a.canvas:document.createElement("canvas"),y,A,z,O,B=F.getContext("2d"),D=new THREE.Color(0),I=0,v=1,x=0,G=null,Q=null,J=null,ca=null,oa=null,pa=null,N=0,M,R,K,da;new THREE.RenderableVertex;new THREE.RenderableVertex;var Aa,Ca,ba,Ba,$,ea,V=new THREE.Color,P=new THREE.Color,Y=new THREE.Color,U=new THREE.Color,ka=new THREE.Color,ta=new THREE.Color,ia=new THREE.Color,La=new THREE.Color,Ga={},fa={},Ea,Ta,Pa,xa,cb,db,ob,pb,qb,eb,Ha=new THREE.Box2,la=new THREE.Box2, +ra=new THREE.Box2,fb=new THREE.Color,sa=new THREE.Color,ga=new THREE.Color,ua=new THREE.Vector3,Oa,j,Na,va,wa,Fa,Qa=16;Oa=document.createElement("canvas");Oa.width=Oa.height=2;j=Oa.getContext("2d");j.fillStyle="rgba(0,0,0,1)";j.fillRect(0,0,2,2);Na=j.getImageData(0,0,2,2);va=Na.data;wa=document.createElement("canvas");wa.width=wa.height=Qa;Fa=wa.getContext("2d");Fa.translate(-Qa/2,-Qa/2);Fa.scale(Qa,Qa);Qa--;void 0===B.setLineDash&&(B.setLineDash=void 0!==B.mozDash?function(a){B.mozDash=null!==a[0]? +a:null}:function(){});this.domElement=F;this.devicePixelRatio=void 0!==a.devicePixelRatio?a.devicePixelRatio:void 0!==self.devicePixelRatio?self.devicePixelRatio:1;this.sortElements=this.sortObjects=this.autoClear=!0;this.info={render:{vertices:0,faces:0}};this.supportsVertexTextures=function(){};this.setFaceCulling=function(){};this.setSize=function(a,b,c){y=a*this.devicePixelRatio;A=b*this.devicePixelRatio;z=Math.floor(y/2);O=Math.floor(A/2);F.width=y;F.height=A;1!==this.devicePixelRatio&&!1!== +c&&(F.style.width=a+"px",F.style.height=b+"px");Ha.set(new THREE.Vector2(-z,-O),new THREE.Vector2(z,O));la.set(new THREE.Vector2(-z,-O),new THREE.Vector2(z,O));v=1;x=0;oa=ca=J=Q=G=null};this.setClearColor=function(a,b){D.set(a);I=void 0!==b?b:1;la.set(new THREE.Vector2(-z,-O),new THREE.Vector2(z,O))};this.setClearColorHex=function(a,b){console.warn("DEPRECATED: .setClearColorHex() is being removed. Use .setClearColor() instead.");this.setClearColor(a,b)};this.getMaxAnisotropy=function(){return 0}; +this.clear=function(){B.setTransform(1,0,0,-1,z,O);!1===la.empty()&&(la.intersect(Ha),la.expandByScalar(2),1>I&&B.clearRect(la.min.x|0,la.min.y|0,la.max.x-la.min.x|0,la.max.y-la.min.y|0),0>1,ca=I.height>>1,N=F.scale.x*z,D=F.scale.y*O,v=N*Q,x=D*ca,ra.min.set(y.x-v,y.y-x),ra.max.set(y.x+v,y.y+x),!1===Ha.isIntersectionBox(ra)?ra.makeEmpty():(B.save(),B.translate(y.x,y.y),B.rotate(-F.rotation),B.scale(N,-D),B.translate(-Q,-ca),B.drawImage(I,0,0),B.restore())):J instanceof THREE.ParticleCanvasMaterial&&(v=F.scale.x*z,x=F.scale.y*O,ra.min.set(y.x-v,y.y-x),ra.max.set(y.x+v,y.y+x),!1===Ha.isIntersectionBox(ra)?ra.makeEmpty():(r(J.color.getStyle()), +t(J.color.getStyle()),B.save(),B.translate(y.x,y.y),B.rotate(-F.rotation),B.scale(v,x),J.program(B),B.restore()))}else if(v instanceof THREE.RenderableLine){if(R=v.v1,K=v.v2,R.positionScreen.x*=z,R.positionScreen.y*=O,K.positionScreen.x*=z,K.positionScreen.y*=O,ra.setFromPoints([R.positionScreen,K.positionScreen]),!0===Ha.isIntersectionBox(ra))if(y=R,F=K,J=v,v=x,i(v.opacity),k(v.blending),B.beginPath(),B.moveTo(y.positionScreen.x,y.positionScreen.y),B.lineTo(F.positionScreen.x,F.positionScreen.y), +v instanceof THREE.LineBasicMaterial){m(v.linewidth);l(v.linecap);p(v.linejoin);if(v.vertexColors!==THREE.VertexColors)r(v.color.getStyle());else if(x=J.vertexColors[0].getStyle(),J=J.vertexColors[1].getStyle(),x===J)r(x);else{try{var fa=B.createLinearGradient(y.positionScreen.x,y.positionScreen.y,F.positionScreen.x,F.positionScreen.y);fa.addColorStop(0,x);fa.addColorStop(1,J)}catch(oa){fa=x}r(fa)}B.stroke();ra.expandByScalar(2*v.linewidth)}else v instanceof THREE.LineDashedMaterial&&(m(v.linewidth), +l(v.linecap),p(v.linejoin),r(v.color.getStyle()),n(v.dashSize,v.gapSize),B.stroke(),ra.expandByScalar(2*v.linewidth),n(null,null))}else if(v instanceof THREE.RenderableFace3){R=v.v1;K=v.v2;da=v.v3;if(-1>R.positionScreen.z||1K.positionScreen.z||1da.positionScreen.z||1 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif", +lights_lambert_vertex:"vLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\nvLightBack = vec3( 0.0 );\n#endif\ntransformedNormal = normalize( transformedNormal );\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( transformedNormal, dirVector );\nvec3 directionalLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 directionalLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 directionalLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 directionalLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\ndirectionalLightWeighting = mix( directionalLightWeighting, directionalLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\ndirectionalLightWeightingBack = mix( directionalLightWeightingBack, directionalLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += directionalLightColor[ i ] * directionalLightWeighting;\n#ifdef DOUBLE_SIDED\nvLightBack += directionalLightColor[ i ] * directionalLightWeightingBack;\n#endif\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat dotProduct = dot( transformedNormal, lVector );\nvec3 pointLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 pointLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 pointLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 pointLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\npointLightWeighting = mix( pointLightWeighting, pointLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\npointLightWeightingBack = mix( pointLightWeightingBack, pointLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef DOUBLE_SIDED\nvLightBack += pointLightColor[ i ] * pointLightWeightingBack * lDistance;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - worldPosition.xyz ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat dotProduct = dot( transformedNormal, lVector );\nvec3 spotLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 spotLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 spotLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 spotLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\nspotLightWeighting = mix( spotLightWeighting, spotLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\nspotLightWeightingBack = mix( spotLightWeightingBack, spotLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += spotLightColor[ i ] * spotLightWeighting * lDistance * spotEffect;\n#ifdef DOUBLE_SIDED\nvLightBack += spotLightColor[ i ] * spotLightWeightingBack * lDistance * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( transformedNormal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nfloat hemiDiffuseWeightBack = -0.5 * dotProduct + 0.5;\nvLightFront += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\n#ifdef DOUBLE_SIDED\nvLightBack += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeightBack );\n#endif\n}\n#endif\nvLightFront = vLightFront * diffuse + ambient * ambientLightColor + emissive;\n#ifdef DOUBLE_SIDED\nvLightBack = vLightBack * diffuse + ambient * ambientLightColor + emissive;\n#endif", +lights_phong_pars_vertex:"#ifndef PHONG_PER_PIXEL\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvarying vec3 vWorldPosition;\n#endif", +lights_phong_vertex:"#ifndef PHONG_PER_PIXEL\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nvSpotLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvWorldPosition = worldPosition.xyz;\n#endif", +lights_phong_pars_fragment:"uniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\n#ifdef PHONG_PER_PIXEL\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#else\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#ifdef PHONG_PER_PIXEL\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#else\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvarying vec3 vWorldPosition;\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;", +lights_phong_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#ifdef DOUBLE_SIDED\nnormal = normal * ( -1.0 + 2.0 * float( gl_FrontFacing ) );\n#endif\n#ifdef USE_NORMALMAP\nnormal = perturbNormal2Arb( -vViewPosition, normal );\n#elif defined( USE_BUMPMAP )\nnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n#if MAX_POINT_LIGHTS > 0\nvec3 pointDiffuse = vec3( 0.0 );\nvec3 pointSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\n#ifdef PHONG_PER_PIXEL\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\n#else\nvec3 lVector = normalize( vPointLight[ i ].xyz );\nfloat lDistance = vPointLight[ i ].w;\n#endif\nfloat dotProduct = dot( normal, lVector );\n#ifdef WRAP_AROUND\nfloat pointDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat pointDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n#else\nfloat pointDiffuseWeight = max( dotProduct, 0.0 );\n#endif\npointDiffuse += diffuse * pointLightColor[ i ] * pointDiffuseWeight * lDistance;\nvec3 pointHalfVector = normalize( lVector + viewPosition );\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\nfloat pointSpecularWeight = specularStrength * max( pow( pointDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, pointHalfVector ), 5.0 );\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance * specularNormalization;\n#else\npointSpecular += specular * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvec3 spotDiffuse = vec3( 0.0 );\nvec3 spotSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\n#ifdef PHONG_PER_PIXEL\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\n#else\nvec3 lVector = normalize( vSpotLight[ i ].xyz );\nfloat lDistance = vSpotLight[ i ].w;\n#endif\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\nfloat dotProduct = dot( normal, lVector );\n#ifdef WRAP_AROUND\nfloat spotDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat spotDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n#else\nfloat spotDiffuseWeight = max( dotProduct, 0.0 );\n#endif\nspotDiffuse += diffuse * spotLightColor[ i ] * spotDiffuseWeight * lDistance * spotEffect;\nvec3 spotHalfVector = normalize( lVector + viewPosition );\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\nfloat spotSpecularWeight = specularStrength * max( pow( spotDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, spotHalfVector ), 5.0 );\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * specularNormalization * spotEffect;\n#else\nspotSpecular += specular * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec3 dirDiffuse = vec3( 0.0 );\nvec3 dirSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, dirVector );\n#ifdef WRAP_AROUND\nfloat dirDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat dirDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 dirDiffuseWeight = mix( vec3( dirDiffuseWeightFull ), vec3( dirDiffuseWeightHalf ), wrapRGB );\n#else\nfloat dirDiffuseWeight = max( dotProduct, 0.0 );\n#endif\ndirDiffuse += diffuse * directionalLightColor[ i ] * dirDiffuseWeight;\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\nfloat dirSpecularWeight = specularStrength * max( pow( dirDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n#else\ndirSpecular += specular * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nvec3 hemiDiffuse = vec3( 0.0 );\nvec3 hemiSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\nhemiDiffuse += diffuse * hemiColor;\nvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\nfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\nfloat hemiSpecularWeightSky = specularStrength * max( pow( hemiDotNormalHalfSky, shininess ), 0.0 );\nvec3 lVectorGround = -lVector;\nvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\nfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\nfloat hemiSpecularWeightGround = specularStrength * max( pow( hemiDotNormalHalfGround, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat dotProductGround = dot( normal, lVectorGround );\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlickSky = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\nvec3 schlickGround = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\nhemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\n#else\nhemiSpecular += specular * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;\n#endif\n}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\ntotalDiffuse += dirDiffuse;\ntotalSpecular += dirSpecular;\n#endif\n#if MAX_HEMI_LIGHTS > 0\ntotalDiffuse += hemiDiffuse;\ntotalSpecular += hemiSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalDiffuse += pointDiffuse;\ntotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\ntotalDiffuse += spotDiffuse;\ntotalSpecular += spotSpecular;\n#endif\n#ifdef METAL\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient + totalSpecular );\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient ) + totalSpecular;\n#endif", +color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n#ifdef GAMMA_INPUT\nvColor = color * color;\n#else\nvColor = color;\n#endif\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n#ifdef BONE_TEXTURE\nuniform sampler2D boneTexture;\nuniform int boneTextureWidth;\nuniform int boneTextureHeight;\nmat4 getBoneMatrix( const in float i ) {\nfloat j = i * 4.0;\nfloat x = mod( j, float( boneTextureWidth ) );\nfloat y = floor( j / float( boneTextureWidth ) );\nfloat dx = 1.0 / float( boneTextureWidth );\nfloat dy = 1.0 / float( boneTextureHeight );\ny = dy * ( y + 0.5 );\nvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\nvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\nvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\nvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\nmat4 bone = mat4( v1, v2, v3, v4 );\nreturn bone;\n}\n#else\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\nmat4 getBoneMatrix( const in float i ) {\nmat4 bone = boneGlobalMatrices[ int(i) ];\nreturn bone;\n}\n#endif\n#endif", +skinbase_vertex:"#ifdef USE_SKINNING\nmat4 boneMatX = getBoneMatrix( skinIndex.x );\nmat4 boneMatY = getBoneMatrix( skinIndex.y );\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n#ifdef USE_MORPHTARGETS\nvec4 skinVertex = vec4( morphed, 1.0 );\n#else\nvec4 skinVertex = vec4( position, 1.0 );\n#endif\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\nskinned \t += boneMatY * skinVertex * skinWeight.y;\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n#ifndef USE_MORPHNORMALS\nuniform float morphTargetInfluences[ 8 ];\n#else\nuniform float morphTargetInfluences[ 4 ];\n#endif\n#endif", +morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n#ifndef USE_MORPHNORMALS\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n#endif\nmorphed += position;\n#endif", +default_vertex:"vec4 mvPosition;\n#ifdef USE_SKINNING\nmvPosition = modelViewMatrix * skinned;\n#endif\n#if !defined( USE_SKINNING ) && defined( USE_MORPHTARGETS )\nmvPosition = modelViewMatrix * vec4( morphed, 1.0 );\n#endif\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHTARGETS )\nmvPosition = modelViewMatrix * vec4( position, 1.0 );\n#endif\ngl_Position = projectionMatrix * mvPosition;",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\nvec3 morphedNormal = vec3( 0.0 );\nmorphedNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\nmorphedNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\nmorphedNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\nmorphedNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\nmorphedNormal += normal;\n#endif", +skinnormal_vertex:"#ifdef USE_SKINNING\nmat4 skinMatrix = skinWeight.x * boneMatX;\nskinMatrix \t+= skinWeight.y * boneMatY;\n#ifdef USE_MORPHNORMALS\nvec4 skinnedNormal = skinMatrix * vec4( morphedNormal, 0.0 );\n#else\nvec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );\n#endif\n#endif",defaultnormal_vertex:"vec3 objectNormal;\n#ifdef USE_SKINNING\nobjectNormal = skinnedNormal.xyz;\n#endif\n#if !defined( USE_SKINNING ) && defined( USE_MORPHNORMALS )\nobjectNormal = morphedNormal;\n#endif\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHNORMALS )\nobjectNormal = normal;\n#endif\n#ifdef FLIP_SIDED\nobjectNormal = -objectNormal;\n#endif\nvec3 transformedNormal = normalMatrix * objectNormal;", +shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform vec2 shadowMapSize[ MAX_SHADOWS ];\nuniform float shadowDarkness[ MAX_SHADOWS ];\nuniform float shadowBias[ MAX_SHADOWS ];\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_DEBUG\nvec3 frustumColors[3];\nfrustumColors[0] = vec3( 1.0, 0.5, 0.0 );\nfrustumColors[1] = vec3( 0.0, 1.0, 0.8 );\nfrustumColors[2] = vec3( 0.0, 0.5, 1.0 );\n#endif\n#ifdef SHADOWMAP_CASCADE\nint inFrustumCount = 0;\n#endif\nfloat fDepth;\nvec3 shadowColor = vec3( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\nbool inFrustum = all( inFrustumVec );\n#ifdef SHADOWMAP_CASCADE\ninFrustumCount += int( inFrustum );\nbvec3 frustumTestVec = bvec3( inFrustum, inFrustumCount == 1, shadowCoord.z <= 1.0 );\n#else\nbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n#endif\nbool frustumTest = all( frustumTestVec );\nif ( frustumTest ) {\nshadowCoord.z += shadowBias[ i ];\n#if defined( SHADOWMAP_TYPE_PCF )\nfloat shadow = 0.0;\nconst float shadowDelta = 1.0 / 9.0;\nfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\nfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\nfloat dx0 = -1.25 * xPixelOffset;\nfloat dy0 = -1.25 * yPixelOffset;\nfloat dx1 = 1.25 * xPixelOffset;\nfloat dy1 = 1.25 * yPixelOffset;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\n#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\nfloat shadow = 0.0;\nfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\nfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\nfloat dx0 = -1.0 * xPixelOffset;\nfloat dy0 = -1.0 * yPixelOffset;\nfloat dx1 = 1.0 * xPixelOffset;\nfloat dy1 = 1.0 * yPixelOffset;\nmat3 shadowKernel;\nmat3 depthKernel;\ndepthKernel[0][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\ndepthKernel[0][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\ndepthKernel[0][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );\ndepthKernel[1][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\ndepthKernel[1][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\ndepthKernel[1][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\ndepthKernel[2][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\ndepthKernel[2][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\ndepthKernel[2][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\nvec3 shadowZ = vec3( shadowCoord.z );\nshadowKernel[0] = vec3(lessThan(depthKernel[0], shadowZ ));\nshadowKernel[0] *= vec3(0.25);\nshadowKernel[1] = vec3(lessThan(depthKernel[1], shadowZ ));\nshadowKernel[1] *= vec3(0.25);\nshadowKernel[2] = vec3(lessThan(depthKernel[2], shadowZ ));\nshadowKernel[2] *= vec3(0.25);\nvec2 fractionalCoord = 1.0 - fract( shadowCoord.xy * shadowMapSize[i].xy );\nshadowKernel[0] = mix( shadowKernel[1], shadowKernel[0], fractionalCoord.x );\nshadowKernel[1] = mix( shadowKernel[2], shadowKernel[1], fractionalCoord.x );\nvec4 shadowValues;\nshadowValues.x = mix( shadowKernel[0][1], shadowKernel[0][0], fractionalCoord.y );\nshadowValues.y = mix( shadowKernel[0][2], shadowKernel[0][1], fractionalCoord.y );\nshadowValues.z = mix( shadowKernel[1][1], shadowKernel[1][0], fractionalCoord.y );\nshadowValues.w = mix( shadowKernel[1][2], shadowKernel[1][1], fractionalCoord.y );\nshadow = dot( shadowValues, vec4( 1.0 ) );\nshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < shadowCoord.z )\nshadowColor = shadowColor * vec3( 1.0 - shadowDarkness[ i ] );\n#endif\n}\n#ifdef SHADOWMAP_DEBUG\n#ifdef SHADOWMAP_CASCADE\nif ( inFrustum && inFrustumCount == 1 ) gl_FragColor.xyz *= frustumColors[ i ];\n#else\nif ( inFrustum ) gl_FragColor.xyz *= frustumColors[ i ];\n#endif\n#endif\n}\n#ifdef GAMMA_OUTPUT\nshadowColor *= shadowColor;\n#endif\ngl_FragColor.xyz = gl_FragColor.xyz * shadowColor;\n#endif", +shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif",linear_to_gamma_fragment:"#ifdef GAMMA_OUTPUT\ngl_FragColor.xyz = sqrt( gl_FragColor.xyz );\n#endif"}; +THREE.UniformsUtils={merge:function(a){var b,c,d,e={};for(b=0;b dashSize ) {\ndiscard;\n}\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n")},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f", +value:1}},vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}"},normal:{uniforms:{opacity:{type:"f",value:1}},vertexShader:["varying vec3 vNormal;",THREE.ShaderChunk.morphtarget_pars_vertex,"void main() {\nvNormal = normalize( normalMatrix * normal );", +THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n"),fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}"},normalmap:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},enableReflection:{type:"i",value:0},enableDisplacement:{type:"i", +value:0},tDisplacement:{type:"t",value:null},tDiffuse:{type:"t",value:null},tCube:{type:"t",value:null},tNormal:{type:"t",value:null},tSpecular:{type:"t",value:null},tAO:{type:"t",value:null},uNormalScale:{type:"v2",value:new THREE.Vector2(1,1)},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",value:new THREE.Color(16777215)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(16777215)},uShininess:{type:"f", +value:30},uOpacity:{type:"f",value:1},useRefract:{type:"i",value:0},uRefractionRatio:{type:"f",value:0.98},uReflectivity:{type:"f",value:0.5},uOffset:{type:"v2",value:new THREE.Vector2(0,0)},uRepeat:{type:"v2",value:new THREE.Vector2(1,1)},wrapRGB:{type:"v3",value:new THREE.Vector3(1,1,1)}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform bool enableReflection;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform samplerCube tCube;\nuniform vec2 uNormalScale;\nuniform bool useRefract;\nuniform float uRefractionRatio;\nuniform float uReflectivity;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;", +THREE.ShaderChunk.shadowmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( vec3( 1.0 ), uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse ) {\n#ifdef GAMMA_INPUT\nvec4 texelColor = texture2D( tDiffuse, vUv );\ntexelColor.xyz *= texelColor.xyz;\ngl_FragColor = gl_FragColor * texelColor;\n#else\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\n#endif\n}\nif( enableAO ) {\n#ifdef GAMMA_INPUT\nvec4 aoColor = texture2D( tAO, vUv );\naoColor.xyz *= aoColor.xyz;\ngl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;\n#endif\n}\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );\nvec3 finalNormal = tsb * normalTex;\n#ifdef FLIP_SIDED\nfinalNormal = -finalNormal;\n#endif\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec3 pointDiffuse = vec3( 0.0 );\nvec3 pointSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 pointVector = lPosition.xyz + vViewPosition.xyz;\nfloat pointDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\npointDistance = 1.0 - min( ( length( pointVector ) / pointLightDistance[ i ] ), 1.0 );\npointVector = normalize( pointVector );\n#ifdef WRAP_AROUND\nfloat pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );\nfloat pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n#else\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\n#endif\npointDiffuse += pointDistance * pointLightColor[ i ] * uDiffuseColor * pointDiffuseWeight;\nvec3 pointHalfVector = normalize( pointVector + viewPosition );\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\nfloat pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;\n#else\npointSpecular += pointDistance * pointLightColor[ i ] * uSpecularColor * pointSpecularWeight * pointDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvec3 spotDiffuse = vec3( 0.0 );\nvec3 spotSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 spotVector = lPosition.xyz + vViewPosition.xyz;\nfloat spotDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nspotDistance = 1.0 - min( ( length( spotVector ) / spotLightDistance[ i ] ), 1.0 );\nspotVector = normalize( spotVector );\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\n#ifdef WRAP_AROUND\nfloat spotDiffuseWeightFull = max( dot( normal, spotVector ), 0.0 );\nfloat spotDiffuseWeightHalf = max( 0.5 * dot( normal, spotVector ) + 0.5, 0.0 );\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n#else\nfloat spotDiffuseWeight = max( dot( normal, spotVector ), 0.0 );\n#endif\nspotDiffuse += spotDistance * spotLightColor[ i ] * uDiffuseColor * spotDiffuseWeight * spotEffect;\nvec3 spotHalfVector = normalize( spotVector + viewPosition );\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\nfloat spotSpecularWeight = specularTex.r * max( pow( spotDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( spotVector, spotHalfVector ), 5.0 );\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * spotDistance * specularNormalization * spotEffect;\n#else\nspotSpecular += spotDistance * spotLightColor[ i ] * uSpecularColor * spotSpecularWeight * spotDiffuseWeight * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec3 dirDiffuse = vec3( 0.0 );\nvec3 dirSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\n#ifdef WRAP_AROUND\nfloat directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );\nfloat directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );\nvec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );\n#else\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\n#endif\ndirDiffuse += directionalLightColor[ i ] * uDiffuseColor * dirDiffuseWeight;\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\nfloat dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n#else\ndirSpecular += directionalLightColor[ i ] * uSpecularColor * dirSpecularWeight * dirDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nvec3 hemiDiffuse = vec3( 0.0 );\nvec3 hemiSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\nhemiDiffuse += uDiffuseColor * hemiColor;\nvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\nfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\nfloat hemiSpecularWeightSky = specularTex.r * max( pow( hemiDotNormalHalfSky, uShininess ), 0.0 );\nvec3 lVectorGround = -lVector;\nvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\nfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\nfloat hemiSpecularWeightGround = specularTex.r * max( pow( hemiDotNormalHalfGround, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat dotProductGround = dot( normal, lVectorGround );\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlickSky = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\nvec3 schlickGround = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\nhemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\n#else\nhemiSpecular += uSpecularColor * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;\n#endif\n}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\ntotalDiffuse += dirDiffuse;\ntotalSpecular += dirSpecular;\n#endif\n#if MAX_HEMI_LIGHTS > 0\ntotalDiffuse += hemiDiffuse;\ntotalSpecular += hemiSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalDiffuse += pointDiffuse;\ntotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\ntotalDiffuse += spotDiffuse;\ntotalSpecular += spotSpecular;\n#endif\n#ifdef METAL\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor + totalSpecular );\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor ) + totalSpecular;\n#endif\nif ( enableReflection ) {\nvec3 vReflect;\nvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\nif ( useRefract ) {\nvReflect = refract( cameraToVertex, normal, uRefractionRatio );\n} else {\nvReflect = reflect( cameraToVertex, normal );\n}\nvec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\n#ifdef GAMMA_INPUT\ncubeColor.xyz *= cubeColor.xyz;\n#endif\ngl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * uReflectivity );\n}", +THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.linear_to_gamma_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["attribute vec4 tangent;\nuniform vec2 uOffset;\nuniform vec2 uRepeat;\nuniform bool enableDisplacement;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;", +THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.skinnormal_vertex,"#ifdef USE_SKINNING\nvNormal = normalize( normalMatrix * skinnedNormal.xyz );\nvec4 skinnedTangent = skinMatrix * vec4( tangent.xyz, 0.0 );\nvTangent = normalize( normalMatrix * skinnedTangent.xyz );\n#else\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\n#endif\nvBinormal = normalize( cross( vNormal, vTangent ) * tangent.w );\nvUv = uv * uRepeat + uOffset;\nvec3 displacedPosition;\n#ifdef VERTEX_TEXTURES\nif ( enableDisplacement ) {\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\ndisplacedPosition = position + normalize( normal ) * df;\n} else {\n#ifdef USE_SKINNING\nvec4 skinVertex = vec4( position, 1.0 );\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\nskinned \t += boneMatY * skinVertex * skinWeight.y;\ndisplacedPosition = skinned.xyz;\n#else\ndisplacedPosition = position;\n#endif\n}\n#else\n#ifdef USE_SKINNING\nvec4 skinVertex = vec4( position, 1.0 );\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\nskinned \t += boneMatY * skinVertex * skinWeight.y;\ndisplacedPosition = skinned.xyz;\n#else\ndisplacedPosition = position;\n#endif\n#endif\nvec4 mvPosition = modelViewMatrix * vec4( displacedPosition, 1.0 );\nvec4 worldPosition = modelMatrix * vec4( displacedPosition, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\nvWorldPosition = worldPosition.xyz;\nvViewPosition = -mvPosition.xyz;\n#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\n}\n#endif\n}"].join("\n")}, +cube:{uniforms:{tCube:{type:"t",value:null},tFlip:{type:"f",value:-1}},vertexShader:"varying vec3 vWorldPosition;\nvoid main() {\nvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\nvWorldPosition = worldPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nuniform float tFlip;\nvarying vec3 vWorldPosition;\nvoid main() {\ngl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n}"}, +depthRGBA:{uniforms:{},vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,"void main() {",THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n"),fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}"}};THREE.WebGLRenderer=function(a){function b(a,b){var c=a.vertices.length,d=b.material;if(d.attributes){void 0===a.__webglCustomAttributesList&&(a.__webglCustomAttributesList=[]);for(var e in d.attributes){var f=d.attributes[e];if(!f.__webglInitialized||f.createUniqueBuffers){f.__webglInitialized=!0;var h=1;"v2"===f.type?h=2:"v3"===f.type?h=3:"v4"===f.type?h=4:"c"===f.type&&(h=3);f.size=h;f.array=new Float32Array(c*h);f.buffer=j.createBuffer();f.buffer.belongsToAttribute=e;f.needsUpdate=!0}a.__webglCustomAttributesList.push(f)}}} +function c(a,b){var c=b.geometry,h=a.faces3,g=3*h.length,i=1*h.length,k=3*h.length,h=d(b,a),m=f(h),l=e(h),p=h.vertexColors?h.vertexColors:!1;a.__vertexArray=new Float32Array(3*g);l&&(a.__normalArray=new Float32Array(3*g));c.hasTangents&&(a.__tangentArray=new Float32Array(4*g));p&&(a.__colorArray=new Float32Array(3*g));m&&(0l;l++)K.autoScaleCubemaps&&!f?(p=k,q=l,t=c.image[l],w=ac,t.width<=w&&t.height<=w||(v=Math.max(t.width,t.height),u=Math.floor(t.width*w/v),w=Math.floor(t.height*w/v),v=document.createElement("canvas"),v.width=u,v.height=w,v.getContext("2d").drawImage(t,0,0,t.width,t.height,0,0,u,w),t=v),p[q]=t):k[l]=c.image[l];l=k[0];p=0===(l.width&l.width-1)&&0===(l.height&l.height-1);q=x(c.format);t=x(c.type);D(j.TEXTURE_CUBE_MAP, +c,p);for(l=0;6>l;l++)if(f){w=k[l].mipmaps;v=0;for(z=w.length;v=Nb&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+Nb);P+=1;return a}function F(a,b,c,d){a[b]=c.r*c.r*d;a[b+1]=c.g*c.g*d;a[b+2]=c.b*c.b*d}function y(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function A(a){a!==xa&&(j.lineWidth(a),xa=a)}function z(a,b,c){Ea!==a&&(a?j.enable(j.POLYGON_OFFSET_FILL):j.disable(j.POLYGON_OFFSET_FILL),Ea=a); +if(a&&(Ta!==b||Pa!==c))j.polygonOffset(b,c),Ta=b,Pa=c}function O(a){for(var a=a.split("\n"),b=0,c=a.length;bb;b++)j.deleteFramebuffer(a.__webglFramebuffer[b]),j.deleteRenderbuffer(a.__webglRenderbuffer[b]); +else j.deleteFramebuffer(a.__webglFramebuffer),j.deleteRenderbuffer(a.__webglRenderbuffer);K.info.memory.textures--},Gb=function(a){a=a.target;a.removeEventListener("dispose",Gb);Hb(a)},Ib=function(a){void 0!==a.__webglVertexBuffer&&j.deleteBuffer(a.__webglVertexBuffer);void 0!==a.__webglNormalBuffer&&j.deleteBuffer(a.__webglNormalBuffer);void 0!==a.__webglTangentBuffer&&j.deleteBuffer(a.__webglTangentBuffer);void 0!==a.__webglColorBuffer&&j.deleteBuffer(a.__webglColorBuffer);void 0!==a.__webglUVBuffer&& +j.deleteBuffer(a.__webglUVBuffer);void 0!==a.__webglUV2Buffer&&j.deleteBuffer(a.__webglUV2Buffer);void 0!==a.__webglSkinIndicesBuffer&&j.deleteBuffer(a.__webglSkinIndicesBuffer);void 0!==a.__webglSkinWeightsBuffer&&j.deleteBuffer(a.__webglSkinWeightsBuffer);void 0!==a.__webglFaceBuffer&&j.deleteBuffer(a.__webglFaceBuffer);void 0!==a.__webglLineBuffer&&j.deleteBuffer(a.__webglLineBuffer);void 0!==a.__webglLineDistanceBuffer&&j.deleteBuffer(a.__webglLineDistanceBuffer);if(void 0!==a.__webglCustomAttributesList)for(var b in a.__webglCustomAttributesList)j.deleteBuffer(a.__webglCustomAttributesList[b].buffer); +K.info.memory.geometries--},Hb=function(a){var b=a.program;if(void 0!==b){a.program=void 0;var c,d,e=!1,a=0;for(c=da.length;ad.numSupportedMorphTargets?(l.sort(k),l.length=d.numSupportedMorphTargets):l.length>d.numSupportedMorphNormals?l.sort(k):0===l.length&&l.push([0,0]);for(m=0;mDa;Da++)Ga=Q[Da],vb[gb]=Ga.x,vb[gb+1]=Ga.y,vb[gb+2]=Ga.z,gb+=3;else for(Da=0;3>Da;Da++)vb[gb]=U.x,vb[gb+1]=U.y,vb[gb+2]=U.z,gb+=3;j.bindBuffer(j.ARRAY_BUFFER,x.__webglNormalBuffer);j.bufferData(j.ARRAY_BUFFER,vb,C)}if(zb&&Db&&N){D=0;for(I=aa.length;DDa;Da++)Fa=Aa[Da],cb[Na]=Fa.x,cb[Na+1]=Fa.y,Na+=2;0Da;Da++)La=$[Da],db[Oa]=La.x,db[Oa+1]=La.y,Oa+=2;0f;f++){a.__webglFramebuffer[f]=j.createFramebuffer();a.__webglRenderbuffer[f]=j.createRenderbuffer();j.texImage2D(j.TEXTURE_CUBE_MAP_POSITIVE_X+f,0,d,a.width,a.height,0,d,e,null);var h=a,g=j.TEXTURE_CUBE_MAP_POSITIVE_X+f;j.bindFramebuffer(j.FRAMEBUFFER,a.__webglFramebuffer[f]);j.framebufferTexture2D(j.FRAMEBUFFER,j.COLOR_ATTACHMENT0,g,h.__webglTexture,0);I(a.__webglRenderbuffer[f],a)}c&&j.generateMipmap(j.TEXTURE_CUBE_MAP)}else a.__webglFramebuffer=j.createFramebuffer(),a.__webglRenderbuffer= +a.shareDepthFrom?a.shareDepthFrom.__webglRenderbuffer:j.createRenderbuffer(),j.bindTexture(j.TEXTURE_2D,a.__webglTexture),D(j.TEXTURE_2D,a,c),j.texImage2D(j.TEXTURE_2D,0,d,a.width,a.height,0,d,e,null),d=j.TEXTURE_2D,j.bindFramebuffer(j.FRAMEBUFFER,a.__webglFramebuffer),j.framebufferTexture2D(j.FRAMEBUFFER,j.COLOR_ATTACHMENT0,d,a.__webglTexture,0),a.shareDepthFrom?a.depthBuffer&&!a.stencilBuffer?j.framebufferRenderbuffer(j.FRAMEBUFFER,j.DEPTH_ATTACHMENT,j.RENDERBUFFER,a.__webglRenderbuffer):a.depthBuffer&& +a.stencilBuffer&&j.framebufferRenderbuffer(j.FRAMEBUFFER,j.DEPTH_STENCIL_ATTACHMENT,j.RENDERBUFFER,a.__webglRenderbuffer):I(a.__webglRenderbuffer,a),c&&j.generateMipmap(j.TEXTURE_2D);b?j.bindTexture(j.TEXTURE_CUBE_MAP,null):j.bindTexture(j.TEXTURE_2D,null);j.bindRenderbuffer(j.RENDERBUFFER,null);j.bindFramebuffer(j.FRAMEBUFFER,null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=ob,a=pb,d=cb,e=db);b!==ba&&(j.bindFramebuffer(j.FRAMEBUFFER,b), +j.viewport(d,e,c,a),ba=b);qb=c;eb=a};this.shadowMapPlugin=new THREE.ShadowMapPlugin;this.addPrePlugin(this.shadowMapPlugin);this.addPostPlugin(new THREE.SpritePlugin);this.addPostPlugin(new THREE.LensFlarePlugin)};THREE.WebGLRenderTarget=function(a,b,c){this.width=a;this.height=b;c=c||{};this.wrapS=void 0!==c.wrapS?c.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=void 0!==c.wrapT?c.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=void 0!==c.magFilter?c.magFilter:THREE.LinearFilter;this.minFilter=void 0!==c.minFilter?c.minFilter:THREE.LinearMipMapLinearFilter;this.anisotropy=void 0!==c.anisotropy?c.anisotropy:1;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=void 0!==c.format?c.format: +THREE.RGBAFormat;this.type=void 0!==c.type?c.type:THREE.UnsignedByteType;this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.generateMipmaps=!0;this.shareDepthFrom=null}; +THREE.WebGLRenderTarget.prototype={constructor:THREE.WebGLRenderTarget,clone:function(){var a=new THREE.WebGLRenderTarget(this.width,this.height);a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.minFilter=this.minFilter;a.anisotropy=this.anisotropy;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.format=this.format;a.type=this.type;a.depthBuffer=this.depthBuffer;a.stencilBuffer=this.stencilBuffer;a.generateMipmaps=this.generateMipmaps;a.shareDepthFrom=this.shareDepthFrom; +return a},dispose:function(){this.dispatchEvent({type:"dispose"})}};THREE.EventDispatcher.prototype.apply(THREE.WebGLRenderTarget.prototype);THREE.WebGLRenderTargetCube=function(a,b,c){THREE.WebGLRenderTarget.call(this,a,b,c);this.activeCubeFace=0};THREE.WebGLRenderTargetCube.prototype=Object.create(THREE.WebGLRenderTarget.prototype);THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(a){this.positionWorld.copy(a.positionWorld);this.positionScreen.copy(a.positionScreen)};THREE.RenderableFace3=function(){this.id=0;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidModel=new THREE.Vector3;this.normalModel=new THREE.Vector3;this.normalModelView=new THREE.Vector3;this.vertexNormalsLength=0;this.vertexNormalsModel=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.vertexNormalsModelView=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.material=this.color=null;this.uvs=[[]];this.z= +0};THREE.RenderableObject=function(){this.id=0;this.object=null;this.z=0};THREE.RenderableParticle=function(){this.id=0;this.object=null;this.z=this.y=this.x=0;this.rotation=null;this.scale=new THREE.Vector2;this.material=null};THREE.RenderableLine=function(){this.id=0;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.vertexColors=[new THREE.Color,new THREE.Color];this.material=null;this.z=0};THREE.GeometryUtils={merge:function(a,b,c){var d,e,f=a.vertices.length,h=b instanceof THREE.Mesh?b.geometry:b,g=a.vertices,i=h.vertices,k=a.faces,m=h.faces,a=a.faceVertexUvs[0],h=h.faceVertexUvs[0];void 0===c&&(c=0);b instanceof THREE.Mesh&&(b.matrixAutoUpdate&&b.updateMatrix(),d=b.matrix,e=(new THREE.Matrix3).getNormalMatrix(d));for(var b=0,l=i.length;ba?b(c,e-1):k[e]>8&255,i>>16&255,i>>24&255)),d}d.mipmapCount=1;g[2]&131072&&!1!==b&&(d.mipmapCount=Math.max(1,g[7]));d.isCubemap=g[28]&512?!0:!1;d.width=g[4];d.height=g[3];for(var g=g[1]+4,f=d.width,h=d.height,i=d.isCubemap?6:1,m=0;ml-1?0:l-1,r=l+1>e-1?e-1:l+1,t=0>m-1?0:m-1,n=m+1>d-1?d-1:m+1,s=[],q=[0,0,g[4*(l*d+m)]/255*b];s.push([-1,0,g[4*(l*d+t)]/255*b]);s.push([-1,-1,g[4*(p*d+t)]/255*b]);s.push([0,-1,g[4*(p*d+m)]/255*b]);s.push([1,-1,g[4*(p*d+n)]/255*b]);s.push([1,0,g[4*(l*d+n)]/255*b]);s.push([1,1,g[4*(r*d+n)]/255*b]);s.push([0,1,g[4*(r*d+m)]/255*b]);s.push([-1,1,g[4*(r*d+t)]/255*b]);p=[];t=s.length;for(r=0;re)return null;var f=[],h=[],g=[],i,k,m;if(0=l--){console.log("Warning, unable to triangulate polygon!");break}i=k;e<=i&&(i=0);k=i+1;e<=k&&(k=0);m=k+1;e<=m&&(m=0);var p;a:{var r=p=void 0,t=void 0,n=void 0,s=void 0,q=void 0,u=void 0,w=void 0,E= +void 0,r=a[h[i]].x,t=a[h[i]].y,n=a[h[k]].x,s=a[h[k]].y,q=a[h[m]].x,u=a[h[m]].y;if(1E-10>(n-r)*(u-t)-(s-t)*(q-r))p=!1;else{var C=void 0,F=void 0,y=void 0,A=void 0,z=void 0,O=void 0,B=void 0,D=void 0,I=void 0,v=void 0,I=D=B=E=w=void 0,C=q-n,F=u-s,y=r-q,A=t-u,z=n-r,O=s-t;for(p=0;pi)h=d+1;else if(0b&&(b=0);1=b)return b=c[a]-b,a=this.curves[a],b=1-b/a.getLength(),a.getPointAt(b);a++}return null};THREE.CurvePath.prototype.getLength=function(){var a=this.getCurveLengths();return a[a.length-1]}; +THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var a=[],b=0,c,d=this.curves.length;for(c=0;cb?b=g.x:g.xc?c=g.y:g.yd?d=g.z:g.zMath.abs(d.x-c[0].x)&&1E-10>Math.abs(d.y-c[0].y)&&c.splice(c.length-1,1);b&&c.push(c[0]);return c}; +THREE.Path.prototype.toShapes=function(a){var b,c,d,e,f=[],h=new THREE.Path;b=0;for(c=this.actions.length;b +g&&(g+=c.length);g%=c.length;0>h&&(h+=k.length);h%=k.length;e=0<=g-1?g-1:c.length-1;f=0<=h-1?h-1:k.length-1;n=[k[h],c[g],c[e]];n=THREE.FontUtils.Triangulate.area(n);s=[k[h],k[f],c[g]];s=THREE.FontUtils.Triangulate.area(s);l+p>n+s&&(g=r,h=m,0>g&&(g+=c.length),g%=c.length,0>h&&(h+=k.length),h%=k.length,e=0<=g-1?g-1:c.length-1,f=0<=h-1?h-1:k.length-1);l=c.slice(0,g);p=c.slice(g);r=k.slice(h);m=k.slice(0,h);f=[k[h],k[f],c[g]];t.push([k[h],c[g],c[e]]);t.push(f);c=l.concat(r).concat(m).concat(p)}return{shape:c, +isolatedPts:t,allpoints:d}},triangulateShape:function(a,b){var c=THREE.Shape.Utils.removeHoles(a,b),d=c.allpoints,e=c.isolatedPts,c=THREE.FontUtils.Triangulate(c.shape,!1),f,h,g,i,k={};f=0;for(h=d.length;fd;d++)i=g[d].x+":"+g[d].y,i=k[i],void 0!==i&&(g[d]=i)}f=0;for(h=e.length;fd;d++)i=g[d].x+":"+g[d].y,i=k[i],void 0!==i&&(g[d]=i)}return c.concat(e)}, +isClockWise:function(a){return 0>THREE.FontUtils.Triangulate.area(a)},b2p0:function(a,b){var c=1-a;return c*c*b},b2p1:function(a,b){return 2*(1-a)*a*b},b2p2:function(a,b){return a*a*b},b2:function(a,b,c,d){return this.b2p0(a,b)+this.b2p1(a,c)+this.b2p2(a,d)},b3p0:function(a,b){var c=1-a;return c*c*c*b},b3p1:function(a,b){var c=1-a;return 3*c*c*a*b},b3p2:function(a,b){return 3*(1-a)*a*a*b},b3p3:function(a,b){return a*a*a*b},b3:function(a,b,c,d,e){return this.b3p0(a,b)+this.b3p1(a,c)+this.b3p2(a,d)+ +this.b3p3(a,e)}};THREE.LineCurve=function(a,b){this.v1=a;this.v2=b};THREE.LineCurve.prototype=Object.create(THREE.Curve.prototype);THREE.LineCurve.prototype.getPoint=function(a){var b=this.v2.clone().sub(this.v1);b.multiplyScalar(a).add(this.v1);return b};THREE.LineCurve.prototype.getPointAt=function(a){return this.getPoint(a)};THREE.LineCurve.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()};THREE.QuadraticBezierCurve=function(a,b,c){this.v0=a;this.v1=b;this.v2=c};THREE.QuadraticBezierCurve.prototype=Object.create(THREE.Curve.prototype);THREE.QuadraticBezierCurve.prototype.getPoint=function(a){var b;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);a=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(b,a)}; +THREE.QuadraticBezierCurve.prototype.getTangent=function(a){var b;b=THREE.Curve.Utils.tangentQuadraticBezier(a,this.v0.x,this.v1.x,this.v2.x);a=THREE.Curve.Utils.tangentQuadraticBezier(a,this.v0.y,this.v1.y,this.v2.y);b=new THREE.Vector2(b,a);b.normalize();return b};THREE.CubicBezierCurve=function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d};THREE.CubicBezierCurve.prototype=Object.create(THREE.Curve.prototype);THREE.CubicBezierCurve.prototype.getPoint=function(a){var b;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);a=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(b,a)}; +THREE.CubicBezierCurve.prototype.getTangent=function(a){var b;b=THREE.Curve.Utils.tangentCubicBezier(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);a=THREE.Curve.Utils.tangentCubicBezier(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);b=new THREE.Vector2(b,a);b.normalize();return b};THREE.SplineCurve=function(a){this.points=void 0==a?[]:a};THREE.SplineCurve.prototype=Object.create(THREE.Curve.prototype);THREE.SplineCurve.prototype.getPoint=function(a){var b=new THREE.Vector2,c=[],d=this.points,e;e=(d.length-1)*a;a=Math.floor(e);e-=a;c[0]=0==a?a:a-1;c[1]=a;c[2]=a>d.length-2?d.length-1:a+1;c[3]=a>d.length-3?d.length-1:a+2;b.x=THREE.Curve.Utils.interpolate(d[c[0]].x,d[c[1]].x,d[c[2]].x,d[c[3]].x,e);b.y=THREE.Curve.Utils.interpolate(d[c[0]].y,d[c[1]].y,d[c[2]].y,d[c[3]].y,e);return b};THREE.EllipseCurve=function(a,b,c,d,e,f,h){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=h};THREE.EllipseCurve.prototype=Object.create(THREE.Curve.prototype); +THREE.EllipseCurve.prototype.getPoint=function(a){var b;b=this.aEndAngle-this.aStartAngle;0>b&&(b+=2*Math.PI);b>2*Math.PI&&(b-=2*Math.PI);b=!0===this.aClockwise?this.aEndAngle+(1-a)*(2*Math.PI-b):this.aStartAngle+a*b;a=this.aX+this.xRadius*Math.cos(b);b=this.aY+this.yRadius*Math.sin(b);return new THREE.Vector2(a,b)};THREE.ArcCurve=function(a,b,c,d,e,f){THREE.EllipseCurve.call(this,a,b,c,c,d,e,f)};THREE.ArcCurve.prototype=Object.create(THREE.EllipseCurve.prototype);THREE.LineCurve3=THREE.Curve.create(function(a,b){this.v1=a;this.v2=b},function(a){var b=new THREE.Vector3;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b});THREE.QuadraticBezierCurve3=THREE.Curve.create(function(a,b,c){this.v0=a;this.v1=b;this.v2=c},function(a){var b,c;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);c=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);a=THREE.Shape.Utils.b2(a,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(b,c,a)});THREE.CubicBezierCurve3=THREE.Curve.create(function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d},function(a){var b,c;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);c=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);a=THREE.Shape.Utils.b3(a,this.v0.z,this.v1.z,this.v2.z,this.v3.z);return new THREE.Vector3(b,c,a)});THREE.SplineCurve3=THREE.Curve.create(function(a){this.points=void 0==a?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e,a=(d.length-1)*a;e=Math.floor(a);a-=e;c[0]=0==e?e:e-1;c[1]=e;c[2]=e>d.length-2?d.length-1:e+1;c[3]=e>d.length-3?d.length-1:e+2;e=d[c[0]];var f=d[c[1]],h=d[c[2]],c=d[c[3]];b.x=THREE.Curve.Utils.interpolate(e.x,f.x,h.x,c.x,a);b.y=THREE.Curve.Utils.interpolate(e.y,f.y,h.y,c.y,a);b.z=THREE.Curve.Utils.interpolate(e.z,f.z,h.z,c.z,a);return b});THREE.ClosedSplineCurve3=THREE.Curve.create(function(a){this.points=void 0==a?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e;e=(d.length-0)*a;a=Math.floor(e);e-=a;a+=0a.hierarchy[c].keys[d].time&& +(a.hierarchy[c].keys[d].time=0),void 0!==a.hierarchy[c].keys[d].rot&&!(a.hierarchy[c].keys[d].rot instanceof THREE.Quaternion)){var g=a.hierarchy[c].keys[d].rot;a.hierarchy[c].keys[d].rot=new THREE.Quaternion(g[0],g[1],g[2],g[3])}if(a.hierarchy[c].keys.length&&void 0!==a.hierarchy[c].keys[0].morphTargets){g={};for(d=0;dr;r++){c=b[r];h=i.prevKey[c];g=i.nextKey[c];if(g.time<=m){if(kd||1d?0:1;if("pos"===c)if(c=a.position,this.interpolationType===THREE.AnimationHandler.LINEAR)c.x=e[0]+(f[0]-e[0])*d,c.y=e[1]+(f[1]-e[1])*d,c.z=e[2]+ +(f[2]-e[2])*d;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)this.points[0]=this.getPrevKeyWith("pos",l,h.index-1).pos,this.points[1]=e,this.points[2]=f,this.points[3]=this.getNextKeyWith("pos",l,g.index+1).pos,d=0.33*d+0.33,e=this.interpolateCatmullRom(this.points,d),c.x=e[0],c.y=e[1],c.z=e[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD&&(d=this.interpolateCatmullRom(this.points,1.01*d), +this.target.set(d[0],d[1],d[2]),this.target.sub(c),this.target.y=0,this.target.normalize(),d=Math.atan2(this.target.x,this.target.z),a.rotation.set(0,d,0))}else"rot"===c?THREE.Quaternion.slerp(e,f,a.quaternion,d):"scl"===c&&(c=a.scale,c.x=e[0]+(f[0]-e[0])*d,c.y=e[1]+(f[1]-e[1])*d,c.z=e[2]+(f[2]-e[2])*d)}}}}; +THREE.Animation.prototype.interpolateCatmullRom=function(a,b){var c=[],d=[],e,f,h,g,i,k;e=(a.length-1)*b;f=Math.floor(e);e-=f;c[0]=0===f?f:f-1;c[1]=f;c[2]=f>a.length-2?f:f+1;c[3]=f>a.length-3?f:f+2;f=a[c[0]];g=a[c[1]];i=a[c[2]];k=a[c[3]];c=e*e;h=e*c;d[0]=this.interpolate(f[0],g[0],i[0],k[0],e,c,h);d[1]=this.interpolate(f[1],g[1],i[1],k[1],e,c,h);d[2]=this.interpolate(f[2],g[2],i[2],k[2],e,c,h);return d}; +THREE.Animation.prototype.interpolate=function(a,b,c,d,e,f,h){a=0.5*(c-a);d=0.5*(d-b);return(2*(b-c)+a+d)*h+(-3*(b-c)-2*a-d)*f+a*e+b};THREE.Animation.prototype.getNextKeyWith=function(a,b,c){for(var d=this.data.hierarchy[b].keys,c=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?c=h?b.interpolate(c,h):b.interpolate(c,c.time)}this.data.hierarchy[a].node.updateMatrix();d.matrixWorldNeedsUpdate=!0}}if(this.JITCompile&&void 0===f[0][e]){this.hierarchy[0].updateMatrixWorld(!0);for(a=0;ag?(b=Math.atan2(b.y-a.y,b.x-a.x),a=Math.atan2(c.y-a.y,c.x-a.x),b>a&&(a+=2*Math.PI),c=(b+a)/2,a=-Math.cos(c),c=-Math.sin(c),new THREE.Vector2(a,c)):d.multiplyScalar(g).add(h).sub(a).clone()}function e(c,d){var e,f;for(N=c.length;0<=--N;){e=N;f=N-1;0>f&&(f=c.length-1);for(var g=0,h=r+2*m, +g=0;gMath.abs(c-i)?[new THREE.Vector2(b,1-e),new THREE.Vector2(d,1-f),new THREE.Vector2(k,1-h),new THREE.Vector2(l,1-a)]:[new THREE.Vector2(c,1-e),new THREE.Vector2(i,1-f),new THREE.Vector2(m,1-h),new THREE.Vector2(p,1-a)]}};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2; +THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;THREE.ShapeGeometry=function(a,b){THREE.Geometry.call(this);!1===a instanceof Array&&(a=[a]);this.shapebb=a[a.length-1].getBoundingBox();this.addShapeList(a,b);this.computeCentroids();this.computeFaceNormals()};THREE.ShapeGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.ShapeGeometry.prototype.addShapeList=function(a,b){for(var c=0,d=a.length;cc&&1===a.x&&(a=new THREE.Vector2(a.x-1,a.y));0===b.x&&0===b.z&&(a=new THREE.Vector2(c/2/Math.PI+0.5,a.y));return a.clone()}THREE.Geometry.call(this);for(var c=c||1,d=d||0,g=this,i=0,k=a.length;ip&&(0.2>a&&(d[0].x+=1),0.2>b&&(d[1].x+=1),0.2>m&&(d[2].x+=1));i=0;for(k=this.vertices.length;ic.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();THREE.ArrowHelper.prototype.setLength=function(a){this.scale.set(a,a,a)}; +THREE.ArrowHelper.prototype.setColor=function(a){this.line.material.color.setHex(a);this.cone.material.color.setHex(a)};THREE.BoxHelper=function(a){var b=[new THREE.Vector3(1,1,1),new THREE.Vector3(-1,1,1),new THREE.Vector3(-1,-1,1),new THREE.Vector3(1,-1,1),new THREE.Vector3(1,1,-1),new THREE.Vector3(-1,1,-1),new THREE.Vector3(-1,-1,-1),new THREE.Vector3(1,-1,-1)];this.vertices=b;var c=new THREE.Geometry;c.vertices.push(b[0],b[1],b[1],b[2],b[2],b[3],b[3],b[0],b[4],b[5],b[5],b[6],b[6],b[7],b[7],b[4],b[0],b[4],b[1],b[5],b[2],b[6],b[3],b[7]);THREE.Line.call(this,c,new THREE.LineBasicMaterial({color:16776960}),THREE.LinePieces); +void 0!==a&&this.update(a)};THREE.BoxHelper.prototype=Object.create(THREE.Line.prototype); +THREE.BoxHelper.prototype.update=function(a){var b=a.geometry;null===b.boundingBox&&b.computeBoundingBox();var c=b.boundingBox.min,b=b.boundingBox.max,d=this.vertices;d[0].set(b.x,b.y,b.z);d[1].set(c.x,b.y,b.z);d[2].set(c.x,c.y,b.z);d[3].set(b.x,c.y,b.z);d[4].set(b.x,b.y,c.z);d[5].set(c.x,b.y,c.z);d[6].set(c.x,c.y,c.z);d[7].set(b.x,c.y,c.z);this.geometry.computeBoundingSphere();this.geometry.verticesNeedUpdate=!0;this.matrixAutoUpdate=!1;this.matrixWorld=a.matrixWorld};THREE.BoundingBoxHelper=function(a,b){var c=b||8947848;this.object=a;this.box=new THREE.Box3;THREE.Mesh.call(this,new THREE.CubeGeometry(1,1,1),new THREE.MeshBasicMaterial({color:c,wireframe:!0}))};THREE.BoundingBoxHelper.prototype=Object.create(THREE.Mesh.prototype);THREE.BoundingBoxHelper.prototype.update=function(){this.box.setFromObject(this.object);this.box.size(this.scale);this.box.center(this.position)};THREE.CameraHelper=function(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){d.vertices.push(new THREE.Vector3);d.colors.push(new THREE.Color(b));void 0===f[a]&&(f[a]=[]);f[a].push(d.vertices.length-1)}var d=new THREE.Geometry,e=new THREE.LineBasicMaterial({color:16777215,vertexColors:THREE.FaceColors}),f={};b("n1","n2",16755200);b("n2","n4",16755200);b("n4","n3",16755200);b("n3","n1",16755200);b("f1","f2",16755200);b("f2","f4",16755200);b("f4","f3",16755200);b("f3","f1",16755200);b("n1","f1",16755200); +b("n2","f2",16755200);b("n3","f3",16755200);b("n4","f4",16755200);b("p","n1",16711680);b("p","n2",16711680);b("p","n3",16711680);b("p","n4",16711680);b("u1","u2",43775);b("u2","u3",43775);b("u3","u1",43775);b("c","t",16777215);b("p","c",3355443);b("cn1","cn2",3355443);b("cn3","cn4",3355443);b("cf1","cf2",3355443);b("cf3","cf4",3355443);THREE.Line.call(this,d,e,THREE.LinePieces);this.camera=a;this.matrixWorld=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=f;this.update()}; +THREE.CameraHelper.prototype=Object.create(THREE.Line.prototype); +THREE.CameraHelper.prototype.update=function(){var a=new THREE.Vector3,b=new THREE.Camera,c=new THREE.Projector;return function(){function d(d,h,g,i){a.set(h,g,i);c.unprojectVector(a,b);d=e.pointMap[d];if(void 0!==d){h=0;for(g=d.length;hd;d++)c.faces[d].color=this.colors[4>d?0:1];d=new THREE.MeshBasicMaterial({vertexColors:THREE.FaceColors,wireframe:!0});this.lightSphere=new THREE.Mesh(c,d);this.add(this.lightSphere); +this.update()};THREE.HemisphereLightHelper.prototype=Object.create(THREE.Object3D.prototype);THREE.HemisphereLightHelper.prototype.dispose=function(){this.lightSphere.geometry.dispose();this.lightSphere.material.dispose()}; +THREE.HemisphereLightHelper.prototype.update=function(){var a=new THREE.Vector3;return function(){this.colors[0].copy(this.light.color).multiplyScalar(this.light.intensity);this.colors[1].copy(this.light.groundColor).multiplyScalar(this.light.intensity);this.lightSphere.lookAt(a.getPositionFromMatrix(this.light.matrixWorld).negate());this.lightSphere.geometry.colorsNeedUpdate=!0}}();THREE.PointLightHelper=function(a,b){this.light=a;this.light.updateMatrixWorld();var c=new THREE.SphereGeometry(b,4,2),d=new THREE.MeshBasicMaterial({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);THREE.Mesh.call(this,c,d);this.matrixWorld=this.light.matrixWorld;this.matrixAutoUpdate=!1};THREE.PointLightHelper.prototype=Object.create(THREE.Mesh.prototype);THREE.PointLightHelper.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()}; +THREE.PointLightHelper.prototype.update=function(){this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)};THREE.SpotLightHelper=function(a){THREE.Object3D.call(this);this.light=a;this.light.updateMatrixWorld();this.matrixWorld=a.matrixWorld;this.matrixAutoUpdate=!1;a=new THREE.CylinderGeometry(0,1,1,8,1,!0);a.applyMatrix((new THREE.Matrix4).makeTranslation(0,-0.5,0));a.applyMatrix((new THREE.Matrix4).makeRotationX(-Math.PI/2));var b=new THREE.MeshBasicMaterial({wireframe:!0,fog:!1});this.cone=new THREE.Mesh(a,b);this.add(this.cone);this.update()};THREE.SpotLightHelper.prototype=Object.create(THREE.Object3D.prototype); +THREE.SpotLightHelper.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};THREE.SpotLightHelper.prototype.update=function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(){var c=this.light.distance?this.light.distance:1E4,d=c*Math.tan(this.light.angle);this.cone.scale.set(d,d,c);a.getPositionFromMatrix(this.light.matrixWorld);b.getPositionFromMatrix(this.light.target.matrixWorld);this.cone.lookAt(b.sub(a));this.cone.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)}}();THREE.VertexNormalsHelper=function(a,b,c,d){this.object=a;this.size=b||1;for(var b=c||16711680,d=d||1,c=new THREE.Geometry,a=a.geometry.faces,e=0,f=a.length;el;l++){b[0]=m[e[l]];b[1]=m[e[(l+1)%3]];b.sort(d);var p=b.toString();void 0===c[p]&&(f.vertices.push(h[b[0]]),f.vertices.push(h[b[1]]),c[p]=!0)}THREE.Line.call(this,f,new THREE.LineBasicMaterial({color:16777215}),THREE.LinePieces);this.matrixAutoUpdate=!1;this.matrixWorld=a.matrixWorld}; +THREE.WireframeHelper.prototype=Object.create(THREE.Line.prototype);THREE.ImmediateRenderObject=function(){THREE.Object3D.call(this);this.render=function(){}};THREE.ImmediateRenderObject.prototype=Object.create(THREE.Object3D.prototype);THREE.LensFlare=function(a,b,c,d,e){THREE.Object3D.call(this);this.lensFlares=[];this.positionScreen=new THREE.Vector3;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)};THREE.LensFlare.prototype=Object.create(THREE.Object3D.prototype); +THREE.LensFlare.prototype.add=function(a,b,c,d,e,f){void 0===b&&(b=-1);void 0===c&&(c=0);void 0===f&&(f=1);void 0===e&&(e=new THREE.Color(16777215));void 0===d&&(d=THREE.NormalBlending);c=Math.min(c,Math.max(0,c));this.lensFlares.push({texture:a,size:b,distance:c,x:0,y:0,z:0,scale:1,rotation:1,opacity:f,color:e,blending:d})}; +THREE.LensFlare.prototype.updateLensFlares=function(){var a,b=this.lensFlares.length,c,d=2*-this.positionScreen.x,e=2*-this.positionScreen.y;for(a=0;ag.end&&(g.end=f);c||(c=i)}}for(i in d)g=d[i],this.createAnimation(i,g.start,g.end,a);this.firstAnimation=c}; +THREE.MorphBlendMesh.prototype.setAnimationDirectionForward=function(a){if(a=this.animationsMap[a])a.direction=1,a.directionBackwards=!1};THREE.MorphBlendMesh.prototype.setAnimationDirectionBackward=function(a){if(a=this.animationsMap[a])a.direction=-1,a.directionBackwards=!0};THREE.MorphBlendMesh.prototype.setAnimationFPS=function(a,b){var c=this.animationsMap[a];c&&(c.fps=b,c.duration=(c.end-c.start)/c.fps)}; +THREE.MorphBlendMesh.prototype.setAnimationDuration=function(a,b){var c=this.animationsMap[a];c&&(c.duration=b,c.fps=(c.end-c.start)/c.duration)};THREE.MorphBlendMesh.prototype.setAnimationWeight=function(a,b){var c=this.animationsMap[a];c&&(c.weight=b)};THREE.MorphBlendMesh.prototype.setAnimationTime=function(a,b){var c=this.animationsMap[a];c&&(c.time=b)};THREE.MorphBlendMesh.prototype.getAnimationTime=function(a){var b=0;if(a=this.animationsMap[a])b=a.time;return b}; +THREE.MorphBlendMesh.prototype.getAnimationDuration=function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};THREE.MorphBlendMesh.prototype.playAnimation=function(a){var b=this.animationsMap[a];b?(b.time=0,b.active=!0):console.warn("animation["+a+"] undefined")};THREE.MorphBlendMesh.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1}; +THREE.MorphBlendMesh.prototype.update=function(a){for(var b=0,c=this.animationsList.length;bd.duration||0>d.time)d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=!0),0>d.time&&(d.time=0,d.directionBackwards=!1)}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.startFrame+THREE.Math.clamp(Math.floor(d.time/e),0,d.length-1),h=d.weight; +f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*h,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);this.morphTargetInfluences[d.currentFrame]=e*h;this.morphTargetInfluences[d.lastFrame]=(1-e)*h}}};THREE.LensFlarePlugin=function(){function a(a,c){var d=b.createProgram(),e=b.createShader(b.FRAGMENT_SHADER),f=b.createShader(b.VERTEX_SHADER),g="precision "+c+" float;\n";b.shaderSource(e,g+a.fragmentShader);b.shaderSource(f,g+a.vertexShader);b.compileShader(e);b.compileShader(f);b.attachShader(d,e);b.attachShader(d,f);b.linkProgram(d);return d}var b,c,d,e,f,h,g,i,k,m,l,p,r;this.init=function(t){b=t.context;c=t;d=t.getPrecision();e=new Float32Array(16);f=new Uint16Array(6);t=0;e[t++]=-1;e[t++]=-1; +e[t++]=0;e[t++]=0;e[t++]=1;e[t++]=-1;e[t++]=1;e[t++]=0;e[t++]=1;e[t++]=1;e[t++]=1;e[t++]=1;e[t++]=-1;e[t++]=1;e[t++]=0;e[t++]=1;t=0;f[t++]=0;f[t++]=1;f[t++]=2;f[t++]=0;f[t++]=2;f[t++]=3;h=b.createBuffer();g=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,h);b.bufferData(b.ARRAY_BUFFER,e,b.STATIC_DRAW);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,g);b.bufferData(b.ELEMENT_ARRAY_BUFFER,f,b.STATIC_DRAW);i=b.createTexture();k=b.createTexture();b.bindTexture(b.TEXTURE_2D,i);b.texImage2D(b.TEXTURE_2D,0,b.RGB,16,16, +0,b.RGB,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);b.bindTexture(b.TEXTURE_2D,k);b.texImage2D(b.TEXTURE_2D,0,b.RGBA,16,16,0,b.RGBA,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE); +b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);0>=b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)?(m=!1,l=a(THREE.ShaderFlares.lensFlare,d)):(m=!0,l=a(THREE.ShaderFlares.lensFlareVertexTexture,d));p={};r={};p.vertex=b.getAttribLocation(l,"position");p.uv=b.getAttribLocation(l,"uv");r.renderType=b.getUniformLocation(l,"renderType");r.map=b.getUniformLocation(l,"map");r.occlusionMap=b.getUniformLocation(l,"occlusionMap");r.opacity= +b.getUniformLocation(l,"opacity");r.color=b.getUniformLocation(l,"color");r.scale=b.getUniformLocation(l,"scale");r.rotation=b.getUniformLocation(l,"rotation");r.screenPosition=b.getUniformLocation(l,"screenPosition")};this.render=function(a,d,e,f){var a=a.__webglFlares,u=a.length;if(u){var w=new THREE.Vector3,E=f/e,C=0.5*e,F=0.5*f,y=16/f,A=new THREE.Vector2(y*E,y),z=new THREE.Vector3(1,1,0),O=new THREE.Vector2(1,1),B=r,y=p;b.useProgram(l);b.enableVertexAttribArray(p.vertex);b.enableVertexAttribArray(p.uv); +b.uniform1i(B.occlusionMap,0);b.uniform1i(B.map,1);b.bindBuffer(b.ARRAY_BUFFER,h);b.vertexAttribPointer(y.vertex,2,b.FLOAT,!1,16,0);b.vertexAttribPointer(y.uv,2,b.FLOAT,!1,16,8);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,g);b.disable(b.CULL_FACE);b.depthMask(!1);var D,I,v,x,G;for(D=0;DA;A++)E[A]=new THREE.Vector3,u[A]=new THREE.Vector3;E=C.shadowCascadeNearZ[w];C=C.shadowCascadeFarZ[w];u[0].set(-1,-1,E);u[1].set(1,-1,E);u[2].set(-1, +1,E);u[3].set(1,1,E);u[4].set(-1,-1,C);u[5].set(1,-1,C);u[6].set(-1,1,C);u[7].set(1,1,C);y.originalCamera=p;u=new THREE.Gyroscope;u.position=n.shadowCascadeOffset;u.add(y);u.add(y.target);p.add(u);n.shadowCascadeArray[q]=y;console.log("Created virtualLight",y)}w=n;E=q;C=w.shadowCascadeArray[E];C.position.copy(w.position);C.target.position.copy(w.target.position);C.lookAt(C.target);C.shadowCameraVisible=w.shadowCameraVisible;C.shadowDarkness=w.shadowDarkness;C.shadowBias=w.shadowCascadeBias[E];u=w.shadowCascadeNearZ[E]; +w=w.shadowCascadeFarZ[E];C=C.pointsFrustum;C[0].z=u;C[1].z=u;C[2].z=u;C[3].z=u;C[4].z=w;C[5].z=w;C[6].z=w;C[7].z=w;F[s]=y;s++}else F[s]=n,s++;r=0;for(t=F.length;rw;w++)E=C[w],E.copy(u[w]),THREE.ShadowMapPlugin.__projector.unprojectVector(E,q),E.applyMatrix4(s.matrixWorldInverse),E.xk.x&&(k.x=E.x),E.yk.y&&(k.y=E.y),E.zk.z&& +(k.z=E.z);s.left=i.x;s.right=k.x;s.top=k.y;s.bottom=i.y;s.updateProjectionMatrix()}s=n.shadowMap;u=n.shadowMatrix;q=n.shadowCamera;q.position.getPositionFromMatrix(n.matrixWorld);m.getPositionFromMatrix(n.target.matrixWorld);q.lookAt(m);q.updateMatrixWorld();q.matrixWorldInverse.getInverse(q.matrixWorld);n.cameraHelper&&(n.cameraHelper.visible=n.shadowCameraVisible);n.shadowCameraVisible&&n.cameraHelper.update();u.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);u.multiply(q.projectionMatrix);u.multiply(q.matrixWorldInverse); +g.multiplyMatrices(q.projectionMatrix,q.matrixWorldInverse);h.setFromMatrix(g);b.setRenderTarget(s);b.clear();C=l.__webglObjects;n=0;for(s=C.length;n 0 ) {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat fogFactor = 0.0;\nif ( fogType == 1 ) {\nfogFactor = smoothstep( fogNear, fogFar, depth );\n} else {\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n}\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n}\n}"}}; diff --git a/map.js b/map.js index 7aea413..74f1f43 100644 --- a/map.js +++ b/map.js @@ -24,279 +24,159 @@ servers = [{ x:1350, y:8350, }]; -WorldMap = (function(map){ +function WorldMap(){ + var m = new Modal() + .title("World Map") + .content("
"); + // console.log(m); + var webglEl = m.$(".webgl"); + // var ctx=$c.getContext('2d'); + // var rot=0,rots=0; + // var d=$c.width=$c.height=450; + // var dragging=false; - var $ic=document.createElement("canvas"); - draw($ic.getContext("2d"),$ic.width=$ic.height=128,-3810.9999999999989); - worldMapIconURI = $ic.toDataURL("image/png"); + // m.mx=m.my=m.hover=null; - return function(){ - var m = new Modal() - .title("World Map") - .content(""), - $c=m.$("canvas"), - ctx=$c.getContext('2d'), - rot=0,rots=0, - d=$c.width=$c.height=450, - dragging=false; - - m.mx=m.my=m.hover=null; - - var iid = setInterval(function(){ - draw(ctx,d,rot+=rots*=!dragging*0.2+0.7,servers,m); - $c.style.cursor = m.hover?'url("cursors/pointer.png") 5 2, pointer':''; - },30); - - function weeeeeeeeeeeeeee(ev){ - var newmx = ev.clientX-$c.getBoundingClientRect().left; - rots+=dragging*(newmx-m.mx)*3; - m.mx=newmx; - m.my=ev.clientY-$c.getBoundingClientRect().top; - } - addEventListener("mousemove",weeeeeeeeeeeeeee,true); - $c.onmousedown=function(ev){ - if(m.hover){ - return! - new Modal() - .position(20+m.hover.cx+m.x,m.y+m.hover.cy+20) - .title("Server") - .content("
"+JSON.stringify(m.hover, null, "```.").replace(/["{}]|```./g,""));
-			}
-			document.documentElement.className="dragging-somewhere";
-			dragging=true;
-		};
-		addEventListener("mouseup",function(){
-			document.documentElement.className="";
-			dragging=false;
-		},true);
-		
-		return m;
-		
-	};
+	// var iid = setInterval(function(){
+	// 	draw(ctx,d,rot+=rots*=!dragging*0.2+0.7,servers,m);
+	// 	$c.style.cursor = m.hover?'url("cursors/pointer.png") 5 2, pointer':'';
+	// },30);
 	
-	function v3(x,y,d){return Math.cos(x/1500)>-0.2;}
-	function x3(x,y,d){return Math.sin(x/1500)*Math.sin(y/1900)*(d/2-5)+d/2;}
-	function y3(x,y,d){return Math.cos(y/1900+Math.PI)*(d/2-5)+d/2;}
-	//function x3(x,y,d,t){x+=t;return Math.sin((-x)/7200)*Math.sin(y/190+x/499)*(d/2-5)+d/2;}
-	//function y3(x,y,d,t){x+=t;return Math.cos(y/1900+Math.PI)*(d/2-5)+d/2;}
+	// function weeeeeeeeeeeeeee(ev){
+	// 	var newmx = ev.clientX-$c.getBoundingClientRect().left;
+	// 	rots+=dragging*(newmx-m.mx)*3;
+	// 	m.mx=newmx;
+	// 	m.my=ev.clientY-$c.getBoundingClientRect().top;
+	// }
+	// addEventListener("mousemove",weeeeeeeeeeeeeee,true);
+	// $c.onmousedown=function(ev){
+	// 	if(m.hover){
+	// 		return!
+	// 			new Modal()
+	// 			.position(20+m.hover.cx+m.x,m.y+m.hover.cy+20)
+	// 			.title("Server")
+	// 			.content("
"+JSON.stringify(m.hover, null, "```.").replace(/["{}]|```./g,""));
+	// 	}
+	// 	document.documentElement.className="dragging-somewhere";
+	// 	dragging=true;
+	// };
+	// addEventListener("mouseup",function(){
+	// 	document.documentElement.className="";
+	// 	dragging=false;
+	// },true);
 	
-	function drawCountry(ctx,d,rot, country){
-		ctx.beginPath();
-		// loop through paths
-		var vis=0;
-		for(var iPath=0; iPath=x && y1>=y && x1<=x+w && y1<=y+h);
 }
+// @TODO: this should be a constructor
 openTerminalIfUsed = {
 	log: function(str){
 		//if(!this.m)
@@ -478,11 +475,10 @@ addEventListener("keydown",function(e){
 	if(e.altKey && e.keyCode==84){
 		new Terminal().position("center");
 		e.preventDefault();
-		return false;
 	}
 },true);
 addEventListener('contextmenu', function(e){
-	e.preventDefault();return!1;
+	e.preventDefault();
 }, true);