Mr.doob vor 13 Jahren
Ursprung
Commit
7a889cce44
1 geänderte Dateien mit 5 neuen und 5 gelöschten Zeilen
  1. 5 5
      build/three.min.js

+ 5 - 5
build/three.min.js

@@ -274,10 +274,10 @@ t(o.color);else if(o instanceof THREE.MeshBasicMaterial||o instanceof THREE.Mesh
 a.elements[1]+Da.y*a.elements[5]+Da.z*a.elements[9])*0.5+0.5;Da.copy(k.vertexNormalsWorld[h]);Oa=(Da.x*a.elements[0]+Da.y*a.elements[4]+Da.z*a.elements[8])*0.5+0.5;Ya=(Da.x*a.elements[1]+Da.y*a.elements[5]+Da.z*a.elements[9])*0.5+0.5;Da.copy(k.vertexNormalsWorld[i]);wb=(Da.x*a.elements[0]+Da.y*a.elements[4]+Da.z*a.elements[8])*0.5+0.5;xb=(Da.x*a.elements[1]+Da.y*a.elements[5]+Da.z*a.elements[9])*0.5+0.5;u(F,J,I,K,V,Y,ja,pb,Oa,Ya,wb,xb,o.envMap)}}else o.wireframe===true?s(o.color,o.wireframeLinewidth,
 o.wireframeLinecap,o.wireframeLinejoin):t(o.color);else if(o instanceof THREE.MeshDepthMaterial){ua=l.near;Ca=l.far;ga.r=ga.g=ga.b=1-fc(a.positionScreen.z,ua,Ca);N.r=N.g=N.b=1-fc(d.positionScreen.z,ua,Ca);U.r=U.g=U.b=1-fc(f.positionScreen.z,ua,Ca);ia.r=(N.r+U.r)*0.5;ia.g=(N.g+U.g)*0.5;ia.b=(N.b+U.b)*0.5;Ja=va(ga,N,U,ia);w(F,J,I,K,V,Y,0,0,1,0,0,1,Ja)}else if(o instanceof THREE.MeshNormalMaterial){da.r=jc(k.normalWorld.x);da.g=jc(k.normalWorld.y);da.b=jc(k.normalWorld.z);o.wireframe===true?s(da,o.wireframeLinewidth,
 o.wireframeLinecap,o.wireframeLinejoin):t(da)}}function m(a,b,c,d,f,e){o.beginPath();o.moveTo(a,b);o.lineTo(c,d);o.lineTo(f,e);o.closePath()}function r(a,b,c,d,f,e,g,h){o.beginPath();o.moveTo(a,b);o.lineTo(c,d);o.lineTo(f,e);o.lineTo(g,h);o.closePath()}function s(a,b,c,f){if(v!==b)v=o.lineWidth=b;if(A!==c)A=o.lineCap=c;if(E!==f)E=o.lineJoin=f;d(a.getContextStyle());o.stroke();xa.inflate(b*2)}function t(a){f(a.getContextStyle());o.fill()}function u(a,b,c,d,e,g,h,i,l,j,k,n,m){if(!(m instanceof THREE.DataTexture||
-m.image===void 0||m.image.width==0)){if(m.needsUpdate===true||Ia[m.id]===void 0){var va=m.wrapS==THREE.RepeatWrapping,p=m.wrapT==THREE.RepeatWrapping;Ia[m.id]=o.createPattern(m.image,va===true&&p===true?"repeat":va===true&&p===false?"repeat-x":va===false&&p===true?"repeat-y":"no-repeat");m.needsUpdate=false}f(Ia[m.id]);var va=m.offset.x/m.repeat.x,p=m.offset.y/m.repeat.y,q=m.image.width*m.repeat.x,sb=m.image.height*m.repeat.y,h=(h+va)*q,i=(1-i+p)*sb,c=c-a,d=d-b,e=e-a,g=g-b,l=(l+va)*q-h,j=(1-j+p)*
-sb-i,k=(k+va)*q-h,n=(1-n+p)*sb-i,va=l*n-k*j;if(va===0){if(pa[m.id]===void 0){b=document.createElement("canvas");b.width=m.image.width;b.height=m.image.height;b=b.getContext("2d");b.drawImage(m.image,0,0);pa[m.id]=b.getImageData(0,0,m.image.width,m.image.height).data}b=pa[m.id];h=(Math.floor(h)+Math.floor(i)*m.image.width)*4;da.setRGB(b[h]/255,b[h+1]/255,b[h+2]/255);t(da)}else{va=1/va;m=(n*c-j*e)*va;j=(n*d-j*g)*va;c=(l*e-k*c)*va;d=(l*g-k*d)*va;a=a-m*h-c*i;h=b-j*h-d*i;o.save();o.transform(m,j,c,d,a,
-h);o.fill();o.restore()}}}function w(a,b,c,d,f,e,g,h,i,l,j,k,m){var n,va;n=m.width-1;va=m.height-1;g=g*n;h=h*va;c=c-a;d=d-b;f=f-a;e=e-b;i=i*n-g;l=l*va-h;j=j*n-g;k=k*va-h;va=1/(i*k-j*l);n=(k*c-l*f)*va;l=(k*d-l*e)*va;c=(i*f-j*c)*va;d=(i*e-j*d)*va;a=a-n*g-c*h;b=b-l*g-d*h;o.save();o.transform(n,l,c,d,a,b);o.clip();o.drawImage(m,0,0);o.restore()}function va(a,b,c,d){Pa[0]=a.r*255|0;Pa[1]=a.g*255|0;Pa[2]=a.b*255|0;Pa[4]=b.r*255|0;Pa[5]=b.g*255|0;Pa[6]=b.b*255|0;Pa[8]=c.r*255|0;Pa[9]=c.g*255|0;Pa[10]=c.b*
-255|0;Pa[12]=d.r*255|0;Pa[13]=d.g*255|0;Pa[14]=d.b*255|0;bb.putImageData(gb,0,0);hb.drawImage(ab,0,0);return Qa}function fc(a,b,c){a=(a-b)/(c-b);return a*a*(3-2*a)}function jc(a){a=(a+1)*0.5;return a<0?0:a>1?1:a}function sb(a,b){var c=b.x-a.x,d=b.y-a.y,f=c*c+d*d;if(f!==0){f=1/Math.sqrt(f);c=c*f;d=d*f;b.x=b.x+c;b.y=b.y+d;a.x=a.x-c;a.y=a.y-d}}if(l instanceof THREE.Camera===false)console.error("THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.");else{var Vb,Ec,B,X;this.autoClear===
+m.image===void 0||m.image.width==0)){if(m.needsUpdate===true){var va=m.wrapS==THREE.RepeatWrapping,p=m.wrapT==THREE.RepeatWrapping;Ia[m.id]=o.createPattern(m.image,va===true&&p===true?"repeat":va===true&&p===false?"repeat-x":va===false&&p===true?"repeat-y":"no-repeat");m.needsUpdate=false}Ia[m.id]===void 0?f("rgba(0,0,0,1)"):f(Ia[m.id]);var va=m.offset.x/m.repeat.x,p=m.offset.y/m.repeat.y,q=m.image.width*m.repeat.x,sb=m.image.height*m.repeat.y,h=(h+va)*q,i=(1-i+p)*sb,c=c-a,d=d-b,e=e-a,g=g-b,l=(l+
+va)*q-h,j=(1-j+p)*sb-i,k=(k+va)*q-h,n=(1-n+p)*sb-i,va=l*n-k*j;if(va===0){if(pa[m.id]===void 0){b=document.createElement("canvas");b.width=m.image.width;b.height=m.image.height;b=b.getContext("2d");b.drawImage(m.image,0,0);pa[m.id]=b.getImageData(0,0,m.image.width,m.image.height).data}b=pa[m.id];h=(Math.floor(h)+Math.floor(i)*m.image.width)*4;da.setRGB(b[h]/255,b[h+1]/255,b[h+2]/255);t(da)}else{va=1/va;m=(n*c-j*e)*va;j=(n*d-j*g)*va;c=(l*e-k*c)*va;d=(l*g-k*d)*va;a=a-m*h-c*i;h=b-j*h-d*i;o.save();o.transform(m,
+j,c,d,a,h);o.fill();o.restore()}}}function w(a,b,c,d,f,e,g,h,i,l,j,k,m){var n,va;n=m.width-1;va=m.height-1;g=g*n;h=h*va;c=c-a;d=d-b;f=f-a;e=e-b;i=i*n-g;l=l*va-h;j=j*n-g;k=k*va-h;va=1/(i*k-j*l);n=(k*c-l*f)*va;l=(k*d-l*e)*va;c=(i*f-j*c)*va;d=(i*e-j*d)*va;a=a-n*g-c*h;b=b-l*g-d*h;o.save();o.transform(n,l,c,d,a,b);o.clip();o.drawImage(m,0,0);o.restore()}function va(a,b,c,d){Pa[0]=a.r*255|0;Pa[1]=a.g*255|0;Pa[2]=a.b*255|0;Pa[4]=b.r*255|0;Pa[5]=b.g*255|0;Pa[6]=b.b*255|0;Pa[8]=c.r*255|0;Pa[9]=c.g*255|0;Pa[10]=
+c.b*255|0;Pa[12]=d.r*255|0;Pa[13]=d.g*255|0;Pa[14]=d.b*255|0;bb.putImageData(gb,0,0);hb.drawImage(ab,0,0);return Qa}function fc(a,b,c){a=(a-b)/(c-b);return a*a*(3-2*a)}function jc(a){a=(a+1)*0.5;return a<0?0:a>1?1:a}function sb(a,b){var c=b.x-a.x,d=b.y-a.y,f=c*c+d*d;if(f!==0){f=1/Math.sqrt(f);c=c*f;d=d*f;b.x=b.x+c;b.y=b.y+d;a.x=a.x-c;a.y=a.y-d}}if(l instanceof THREE.Camera===false)console.error("THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.");else{var Vb,Ec,B,X;this.autoClear===
 true?this.clear():o.setTransform(1,0,0,-1,q,p);e.info.render.vertices=0;e.info.render.faces=0;g=k.projectScene(a,l,this.sortObjects,this.sortElements);h=g.elements;i=g.lights;qb=i.length>0;if(qb===true){Ga.setRGB(0,0,0);$a.setRGB(0,0,0);rb.setRGB(0,0,0);Vb=0;for(Ec=i.length;Vb<Ec;Vb++){X=i[Vb];var ca=X.color;if(X instanceof THREE.AmbientLight){Ga.r=Ga.r+ca.r;Ga.g=Ga.g+ca.g;Ga.b=Ga.b+ca.b}else if(X instanceof THREE.DirectionalLight){$a.r=$a.r+ca.r;$a.g=$a.g+ca.g;$a.b=$a.b+ca.b}else if(X instanceof
 THREE.PointLight){rb.r=rb.r+ca.r;rb.g=rb.g+ca.g;rb.b=rb.b+ca.b}}}Vb=0;for(Ec=h.length;Vb<Ec;Vb++){B=h[Vb];X=B.material;if(!(X===void 0||X.visible===false)){xa.empty();if(B instanceof THREE.RenderableParticle){z=B;z.x=z.x*q;z.y=z.y*p;var ca=z,oa=B;b(X.opacity);c(X.blending);var Ea=void 0,tb=void 0,jb=void 0,kb=void 0,Wb=void 0,Tc=B=void 0;if(X instanceof THREE.ParticleBasicMaterial)if(X.map===null){jb=oa.object.scale.x;kb=oa.object.scale.y;jb=jb*oa.scale.x*q;kb=kb*oa.scale.y*p;xa.set(ca.x-jb,ca.y-
 kb,ca.x+jb,ca.y+kb);if(fb.intersects(xa)!==false){f(X.color.getContextStyle());o.save();o.translate(ca.x,ca.y);o.rotate(-oa.rotation);o.scale(jb,kb);o.fillRect(-1,-1,2,2);o.restore()}}else{Wb=X.map.image;B=Wb.width>>1;Tc=Wb.height>>1;jb=oa.scale.x*q;kb=oa.scale.y*p;Ea=jb*B;tb=kb*Tc;xa.set(ca.x-Ea,ca.y-tb,ca.x+Ea,ca.y+tb);if(fb.intersects(xa)!==false){o.save();o.translate(ca.x,ca.y);o.rotate(-oa.rotation);o.scale(jb,-kb);o.translate(-B,-Tc);o.drawImage(Wb,0,0);o.restore()}}else if(X instanceof THREE.ParticleCanvasMaterial){Ea=
@@ -629,7 +629,7 @@ this.target,c=this.object.position;b.x=c.x+100*Math.sin(this.phi)*Math.cos(this.
 0,Math.PI,this.verticalMin,this.verticalMax);b=this.target;c=this.object.position;b.x=c.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=c.y+100*Math.cos(this.phi);b.z=c.z+100*Math.sin(this.phi)*Math.sin(this.theta);this.object.lookAt(b)}};this.domElement.addEventListener("contextmenu",function(a){a.preventDefault()},false);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),false);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),false);this.domElement.addEventListener("mouseup",
 c(this,this.onMouseUp),false);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),false);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),false);this.handleResize()};
 THREE.PathControls=function(a,b){function c(a){return(a=a*2)<1?0.5*a*a:-0.5*(--a*(a-2)-1)}function d(a,b){return function(){b.apply(a,arguments)}}function f(a,b,c,d){var f={name:c,fps:0.6,length:d,hierarchy:[]},e,g=b.getControlPointsArray(),h=b.getLength(),r=g.length,t=0;e=r-1;b={parent:-1,keys:[]};b.keys[0]={time:0,pos:g[0],rot:[0,0,0,1],scl:[1,1,1]};b.keys[e]={time:d,pos:g[e],rot:[0,0,0,1],scl:[1,1,1]};for(e=1;e<r-1;e++){t=d*h.chunks[e]/h.total;b.keys[e]={time:t,pos:g[e]}}f.hierarchy[0]=b;THREE.AnimationHandler.add(f);
-return new THREE.Animation(a,c,THREE.AnimationHandler.CATMULLROM_FORWARD,false)}function e(a,b){var c,d,e=new THREE.Geometry;for(c=0;c<a.points.length*b;c++){d=c/(a.points.length*b);d=a.getPoint(d);e.vertices[c]=new THREE.Vector3(d.x,d.y,d.z)}return e}this.object=a;this.domElement=b!==void 0?b:document;this.id="PathControls"+THREE.PathControlsIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=true;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;
+return new THREE.Animation(a,c,THREE.AnimationHandler.CATMULLROM_FORWARD,false)}function e(a,b){var c,d,f=new THREE.Geometry;for(c=0;c<a.points.length*b;c++){d=c/(a.points.length*b);d=a.getPoint(d);f.vertices[c]=new THREE.Vector3(d.x,d.y,d.z)}return f}this.object=a;this.domElement=b!==void 0?b:document;this.id="PathControls"+THREE.PathControlsIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=true;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;
 this.animationParent=new THREE.Object3D;this.lookSpeed=0.005;this.lookHorizontal=this.lookVertical=true;this.verticalAngleMap={srcRange:[0,2*Math.PI],dstRange:[0,2*Math.PI]};this.horizontalAngleMap={srcRange:[0,2*Math.PI],dstRange:[0,2*Math.PI]};this.target=new THREE.Object3D;this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=0;var g=Math.PI*2,h=Math.PI/180;this.viewHalfY=this.viewHalfX=0;this.domElement!==document&&this.domElement.setAttribute("tabindex",-1);this.handleResize=function(){if(this.domElement===
 document){this.viewHalfX=window.innerWidth/2;this.viewHalfY=window.innerHeight/2}else{this.viewHalfX=this.domElement.offsetWidth/2;this.viewHalfY=this.domElement.offsetHeight/2}};this.update=function(a){var b;if(this.lookHorizontal)this.lon=this.lon+this.mouseX*this.lookSpeed*a;if(this.lookVertical)this.lat=this.lat-this.mouseY*this.lookSpeed*a;this.lon=Math.max(0,Math.min(360,this.lon));this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*h;this.theta=this.lon*h;a=this.phi%g;this.phi=
 a>=0?a:a+g;b=this.verticalAngleMap.srcRange;a=this.verticalAngleMap.dstRange;b=THREE.Math.mapLinear(this.phi,b[0],b[1],a[0],a[1]);var d=a[1]-a[0];this.phi=c((b-a[0])/d)*d+a[0];b=this.horizontalAngleMap.srcRange;a=this.horizontalAngleMap.dstRange;b=THREE.Math.mapLinear(this.theta,b[0],b[1],a[0],a[1]);d=a[1]-a[0];this.theta=c((b-a[0])/d)*d+a[0];a=this.target.position;a.x=100*Math.sin(this.phi)*Math.cos(this.theta);a.y=100*Math.cos(this.phi);a.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.object.lookAt(this.target.position)};