提交 8bbd61b1 编写于 作者: M Mr.doob

Using xhr.addEventListener instead of xhr.onreadystatechange. Changed...

Using xhr.addEventListener instead of xhr.onreadystatechange. Changed 'complete' event to 'load' as native JavaScript.
上级 c50d6e16
......@@ -138,8 +138,8 @@ D(a,B+20+16);n=D(a,B+20+20);q=D(a,B+20+24);u=D(a,B+20+28);t=D(a,B+20+32);y=D(a,B
127,e/127,f/127)}}return m*3*Int8Array.BYTES_PER_ELEMENT}(B);B=B+x(m*3);B=B+function(b){if(p){var b=new Float32Array(a,b,p*2),c,d,e;for(c=0;c<p;c++){d=b[c*2];e=b[c*2+1];Q.push(d,e)}}return p*2*Float32Array.BYTES_PER_ELEMENT}(B);C=B+C+x(b*2);i=C+i+x(r*2);e=i+e+x(n*2);l=e+l+x(q*2);c=l+c+x(u*2);j=c+j+x(t*2);k=j+k+x(y*2);(function(a){if(n){var b=a+n*Uint32Array.BYTES_PER_ELEMENT*3;H(n,a,b+n*Uint32Array.BYTES_PER_ELEMENT*3);A(n,b)}})(i);(function(a){if(q){var b=a+q*Uint32Array.BYTES_PER_ELEMENT*3,c=b+
q*Uint32Array.BYTES_PER_ELEMENT*3;M(q,a,b,c+q*Uint32Array.BYTES_PER_ELEMENT*3);A(q,c)}})(e);(function(a){if(y){var b=a+y*Uint32Array.BYTES_PER_ELEMENT*4;I(y,a,b+y*Uint32Array.BYTES_PER_ELEMENT*4);v(y,b)}})(j);(function(a){if(s){var b=a+s*Uint32Array.BYTES_PER_ELEMENT*4,c=b+s*Uint32Array.BYTES_PER_ELEMENT*4;R(s,a,b,c+s*Uint32Array.BYTES_PER_ELEMENT*4);v(s,c)}})(k);b&&H(b,B,B+b*Uint32Array.BYTES_PER_ELEMENT*3);(function(a){if(r){var b=a+r*Uint32Array.BYTES_PER_ELEMENT*3;M(r,a,b,b+r*Uint32Array.BYTES_PER_ELEMENT*
3)}})(C);u&&I(u,l,l+u*Uint32Array.BYTES_PER_ELEMENT*4);(function(a){if(t){var b=a+t*Uint32Array.BYTES_PER_ELEMENT*4;R(t,a,b,b+t*Uint32Array.BYTES_PER_ELEMENT*4)}})(c);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};e.prototype=new THREE.Geometry;e.prototype.constructor=e;b(new e(c))};THREE.ImageLoader=function(){THREE.EventTarget.call(this)};
THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,crossOrigin:"anonymous",load:function(a){var b=this,c=new Image;c.addEventListener("load",function(){b.dispatchEvent({type:"complete",content:c})},false);c.addEventListener("error",function(){b.dispatchEvent({type:"error"})},false);c.crossOrigin=this.crossOrigin;c.src=a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a)};THREE.JSONLoader.prototype=new THREE.Loader;THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;
THREE.JSONLoader.prototype.load=function(a,b,c){c=c?c:this.extractUrlBase(a);this.onLoadStart();this.loadAjaxJSON(this,a,b,c)};
THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,crossOrigin:"anonymous",load:function(a){var b=this,c=new Image;c.addEventListener("load",function(){b.dispatchEvent({type:"load",content:c})},false);c.addEventListener("error",function(){b.dispatchEvent({type:"error",message:"Couldn't load URL ["+a+"]"})},false);c.crossOrigin=this.crossOrigin;c.src=a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a)};THREE.JSONLoader.prototype=new THREE.Loader;
THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.load=function(a,b,c){c=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,g=0;f.onreadystatechange=function(){if(f.readyState===f.DONE)if(f.status===200||f.status===0){if(f.responseText){var h=JSON.parse(f.responseText);a.createModel(h,c,d)}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 if(f.readyState===f.LOADING){if(e){g===0&&(g=f.getResponseHeader("Content-Length"));
e({total:g,loaded:f.responseText.length})}}else f.readyState===f.HEADERS_RECEIVED&&(g=f.getResponseHeader("Content-Length"))};f.open("GET",b,true);f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined");f.setRequestHeader("Content-Type","text/plain");f.send(null)};
THREE.JSONLoader.prototype.createModel=function(a,b,c){var d=new THREE.Geometry,e=a.scale!==void 0?1/a.scale:1;this.initMaterials(d,a.materials,c);(function(b){var c,e,j,k,l,o,m,p,r,n,q,u,t,y,s=a.faces;o=a.vertices;var x=a.normals,E=a.colors,D=0;for(c=0;c<a.uvs.length;c++)a.uvs[c].length&&D++;for(c=0;c<D;c++){d.faceUvs[c]=[];d.faceVertexUvs[c]=[]}k=0;for(l=o.length;k<l;){m=new THREE.Vector3;m.x=o[k++]*b;m.y=o[k++]*b;m.z=o[k++]*b;d.vertices.push(m)}k=0;for(l=s.length;k<l;){b=s[k++];o=b&1;j=b&2;c=b&
......@@ -444,7 +444,7 @@ y.vertexNormals[2].copy(g);s.vertexNormals[0].copy(f);s.vertexNormals[3].copy(g)
f.lerpSelf(e.vertexNormals[2],0.5);g=e.vertexNormals[3].clone();g.lerpSelf(e.vertexNormals[0],0.5);y.vertexNormals[2].copy(f);y.vertexNormals[3].copy(g);s.vertexNormals[0].copy(g);s.vertexNormals[1].copy(f)}if(e.vertexColors.length===4){f=e.vertexColors[1].clone();f.lerpSelf(e.vertexColors[2],0.5);g=e.vertexColors[3].clone();g.lerpSelf(e.vertexColors[0],0.5);y.vertexColors[2].copy(f);y.vertexColors[3].copy(g);s.vertexColors[0].copy(g);s.vertexColors[1].copy(f)}e=1}x.push(y,s);a.vertices.push(p,l);
f=0;for(g=a.faceVertexUvs.length;f<g;f++)if(a.faceVertexUvs[f].length){k=a.faceVertexUvs[f][c];s=k[0];h=k[1];y=k[2];k=k[3];if(e===0){l=s.clone();l.lerpSelf(h,0.5);o=y.clone();o.lerpSelf(k,0.5);s=[s.clone(),l.clone(),o.clone(),k.clone()];h=[l.clone(),h.clone(),y.clone(),o.clone()]}else{l=h.clone();l.lerpSelf(y,0.5);o=k.clone();o.lerpSelf(s,0.5);s=[s.clone(),h.clone(),l.clone(),o.clone()];h=[o.clone(),l.clone(),y.clone(),k.clone()]}E[f].push(s,h)}}else{x.push(e);f=0;for(g=a.faceVertexUvs.length;f<g;f++)E[f].push(a.faceVertexUvs[f][c])}}}a.faces=
x;a.faceVertexUvs=E}};THREE.GeometryUtils.random=THREE.Math.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
THREE.ImageUtils={crossOrigin:"anonymous",loadTexture:function(a,b,c){var d=new THREE.Texture(void 0,b),b=new THREE.ImageLoader;b.crossOrigin=this.crossOrigin;b.addEventListener("complete",function(a){d.image=a.content;d.needsUpdate=true;c&&c(this)});b.load(a);return d},loadTextureCube:function(a,b,c){var d,e=[],f=new THREE.Texture(e,b),b=e.loadCount=0;for(d=a.length;b<d;++b){e[b]=new Image;e[b].onload=function(){e.loadCount=e.loadCount+1;if(e.loadCount===6)f.needsUpdate=true;c&&c(this)};e[b].crossOrigin=
THREE.ImageUtils={crossOrigin:"anonymous",loadTexture:function(a,b,c){var d=new THREE.Texture(void 0,b),b=new THREE.ImageLoader;b.addEventListener("load",function(a){d.image=a.content;d.needsUpdate=true;c&&c(this)});b.crossOrigin=this.crossOrigin;b.load(a);return d},loadTextureCube:function(a,b,c){var d,e=[],f=new THREE.Texture(e,b),b=e.loadCount=0;for(d=a.length;b<d;++b){e[b]=new Image;e[b].onload=function(){e.loadCount=e.loadCount+1;if(e.loadCount===6)f.needsUpdate=true;c&&c(this)};e[b].crossOrigin=
this.crossOrigin;e[b].src=a[b]}return f},getNormalMap:function(a,b){var c=function(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);return[a[0]/b,a[1]/b,a[2]/b]},b=b|1,d=a.width,e=a.height,f=document.createElement("canvas");f.width=d;f.height=e;var g=f.getContext("2d");g.drawImage(a,0,0);for(var h=g.getImageData(0,0,d,e).data,j=g.createImageData(d,e),k=j.data,l=0;l<d;l++)for(var o=0;o<e;o++){var m=o-1<0?0:o-1,p=o+1>e-1?e-1:o+1,r=l-1<0?0:l-1,n=l+1>d-1?d-1:l+1,q=[],u=[0,0,h[(o*d+l)*4]/255*b];q.push([-1,
0,h[(o*d+r)*4]/255*b]);q.push([-1,-1,h[(m*d+r)*4]/255*b]);q.push([0,-1,h[(m*d+l)*4]/255*b]);q.push([1,-1,h[(m*d+n)*4]/255*b]);q.push([1,0,h[(o*d+n)*4]/255*b]);q.push([1,1,h[(p*d+n)*4]/255*b]);q.push([0,1,h[(p*d+l)*4]/255*b]);q.push([-1,1,h[(p*d+r)*4]/255*b]);m=[];r=q.length;for(p=0;p<r;p++){var n=q[p],t=q[(p+1)%r],n=[n[0]-u[0],n[1]-u[1],n[2]-u[2]],t=[t[0]-u[0],t[1]-u[1],t[2]-u[2]];m.push(c([n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]))}q=[0,0,0];for(p=0;p<m.length;p++){q[0]=q[0]+
m[p][0];q[1]=q[1]+m[p][1];q[2]=q[2]+m[p][2]}q[0]=q[0]/m.length;q[1]=q[1]/m.length;q[2]=q[2]/m.length;u=(o*d+l)*4;k[u]=(q[0]+1)/2*255|0;k[u+1]=(q[1]+1)/2*255|0;k[u+2]=q[2]*255|0;k[u+3]=255}g.putImageData(j,0,0);return f},generateDataTexture:function(a,b,c){for(var d=a*b,e=new Uint8Array(3*d),f=Math.floor(c.r*255),g=Math.floor(c.g*255),c=Math.floor(c.b*255),h=0;h<d;h++){e[h*3]=f;e[h*3+1]=g;e[h*3+2]=c}a=new THREE.DataTexture(e,a,b,THREE.RGBFormat);a.needsUpdate=true;return a}};
......
......@@ -131,8 +131,8 @@ x(a,t+20+16);l=x(a,t+20+20);p=x(a,t+20+24);u=x(a,t+20+28);r=x(a,t+20+32);z=x(a,t
127,f/127,e/127)}}return o*3*Int8Array.BYTES_PER_ELEMENT}(t);t=t+v(o*3);t=t+function(b){if(n){var b=new Float32Array(a,b,n*2),c,d,f;for(c=0;c<n;c++){d=b[c*2];f=b[c*2+1];F.push(d,f)}}return n*2*Float32Array.BYTES_PER_ELEMENT}(t);I=t+I+v(b*2);Q=I+Q+v(q*2);e=Q+e+v(l*2);h=e+h+v(p*2);c=h+c+v(u*2);m=c+m+v(r*2);i=m+i+v(z*2);(function(a){if(l){var b=a+l*Uint32Array.BYTES_PER_ELEMENT*3;y(l,a,b+l*Uint32Array.BYTES_PER_ELEMENT*3);G(l,b)}})(Q);(function(a){if(p){var b=a+p*Uint32Array.BYTES_PER_ELEMENT*3,c=b+
p*Uint32Array.BYTES_PER_ELEMENT*3;H(p,a,b,c+p*Uint32Array.BYTES_PER_ELEMENT*3);G(p,c)}})(e);(function(a){if(z){var b=a+z*Uint32Array.BYTES_PER_ELEMENT*4;C(z,a,b+z*Uint32Array.BYTES_PER_ELEMENT*4);s(z,b)}})(m);(function(a){if(A){var b=a+A*Uint32Array.BYTES_PER_ELEMENT*4,c=b+A*Uint32Array.BYTES_PER_ELEMENT*4;R(A,a,b,c+A*Uint32Array.BYTES_PER_ELEMENT*4);s(A,c)}})(i);b&&y(b,t,t+b*Uint32Array.BYTES_PER_ELEMENT*3);(function(a){if(q){var b=a+q*Uint32Array.BYTES_PER_ELEMENT*3;H(q,a,b,b+q*Uint32Array.BYTES_PER_ELEMENT*
3)}})(I);u&&C(u,h,h+u*Uint32Array.BYTES_PER_ELEMENT*4);(function(a){if(r){var b=a+r*Uint32Array.BYTES_PER_ELEMENT*4;R(r,a,b,b+r*Uint32Array.BYTES_PER_ELEMENT*4)}})(c);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};e.prototype=new THREE.Geometry;e.prototype.constructor=e;b(new e(c))};THREE.ImageLoader=function(){THREE.EventTarget.call(this)};
THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,crossOrigin:"anonymous",load:function(a){var b=this,c=new Image;c.addEventListener("load",function(){b.dispatchEvent({type:"complete",content:c})},false);c.addEventListener("error",function(){b.dispatchEvent({type:"error"})},false);c.crossOrigin=this.crossOrigin;c.src=a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a)};THREE.JSONLoader.prototype=new THREE.Loader;THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;
THREE.JSONLoader.prototype.load=function(a,b,c){c=c?c:this.extractUrlBase(a);this.onLoadStart();this.loadAjaxJSON(this,a,b,c)};
THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,crossOrigin:"anonymous",load:function(a){var b=this,c=new Image;c.addEventListener("load",function(){b.dispatchEvent({type:"load",content:c})},false);c.addEventListener("error",function(){b.dispatchEvent({type:"error",message:"Couldn't load URL ["+a+"]"})},false);c.crossOrigin=this.crossOrigin;c.src=a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a)};THREE.JSONLoader.prototype=new THREE.Loader;
THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.load=function(a,b,c){c=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,g=0;f.onreadystatechange=function(){if(f.readyState===f.DONE)if(f.status===200||f.status===0){if(f.responseText){var k=JSON.parse(f.responseText);a.createModel(k,c,d)}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 if(f.readyState===f.LOADING){if(e){g===0&&(g=f.getResponseHeader("Content-Length"));
e({total:g,loaded:f.responseText.length})}}else f.readyState===f.HEADERS_RECEIVED&&(g=f.getResponseHeader("Content-Length"))};f.open("GET",b,true);f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined");f.setRequestHeader("Content-Type","text/plain");f.send(null)};
THREE.JSONLoader.prototype.createModel=function(a,b,c){var d=new THREE.Geometry,e=a.scale!==void 0?1/a.scale:1;this.initMaterials(d,a.materials,c);(function(b){var c,e,m,i,h,j,o,n,q,l,p,u,r,z,A=a.faces;j=a.vertices;var v=a.normals,D=a.colors,x=0;for(c=0;c<a.uvs.length;c++)a.uvs[c].length&&x++;for(c=0;c<x;c++){d.faceUvs[c]=[];d.faceVertexUvs[c]=[]}i=0;for(h=j.length;i<h;){o=new THREE.Vector3;o.x=j[i++]*b;o.y=j[i++]*b;o.z=j[i++]*b;d.vertices.push(o)}i=0;for(h=A.length;i<h;){b=A[i++];j=b&1;m=b&2;c=b&
......
......@@ -21,7 +21,7 @@ b.vertices.length+1;w=e.clone();o=e.clone();m>=p&&m>=q&&m>=r||q>=p&&q>=m&&q>=r?(
f.lerpSelf(e.vertexColors[1],0.5),g=e.vertexColors[2].clone(),g.lerpSelf(e.vertexColors[3],0.5),w.vertexColors[1].copy(f),w.vertexColors[2].copy(g),o.vertexColors[0].copy(f),o.vertexColors[3].copy(g)),e=0):(m=l.clone(),m.lerpSelf(n,0.5),l=k.clone(),l.lerpSelf(j,0.5),w.a=f,w.b=g,w.c=s,w.d=t,o.a=t,o.b=s,o.c=h,o.d=i,4===e.vertexNormals.length&&(f=e.vertexNormals[1].clone(),f.lerpSelf(e.vertexNormals[2],0.5),g=e.vertexNormals[3].clone(),g.lerpSelf(e.vertexNormals[0],0.5),w.vertexNormals[2].copy(f),w.vertexNormals[3].copy(g),
o.vertexNormals[0].copy(g),o.vertexNormals[1].copy(f)),4===e.vertexColors.length&&(f=e.vertexColors[1].clone(),f.lerpSelf(e.vertexColors[2],0.5),g=e.vertexColors[3].clone(),g.lerpSelf(e.vertexColors[0],0.5),w.vertexColors[2].copy(f),w.vertexColors[3].copy(g),o.vertexColors[0].copy(g),o.vertexColors[1].copy(f)),e=1);x.push(w,o);b.vertices.push(m,l);f=0;for(g=b.faceVertexUvs.length;f<g;f++)b.faceVertexUvs[f].length&&(j=b.faceVertexUvs[f][c],o=j[0],h=j[1],w=j[2],j=j[3],0===e?(l=o.clone(),l.lerpSelf(h,
0.5),n=w.clone(),n.lerpSelf(j,0.5),o=[o.clone(),l.clone(),n.clone(),j.clone()],h=[l.clone(),h.clone(),w.clone(),n.clone()]):(l=h.clone(),l.lerpSelf(w,0.5),n=j.clone(),n.lerpSelf(o,0.5),o=[o.clone(),h.clone(),l.clone(),n.clone()],h=[n.clone(),l.clone(),w.clone(),j.clone()]),z[f].push(o,h))}else{x.push(e);f=0;for(g=b.faceVertexUvs.length;f<g;f++)z[f].push(b.faceVertexUvs[f][c])}b.faces=x;b.faceVertexUvs=z}};THREE.GeometryUtils.random=THREE.Math.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
THREE.ImageUtils={crossOrigin:"anonymous",loadTexture:function(b,a,c){var d=new THREE.Texture(void 0,a),a=new THREE.ImageLoader;a.crossOrigin=this.crossOrigin;a.addEventListener("complete",function(a){d.image=a.content;d.needsUpdate=!0;c&&c(this)});a.load(b);return d},loadTextureCube:function(b,a,c){var d,e=[],f=new THREE.Texture(e,a),a=e.loadCount=0;for(d=b.length;a<d;++a)e[a]=new Image,e[a].onload=function(){e.loadCount+=1;6===e.loadCount&&(f.needsUpdate=!0);c&&c(this)},e[a].crossOrigin=this.crossOrigin,
THREE.ImageUtils={crossOrigin:"anonymous",loadTexture:function(b,a,c){var d=new THREE.Texture(void 0,a),a=new THREE.ImageLoader;a.addEventListener("load",function(a){d.image=a.content;d.needsUpdate=!0;c&&c(this)});a.crossOrigin=this.crossOrigin;a.load(b);return d},loadTextureCube:function(b,a,c){var d,e=[],f=new THREE.Texture(e,a),a=e.loadCount=0;for(d=b.length;a<d;++a)e[a]=new Image,e[a].onload=function(){e.loadCount+=1;6===e.loadCount&&(f.needsUpdate=!0);c&&c(this)},e[a].crossOrigin=this.crossOrigin,
e[a].src=b[a];return f},getNormalMap:function(b,a){var c=function(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);return[a[0]/b,a[1]/b,a[2]/b]},a=a|1,d=b.width,e=b.height,f=document.createElement("canvas");f.width=d;f.height=e;var g=f.getContext("2d");g.drawImage(b,0,0);for(var h=g.getImageData(0,0,d,e).data,i=g.createImageData(d,e),j=i.data,l=0;l<d;l++)for(var n=0;n<e;n++){var k=0>n-1?0:n-1,m=n+1>e-1?e-1:n+1,p=0>l-1?0:l-1,q=l+1>d-1?d-1:l+1,r=[],s=[0,0,h[4*(n*d+l)]/255*a];r.push([-1,0,h[4*(n*d+
p)]/255*a]);r.push([-1,-1,h[4*(k*d+p)]/255*a]);r.push([0,-1,h[4*(k*d+l)]/255*a]);r.push([1,-1,h[4*(k*d+q)]/255*a]);r.push([1,0,h[4*(n*d+q)]/255*a]);r.push([1,1,h[4*(m*d+q)]/255*a]);r.push([0,1,h[4*(m*d+l)]/255*a]);r.push([-1,1,h[4*(m*d+p)]/255*a]);k=[];p=r.length;for(m=0;m<p;m++){var q=r[m],t=r[(m+1)%p],q=[q[0]-s[0],q[1]-s[1],q[2]-s[2]],t=[t[0]-s[0],t[1]-s[1],t[2]-s[2]];k.push(c([q[1]*t[2]-q[2]*t[1],q[2]*t[0]-q[0]*t[2],q[0]*t[1]-q[1]*t[0]]))}r=[0,0,0];for(m=0;m<k.length;m++)r[0]+=k[m][0],r[1]+=k[m][1],
r[2]+=k[m][2];r[0]/=k.length;r[1]/=k.length;r[2]/=k.length;s=4*(n*d+l);j[s]=255*((r[0]+1)/2)|0;j[s+1]=255*((r[1]+1)/2)|0;j[s+2]=255*r[2]|0;j[s+3]=255}g.putImageData(i,0,0);return f},generateDataTexture:function(b,a,c){for(var d=b*a,e=new Uint8Array(3*d),f=Math.floor(255*c.r),g=Math.floor(255*c.g),c=Math.floor(255*c.b),h=0;h<d;h++)e[3*h]=f,e[3*h+1]=g,e[3*h+2]=c;b=new THREE.DataTexture(e,b,a,THREE.RGBFormat);b.needsUpdate=!0;return b}};
......
......@@ -137,8 +137,8 @@ A(a,z+20+16);n=A(a,z+20+20);q=A(a,z+20+24);w=A(a,z+20+28);p=A(a,z+20+32);H=A(a,z
127,d/127,f/127)}}return l*3*Int8Array.BYTES_PER_ELEMENT}(z);z=z+s(l*3);z=z+function(b){if(v){var b=new Float32Array(a,b,v*2),c,e,d;for(c=0;c<v;c++){e=b[c*2];d=b[c*2+1];I.push(e,d)}}return v*2*Float32Array.BYTES_PER_ELEMENT}(z);E=z+E+s(b*2);e=E+e+s(r*2);f=e+f+s(n*2);h=f+h+s(q*2);c=h+c+s(w*2);m=c+m+s(p*2);j=m+j+s(H*2);(function(a){if(n){var b=a+n*Uint32Array.BYTES_PER_ELEMENT*3;M(n,a,b+n*Uint32Array.BYTES_PER_ELEMENT*3);G(n,b)}})(e);(function(a){if(q){var b=a+q*Uint32Array.BYTES_PER_ELEMENT*3,c=b+
q*Uint32Array.BYTES_PER_ELEMENT*3;R(q,a,b,c+q*Uint32Array.BYTES_PER_ELEMENT*3);G(q,c)}})(f);(function(a){if(H){var b=a+H*Uint32Array.BYTES_PER_ELEMENT*4;Q(H,a,b+H*Uint32Array.BYTES_PER_ELEMENT*4);D(H,b)}})(m);(function(a){if(C){var b=a+C*Uint32Array.BYTES_PER_ELEMENT*4,c=b+C*Uint32Array.BYTES_PER_ELEMENT*4;Z(C,a,b,c+C*Uint32Array.BYTES_PER_ELEMENT*4);D(C,c)}})(j);b&&M(b,z,z+b*Uint32Array.BYTES_PER_ELEMENT*3);(function(a){if(r){var b=a+r*Uint32Array.BYTES_PER_ELEMENT*3;R(r,a,b,b+r*Uint32Array.BYTES_PER_ELEMENT*
3)}})(E);w&&Q(w,h,h+w*Uint32Array.BYTES_PER_ELEMENT*4);(function(a){if(p){var b=a+p*Uint32Array.BYTES_PER_ELEMENT*4;Z(p,a,b,b+p*Uint32Array.BYTES_PER_ELEMENT*4)}})(c);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};f.prototype=new THREE.Geometry;f.prototype.constructor=f;b(new f(c))};THREE.ImageLoader=function(){THREE.EventTarget.call(this)};
THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,crossOrigin:"anonymous",load:function(a){var b=this,c=new Image;c.addEventListener("load",function(){b.dispatchEvent({type:"complete",content:c})},false);c.addEventListener("error",function(){b.dispatchEvent({type:"error"})},false);c.crossOrigin=this.crossOrigin;c.src=a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a)};THREE.JSONLoader.prototype=new THREE.Loader;THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;
THREE.JSONLoader.prototype.load=function(a,b,c){c=c?c:this.extractUrlBase(a);this.onLoadStart();this.loadAjaxJSON(this,a,b,c)};
THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,crossOrigin:"anonymous",load:function(a){var b=this,c=new Image;c.addEventListener("load",function(){b.dispatchEvent({type:"load",content:c})},false);c.addEventListener("error",function(){b.dispatchEvent({type:"error",message:"Couldn't load URL ["+a+"]"})},false);c.crossOrigin=this.crossOrigin;c.src=a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a)};THREE.JSONLoader.prototype=new THREE.Loader;
THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.load=function(a,b,c){c=c?c:this.extractUrlBase(a);this.onLoadStart();this.loadAjaxJSON(this,a,b,c)};
THREE.JSONLoader.prototype.loadAjaxJSON=function(a,b,c,d,f){var g=new XMLHttpRequest,i=0;g.onreadystatechange=function(){if(g.readyState===g.DONE)if(g.status===200||g.status===0){if(g.responseText){var k=JSON.parse(g.responseText);a.createModel(k,c,d)}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+"] ["+g.status+"]");else if(g.readyState===g.LOADING){if(f){i===0&&(i=g.getResponseHeader("Content-Length"));
f({total:i,loaded:g.responseText.length})}}else g.readyState===g.HEADERS_RECEIVED&&(i=g.getResponseHeader("Content-Length"))};g.open("GET",b,true);g.overrideMimeType&&g.overrideMimeType("text/plain; charset=x-user-defined");g.setRequestHeader("Content-Type","text/plain");g.send(null)};
THREE.JSONLoader.prototype.createModel=function(a,b,c){var d=new THREE.Geometry,f=a.scale!==void 0?1/a.scale:1;this.initMaterials(d,a.materials,c);(function(b){var c,f,m,j,h,o,l,v,r,n,q,w,p,H,C=a.faces;o=a.vertices;var s=a.normals,L=a.colors,A=0;for(c=0;c<a.uvs.length;c++)a.uvs[c].length&&A++;for(c=0;c<A;c++){d.faceUvs[c]=[];d.faceVertexUvs[c]=[]}j=0;for(h=o.length;j<h;){l=new THREE.Vector3;l.x=o[j++]*b;l.y=o[j++]*b;l.z=o[j++]*b;d.vertices.push(l)}j=0;for(h=C.length;j<h;){b=C[j++];o=b&1;m=b&2;c=b&
......
......@@ -65,7 +65,7 @@
var earthTexture = new THREE.Texture();
var loader = new THREE.ImageLoader();
loader.addEventListener( 'complete', function ( event ) {
loader.addEventListener( 'load', function ( event ) {
earthTexture.image = event.content;
earthTexture.needsUpdate = true;
......@@ -85,7 +85,7 @@
var shadowTexture = new THREE.Texture();
var loader = new THREE.ImageLoader();
loader.addEventListener( 'complete', function ( event ) {
loader.addEventListener( 'load', function ( event ) {
shadowTexture.image = event.content;
shadowTexture.needsUpdate = true;
......
......@@ -17,23 +17,23 @@ THREE.OBJLoader.prototype = {
var scope = this;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
xhr.addEventListener( 'load', function ( event ) {
if ( xhr.readyState == 4 ) {
scope.dispatchEvent( { type: 'load', content: scope.parse( event.target.responseText ) } );
if ( xhr.status == 200 || xhr.status == 0 ) {
}, false );
scope.dispatchEvent( { type: 'complete', content: scope.parse( xhr.responseText ) } );
xhr.addEventListener( 'progress', function ( event ) {
} else {
scope.dispatchEvent( { type: 'progress', loaded: event.loaded, total: event.total } );
scope.dispatchEvent( { type: 'error', status: xhr.status } );
}, false );
}
xhr.addEventListener( 'error', function () {
}
scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']' } );
};
}, false );
xhr.open( 'GET', url, true );
xhr.send( null );
......
......@@ -17,23 +17,23 @@ THREE.VTKLoader.prototype = {
var scope = this;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
xhr.addEventListener( 'load', function ( event ) {
if ( xhr.readyState == 4 ) {
scope.dispatchEvent( { type: 'load', content: scope.parse( event.target.responseText ) } );
if ( xhr.status == 200 || xhr.status == 0 ) {
}, false );
scope.dispatchEvent( { type: 'complete', content: scope.parse( xhr.responseText ) } );
xhr.addEventListener( 'progress', function ( event ) {
} else {
scope.dispatchEvent( { type: 'progress', loaded: event.loaded, total: event.total } );
scope.dispatchEvent( { type: 'error', status: xhr.status } );
}, false );
}
xhr.addEventListener( 'error', function () {
}
scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']' } );
};
}, false );
xhr.open( 'GET', url, true );
xhr.send( null );
......
......@@ -77,7 +77,7 @@
var texture = new THREE.Texture();
var loader = new THREE.ImageLoader();
loader.addEventListener( 'complete', function ( event ) {
loader.addEventListener( 'load', function ( event ) {
texture.image = event.content;
texture.needsUpdate = true;
......@@ -88,7 +88,7 @@
// model
var loader = new THREE.OBJLoader();
loader.addEventListener( 'complete', function ( event ) {
loader.addEventListener( 'load', function ( event ) {
var object = event.content;
......
......@@ -83,7 +83,7 @@
var material = new THREE.MeshLambertMaterial( { color:0xffffff} );
var loader = new THREE.VTKLoader();
loader.addEventListener( 'complete', function ( event ) {
loader.addEventListener( 'load', function ( event ) {
var geometry = event.content;
......
......@@ -12,8 +12,7 @@ THREE.ImageUtils = {
var texture = new THREE.Texture( undefined, mapping );
var loader = new THREE.ImageLoader();
loader.crossOrigin = this.crossOrigin;
loader.addEventListener( 'complete', function ( event ) {
loader.addEventListener( 'load', function ( event ) {
texture.image = event.content;
texture.needsUpdate = true;
......@@ -21,6 +20,7 @@ THREE.ImageUtils = {
if ( callback ) callback( this );
} );
loader.crossOrigin = this.crossOrigin;
loader.load( url );
return texture;
......
......@@ -21,13 +21,13 @@ THREE.ImageLoader.prototype = {
image.addEventListener( 'load', function () {
scope.dispatchEvent( { type: 'complete', content: image } );
scope.dispatchEvent( { type: 'load', content: image } );
}, false );
image.addEventListener( 'error', function () {
scope.dispatchEvent( { type: 'error' } );
scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']' } );
}, false );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册