提交 189e6c89 编写于 作者: M Mr.doob

Wrong offset.

上级 04bb63d2
......@@ -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;E<aa;E++)ia=k.vertexNormalsWorld[E],ia.copy(ea[E]),!i&&(R.flipSided||R.doubleSided)&&ia.negate(),ba.multiplyVector3(ia);for(E=0,aa=Ga.length;E<aa;E++)if(oa=Ga[E][V])for(ea=0,ia=oa.length;ea<ia;ea++)k.uvs[E][ea]=oa[ea];k.material=R.material;k.faceMaterial=null!==A.materialIndex?Z[A.materialIndex]:null;k.z=k.centroidScreen.z;w.elements.push(k)}}else if(R instanceof THREE.Line){G.multiply(C,$);V=R.geometry.vertices;E=b();E.positionScreen.copy(V[0].position);G.multiplyVector4(E.positionScreen);
$=R.type===THREE.LinePieces?2:1;for(B=1,A=V.length;B<A;B++)if(E=b(),E.positionScreen.copy(V[B].position),G.multiplyVector4(E.positionScreen),0===B%$&&(aa=j[l-2],N.copy(E.positionScreen),P.copy(aa.positionScreen),d(N,P)))N.multiplyScalar(1/N.w),P.multiplyScalar(1/P.w),Z=s[q]=s[q]||new THREE.RenderableLine,q++,n=Z,n.v1.positionScreen.copy(N),n.v2.positionScreen.copy(P),n.z=Math.max(N.z,P.z),n.material=R.material,w.elements.push(n)}for(a=0,z=w.sprites.length;a<z;a++)if(R=w.sprites[a].object,$=R.matrixWorld,
$=R.type===THREE.LinePieces?2:1;for(B=1,A=V.length;B<A;B++)if(E=b(),E.positionScreen.copy(V[B].position),G.multiplyVector4(E.positionScreen),!(0<(B+1)%$)&&(aa=j[l-2],N.copy(E.positionScreen),P.copy(aa.positionScreen),d(N,P)))N.multiplyScalar(1/N.w),P.multiplyScalar(1/P.w),Z=s[q]=s[q]||new THREE.RenderableLine,q++,n=Z,n.v1.positionScreen.copy(N),n.v2.positionScreen.copy(P),n.z=Math.max(N.z,P.z),n.material=R.material,w.elements.push(n)}for(a=0,z=w.sprites.length;a<z;a++)if(R=w.sprites[a].object,$=R.matrixWorld,
R instanceof THREE.Particle&&(F.set($.n14,$.n24,$.n34,1),C.multiplyVector4(F),F.z/=F.w,0<F.z&&1>F.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);
......
......@@ -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 ];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册