diff --git a/build/Three.js b/build/Three.js index 28fbf4aa36bf6420afca730fd584c610275b2773..f29f656f13e47be3b52352bd137d3fb221297d8f 100644 --- a/build/Three.js +++ b/build/Three.js @@ -73,7 +73,7 @@ h.positionScreen.copy(h.positionWorld),C.multiplyVector4(h.positionScreen),h.pos R.doubleSided||i!=R.flipSided)ia=m[p]=m[p]||new THREE.RenderableFace3,p++,k=ia,k.v1.copy(E),k.v2.copy(aa),k.v3.copy(ea);else continue;else continue;else if(A instanceof THREE.Face4)if(E=j[A.a],aa=j[A.b],ea=j[A.c],ia=j[A.d],E.visible&&aa.visible&&ea.visible&&ia.visible)if(i=0>(ia.positionScreen.x-E.positionScreen.x)*(aa.positionScreen.y-E.positionScreen.y)-(ia.positionScreen.y-E.positionScreen.y)*(aa.positionScreen.x-E.positionScreen.x)||0>(aa.positionScreen.x-ea.positionScreen.x)*(ia.positionScreen.y- ea.positionScreen.y)-(aa.positionScreen.y-ea.positionScreen.y)*(ia.positionScreen.x-ea.positionScreen.x),R.doubleSided||i!=R.flipSided)oa=r[o]=r[o]||new THREE.RenderableFace4,o++,k=oa,k.v1.copy(E),k.v2.copy(aa),k.v3.copy(ea),k.v4.copy(ia);else continue;else continue;k.normalWorld.copy(A.normal);!i&&(R.flipSided||R.doubleSided)&&k.normalWorld.negate();ba.multiplyVector3(k.normalWorld);k.centroidWorld.copy(A.centroid);$.multiplyVector3(k.centroidWorld);k.centroidScreen.copy(k.centroidWorld);C.multiplyVector3(k.centroidScreen); ea=A.vertexNormals;for(E=0,aa=ea.length;EF.z))g=t[v]=t[v]||new THREE.RenderableParticle,v++,u=g,u.x=F.x/F.w,u.y=F.y/F.w,u.z=F.z,u.rotation=R.rotation.z,u.scale.x=R.scale.x*Math.abs(u.x-(F.x+e.projectionMatrix.n11)/(F.w+e.projectionMatrix.n14)),u.scale.y=R.scale.y*Math.abs(u.y-(F.y+e.projectionMatrix.n22)/(F.w+e.projectionMatrix.n24)),u.material=R.material,w.elements.push(u);f&&w.elements.sort(c);return w}}; THREE.Quaternion=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.Quaternion.prototype={constructor:THREE.Quaternion,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w;return this},setFromEuler:function(a){var b=Math.PI/360,c=a.x*b,d=a.y*b,e=a.z*b,a=Math.cos(d),d=Math.sin(d),b=Math.cos(-e),e=Math.sin(-e),f=Math.cos(c),c=Math.sin(c),g=a*b,h=d*e;this.w=g*f-h*c;this.x=g*c+h*f;this.y=d*b*f+a*e*c;this.z=a*e*f-d*b*c;return this},setFromAxisAngle:function(a,b){var c=b/2,d=Math.sin(c); diff --git a/src/core/Projector.js b/src/core/Projector.js index 139f65c86ee6534d7c117a49fe7ee39864dd3bea..e86775be1f1e5bcf16ebbbe672a8a65da7b50094 100644 --- a/src/core/Projector.js +++ b/src/core/Projector.js @@ -328,7 +328,7 @@ THREE.Projector = function() { v1.positionScreen.copy( vertices[ v ].position ); _projScreenobjectMatrixWorld.multiplyVector4( v1.positionScreen ); - if ( v % step !== 0 ) continue; + if ( ( v + 1 ) % step > 0 ) continue; v2 = _vertexPool[ _vertexCount - 2 ];