|
@@ -143,10 +143,10 @@ THREE.ShadowVolume.prototype.calculateShadowVolumeGeometry=function(b){this.geom
|
|
0;k<p;k++){o=b[j[w[k]]];c.push(new THREE.Vertex(o.position.clone()))}}for(h=0;h<g.length-1;h++){b=d[h];for(j=h+1;j<g.length;j++){k=d[j];k=this.facesShareEdge(c,b,k);if(k!==undefined){k=new THREE.Face4(k.indices[0],k.indices[3],k.indices[2],k.indices[1]);k.normal.set(1,0,0);f.push(k)}}}};
|
|
0;k<p;k++){o=b[j[w[k]]];c.push(new THREE.Vertex(o.position.clone()))}}for(h=0;h<g.length-1;h++){b=d[h];for(j=h+1;j<g.length;j++){k=d[j];k=this.facesShareEdge(c,b,k);if(k!==undefined){k=new THREE.Face4(k.indices[0],k.indices[3],k.indices[2],k.indices[1]);k.normal.set(1,0,0);f.push(k)}}}};
|
|
THREE.ShadowVolume.prototype.facesShareEdge=function(b,c,d){var f,g,h,j,k,n,p,o,w,y,v,C,G,H=0,K=["a","b","c","d"];f=c instanceof THREE.Face4?4:3;g=d instanceof THREE.Face4?4:3;for(C=0;C<f;C++){h=c[K[C]];k=b[h];for(G=0;G<g;G++){j=d[K[G]];n=b[j];if(Math.abs(k.position.x-n.position.x)<1.0E-4&&Math.abs(k.position.y-n.position.y)<1.0E-4&&Math.abs(k.position.z-n.position.z)<1.0E-4){H++;if(H===1){p=k;o=n;w=h;y=j;v=K[C]}if(H===2){v+=K[C];return v==="ad"||v==="ac"?{faces:[c,d],vertices:[p,o,n,k],indices:[w,
|
|
THREE.ShadowVolume.prototype.facesShareEdge=function(b,c,d){var f,g,h,j,k,n,p,o,w,y,v,C,G,H=0,K=["a","b","c","d"];f=c instanceof THREE.Face4?4:3;g=d instanceof THREE.Face4?4:3;for(C=0;C<f;C++){h=c[K[C]];k=b[h];for(G=0;G<g;G++){j=d[K[G]];n=b[j];if(Math.abs(k.position.x-n.position.x)<1.0E-4&&Math.abs(k.position.y-n.position.y)<1.0E-4&&Math.abs(k.position.z-n.position.z)<1.0E-4){H++;if(H===1){p=k;o=n;w=h;y=j;v=K[C]}if(H===2){v+=K[C];return v==="ad"||v==="ac"?{faces:[c,d],vertices:[p,o,n,k],indices:[w,
|
|
y,j,h],vertexTypes:[1,2,2,1],extrudable:!0}:{faces:[c,d],vertices:[p,k,n,o],indices:[w,h,j,y],vertexTypes:[1,1,2,2],extrudable:!0}}}}}};
|
|
y,j,h],vertexTypes:[1,2,2,1],extrudable:!0}:{faces:[c,d],vertices:[p,k,n,o],indices:[w,h,j,y],vertexTypes:[1,1,2,2],extrudable:!0}}}}}};
|
|
-THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==undefined){this.material=b.material;this.map=undefined;this.blending=material.blending}else if(b.map!==undefined){this.map=b.map instanceof THREE.Texture?b.map:ImageUtils.loadTexture(b.map);this.material=undefined;this.blending=b.blending!==undefined?b.blending:THREE.NormalBlending}this.useScreenCoordinates=b.useScreenCoordinates!==undefined?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==undefined?b.mergeWith3D:!1;this.affectedByDistance=
|
|
|
|
-b.affectedByDistance!==undefined?b.affectedByDistance:!b.useScreenCoordinates;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.ShadowVolume;THREE.Sprite.prototype.supr=THREE.Object3D.prototype;
|
|
|
|
-THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1){this.scale3d.set(this.scale.x,this.scale.y,1);this.matrix.scale(this.scale3d);this.boundRadiusScale=Math.max(this.scale.x,this.scale.y)}this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
|
|
|
|
-THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
|
|
|
|
|
|
+THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==undefined){this.material=b.material;this.map=undefined;this.blending=material.blending}else if(b.map!==undefined){this.map=b.map instanceof THREE.Texture?b.map:ImageUtils.loadTexture(b.map);this.material=undefined;this.blending=b.blending!==undefined?b.blending:THREE.NormalBlending}this.useScreenCoordinates=b.useScreenCoordinates!==undefined?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==undefined?b.mergeWith3D:!b.useScreenCoordinates;
|
|
|
|
+this.affectedByDistance=b.affectedByDistance!==undefined?b.affectedByDistance:!b.useScreenCoordinates;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.ShadowVolume;THREE.Sprite.prototype.supr=THREE.Object3D.prototype;
|
|
|
|
+THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1){this.matrix.scale(this.scale);this.boundRadiusScale=Math.max(this.scale.x,this.scale.y)}this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);
|
|
|
|
+THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
|
|
THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.fog=null;this.objects=[];this.lights=[];this.sounds=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
|
|
THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.fog=null;this.objects=[];this.lights=[];this.sounds=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
|
|
THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(b instanceof THREE.Sound)this.sounds.indexOf(b)===-1&&this.sounds.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1){this.objects.push(b);this.__objectsAdded.push(b)}for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};
|
|
THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(b instanceof THREE.Sound)this.sounds.indexOf(b)===-1&&this.sounds.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1){this.objects.push(b);this.__objectsAdded.push(b)}for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};
|
|
THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else if(b instanceof THREE.Sound){c=this.sounds.indexOf(b);c!==-1&&this.sounds.splice(c,1)}else if(!(b instanceof THREE.Camera)){c=this.objects.indexOf(b);if(c!==-1){this.objects.splice(c,1);this.__objectsRemoved.push(b)}}for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};
|
|
THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else if(b instanceof THREE.Sound){c=this.sounds.indexOf(b);c!==-1&&this.sounds.splice(c,1)}else if(!(b instanceof THREE.Camera)){c=this.objects.indexOf(b);if(c!==-1){this.objects.splice(c,1);this.__objectsRemoved.push(b)}}for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};
|
|
@@ -259,46 +259,46 @@ e.depthMask(!1);e.colorMask(!1,!1,!1,!1);e.stencilFunc(e.ALWAYS,1,255);e.stencil
|
|
z,undefined,u);E=E.program;P=E.uniforms;F=E.attributes;if(xa!==E){e.useProgram(E);xa=E;e.uniformMatrix4fv(P.projectionMatrix,!1,$a);e.uniformMatrix4fv(P.viewMatrix,!1,ab);e.uniform3fv(P.directionalLightDirection,J)}u.matrixWorld.flattenToArray(u._objectMatrixArray);e.uniformMatrix4fv(P.objectMatrix,!1,u._objectMatrixArray);e.bindBuffer(e.ARRAY_BUFFER,L.__webglVertexBuffer);e.vertexAttribPointer(F.position,3,e.FLOAT,!1,0,0);e.bindBuffer(e.ARRAY_BUFFER,L.__webglNormalBuffer);e.vertexAttribPointer(F.normal,
|
|
z,undefined,u);E=E.program;P=E.uniforms;F=E.attributes;if(xa!==E){e.useProgram(E);xa=E;e.uniformMatrix4fv(P.projectionMatrix,!1,$a);e.uniformMatrix4fv(P.viewMatrix,!1,ab);e.uniform3fv(P.directionalLightDirection,J)}u.matrixWorld.flattenToArray(u._objectMatrixArray);e.uniformMatrix4fv(P.objectMatrix,!1,u._objectMatrixArray);e.bindBuffer(e.ARRAY_BUFFER,L.__webglVertexBuffer);e.vertexAttribPointer(F.position,3,e.FLOAT,!1,0,0);e.bindBuffer(e.ARRAY_BUFFER,L.__webglNormalBuffer);e.vertexAttribPointer(F.normal,
|
|
3,e.FLOAT,!1,0,0);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,L.__webglFaceBuffer);e.cullFace(e.FRONT);e.drawElements(e.TRIANGLES,L.__webglFaceCount,e.UNSIGNED_SHORT,0);e.cullFace(e.BACK);e.drawElements(e.TRIANGLES,L.__webglFaceCount,e.UNSIGNED_SHORT,0)}}}e.disable(e.POLYGON_OFFSET_FILL);e.colorMask(!0,!0,!0,!0);e.stencilFunc(e.NOTEQUAL,0,255);e.stencilOp(e.KEEP,e.KEEP,e.KEEP);e.disable(e.DEPTH_TEST);ga="";xa=wa.program;e.useProgram(wa.program);e.uniformMatrix4fv(wa.projectionLocation,!1,$a);e.uniform1f(wa.darknessLocation,
|
|
3,e.FLOAT,!1,0,0);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,L.__webglFaceBuffer);e.cullFace(e.FRONT);e.drawElements(e.TRIANGLES,L.__webglFaceCount,e.UNSIGNED_SHORT,0);e.cullFace(e.BACK);e.drawElements(e.TRIANGLES,L.__webglFaceCount,e.UNSIGNED_SHORT,0)}}}e.disable(e.POLYGON_OFFSET_FILL);e.colorMask(!0,!0,!0,!0);e.stencilFunc(e.NOTEQUAL,0,255);e.stencilOp(e.KEEP,e.KEEP,e.KEEP);e.disable(e.DEPTH_TEST);ga="";xa=wa.program;e.useProgram(wa.program);e.uniformMatrix4fv(wa.projectionLocation,!1,$a);e.uniform1f(wa.darknessLocation,
|
|
wa.darkness);e.bindBuffer(e.ARRAY_BUFFER,wa.vertexBuffer);e.vertexAttribPointer(wa.vertexLocation,3,e.FLOAT,!1,0,0);e.enableVertexAttribArray(wa.vertexLocation);e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA);e.blendEquation(e.FUNC_ADD);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,wa.elementBuffer);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0);e.disable(e.STENCIL_TEST);e.enable(e.DEPTH_TEST);e.depthMask(oa)}function C(m,B){var x,u,z;x=_sprite.attributes;var J=_sprite.uniforms,L=ja/ia,E,P=[],F=ia*0.5,M=ja*0.5,
|
|
wa.darkness);e.bindBuffer(e.ARRAY_BUFFER,wa.vertexBuffer);e.vertexAttribPointer(wa.vertexLocation,3,e.FLOAT,!1,0,0);e.enableVertexAttribArray(wa.vertexLocation);e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA);e.blendEquation(e.FUNC_ADD);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,wa.elementBuffer);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0);e.disable(e.STENCIL_TEST);e.enable(e.DEPTH_TEST);e.depthMask(oa)}function C(m,B){var x,u,z;x=_sprite.attributes;var J=_sprite.uniforms,L=ja/ia,E,P=[],F=ia*0.5,M=ja*0.5,
|
|
-I=!0;e.useProgram(_sprite.program);xa=_sprite.program;ga="";e.disable(e.CULL_FACE);e.bindBuffer(e.ARRAY_BUFFER,_sprite.vertexBuffer);e.vertexAttribPointer(x.position,2,e.FLOAT,!1,16,0);e.vertexAttribPointer(x.uv,2,e.FLOAT,!1,16,8);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,_sprite.elementBuffer);e.uniformMatrix4fv(J.projectionMatrix,!1,$a);e.activeTexture(e.TEXTURE0);e.uniform1i(J.map,0);e.depthMask(!1);x=0;for(u=m.__webglSprites.length;x<u;x++){z=m.__webglSprites[x];if(z.material===undefined&&z.map&&z.map.image&&
|
|
|
|
-z.map.image.width){if(z.useScreenCoordinates){e.uniform1i(J.useScreenCoordinates,1);e.uniform3f(J.screenPosition,(z.position.x-F)/F,(M-z.position.y)/M,z.position.z)}else{z._modelViewMatrix.multiplyToArray(B.matrixWorldInverse,z.matrixWorld,z._modelViewMatrixArray);e.uniform1i(J.useScreenCoordinates,0);e.uniform1i(J.affectedByDistance,z.affectedByDistance?1:0);e.uniformMatrix4fv(J.modelViewMatrix,!1,z._modelViewMatrixArray)}E=z.map.image.width/(z.affectedByDistance?1:ja);P[0]=E*L;P[1]=E;e.uniform2f(J.uvScale,
|
|
|
|
-z.uvScale.x,z.uvScale.y);e.uniform2f(J.uvOffset,z.uvOffset.x,z.uvOffset.y);e.uniform2f(J.alignment,z.alignment.x,z.alignment.y);e.uniform1f(J.opacity,z.opacity);e.uniform1f(J.rotation,z.rotation);e.uniform2fv(J.scale,P);if(z.mergeWith3D&&!I){e.enable(e.DEPTH_TEST);I=!0}else if(!z.mergeWith3D&&I){e.disable(e.DEPTH_TEST);I=!1}N(z.blending);R(z.map,0);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0)}}e.enable(e.CULL_FACE);e.enable(e.DEPTH_TEST);e.depthMask(oa)}function G(m,B){var x,u,z=m.__webglLensFlares.length,
|
|
|
|
-J,L,E,P=new THREE.Vector3,F=ja/ia,M=ia*0.5,I=ja*0.5,X=16/ja,U=[X*F,X],ya=[1,1,0],va=[1,1],ra=fa.uniforms;x=fa.attributes;e.useProgram(fa.program);xa=fa.program;ga="";e.uniform1i(ra.occlusionMap,0);e.uniform1i(ra.map,1);e.bindBuffer(e.ARRAY_BUFFER,fa.vertexBuffer);e.vertexAttribPointer(x.vertex,2,e.FLOAT,!1,16,0);e.vertexAttribPointer(x.uv,2,e.FLOAT,!1,16,8);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,fa.elementBuffer);e.disable(e.CULL_FACE);e.depthMask(!1);e.activeTexture(e.TEXTURE0);e.bindTexture(e.TEXTURE_2D,
|
|
|
|
-fa.occlusionTexture);e.activeTexture(e.TEXTURE1);for(u=0;u<z;u++){x=m.__webglLensFlares[u].object;P.set(x.matrixWorld.n14,x.matrixWorld.n24,x.matrixWorld.n34);B.matrixWorldInverse.multiplyVector3(P);B.projectionMatrix.multiplyVector3(P);ya[0]=P.x;ya[1]=P.y;ya[2]=P.z;va[0]=ya[0]*M+M;va[1]=ya[1]*I+I;if(fa.hasVertexTexture||va[0]>0&&va[0]<ia&&va[1]>0&&va[1]<ja){e.bindTexture(e.TEXTURE_2D,fa.tempTexture);e.copyTexImage2D(e.TEXTURE_2D,0,e.RGB,va[0]-8,va[1]-8,16,16,0);e.uniform1i(ra.renderType,0);e.uniform2fv(ra.scale,
|
|
|
|
-U);e.uniform3fv(ra.screenPosition,ya);e.disable(e.BLEND);e.enable(e.DEPTH_TEST);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0);e.bindTexture(e.TEXTURE_2D,fa.occlusionTexture);e.copyTexImage2D(e.TEXTURE_2D,0,e.RGBA,va[0]-8,va[1]-8,16,16,0);e.uniform1i(ra.renderType,1);e.disable(e.DEPTH_TEST);e.bindTexture(e.TEXTURE_2D,fa.tempTexture);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0);x.positionScreen.x=ya[0];x.positionScreen.y=ya[1];x.positionScreen.z=ya[2];x.customUpdateCallback?x.customUpdateCallback(x):
|
|
|
|
-x.updateLensFlares();e.uniform1i(ra.renderType,2);e.enable(e.BLEND);J=0;for(L=x.lensFlares.length;J<L;J++){E=x.lensFlares[J];if(E.opacity>0.0010&&E.scale>0.0010){ya[0]=E.x;ya[1]=E.y;ya[2]=E.z;X=E.size*E.scale/ja;U[0]=X*F;U[1]=X;e.uniform3fv(ra.screenPosition,ya);e.uniform2fv(ra.scale,U);e.uniform1f(ra.rotation,E.rotation);e.uniform1f(ra.opacity,E.opacity);N(E.blending);R(E.texture,1);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0)}}}}e.enable(e.CULL_FACE);e.enable(e.DEPTH_TEST);e.depthMask(oa)}function H(m,
|
|
|
|
-B){m._modelViewMatrix.multiplyToArray(B.matrixWorldInverse,m.matrixWorld,m._modelViewMatrixArray);THREE.Matrix4.makeInvert3x3(m._modelViewMatrix).transposeIntoArray(m._normalMatrixArray)}function K(m){var B,x,u,z,J;if(m instanceof THREE.Mesh){x=m.geometry;for(B in x.geometryGroups){u=x.geometryGroups[B];J=!1;for(z in u.__webglCustomAttributes)if(u.__webglCustomAttributes[z].needsUpdate){J=!0;break}if(x.__dirtyVertices||x.__dirtyMorphTargets||x.__dirtyElements||x.__dirtyUvs||x.__dirtyNormals||x.__dirtyColors||
|
|
|
|
-x.__dirtyTangents||J){J=e.DYNAMIC_DRAW;var L=void 0,E=void 0,P=void 0,F=void 0;P=void 0;var M=void 0,I=void 0,X=void 0,U=void 0,ya=void 0,va=void 0,ra=void 0,Na=void 0,Sa=void 0,Ka=void 0,Ja=void 0,Ia=void 0,Wa=void 0;I=void 0;X=void 0;F=void 0;U=void 0;F=void 0;var D=void 0,aa=void 0;I=void 0;D=void 0;aa=void 0;var t=void 0,bb=void 0;D=void 0;aa=void 0;t=void 0;bb=void 0;D=void 0;aa=void 0;t=void 0;bb=void 0;D=void 0;aa=void 0;t=void 0;F=void 0;U=void 0;M=void 0;P=void 0;P=void 0;D=void 0;aa=void 0;
|
|
|
|
-t=void 0;var eb=void 0,Ta=0,Qa=0,hb=0,gb=0,cb=0,fb=0,sa=0,Va=0,Pa=0,T=0,Xa=0;aa=D=0;var La=u.__vertexArray,V=u.__uvArray,za=u.__uv2Array,na=u.__normalArray,Y=u.__tangentArray,Ca=u.__colorArray,qa=u.__skinVertexAArray,ha=u.__skinVertexBArray,Q=u.__skinIndexArray,Ea=u.__skinWeightArray,ib=u.__morphTargetsArrays,Ya=u.__webglCustomAttributes;t=void 0;var Za=u.__faceArray,db=u.__lineArray,jb=u.__needsSmoothNormals;va=u.__vertexColorType;ya=u.__uvType;ra=u.__normalType;var Ua=m.geometry,sb=Ua.__dirtyVertices,
|
|
|
|
-tb=Ua.__dirtyElements,rb=Ua.__dirtyUvs,ub=Ua.__dirtyNormals,vb=Ua.__dirtyTangents,wb=Ua.__dirtyColors,xb=Ua.__dirtyMorphTargets,nb=Ua.vertices,yb=u.faces,Bb=Ua.faces,zb=Ua.faceVertexUvs[0],Ab=Ua.faceVertexUvs[1],ob=Ua.skinVerticesA,pb=Ua.skinVerticesB,qb=Ua.skinIndices,lb=Ua.skinWeights,mb=Ua.edgeFaces,kb=Ua.morphTargets;if(Ya)for(eb in Ya){Ya[eb].offset=0;Ya[eb].offsetSrc=0}L=0;for(E=yb.length;L<E;L++){P=yb[L];F=Bb[P];zb&&(Na=zb[P]);Ab&&(Sa=Ab[P]);P=F.vertexNormals;M=F.normal;I=F.vertexColors;X=
|
|
|
|
-F.color;U=F.vertexTangents;if(F instanceof THREE.Face3){if(sb){Ka=nb[F.a].position;Ja=nb[F.b].position;Ia=nb[F.c].position;La[Qa]=Ka.x;La[Qa+1]=Ka.y;La[Qa+2]=Ka.z;La[Qa+3]=Ja.x;La[Qa+4]=Ja.y;La[Qa+5]=Ja.z;La[Qa+6]=Ia.x;La[Qa+7]=Ia.y;La[Qa+8]=Ia.z;Qa+=9}if(Ya)for(eb in Ya){t=Ya[eb];if(t.needsUpdate){D=t.offset;aa=t.offsetSrc;if(t.size===1){if(t.boundTo===undefined||t.boundTo==="vertices"){t.array[D+0]=t.value[F.a];t.array[D+1]=t.value[F.b];t.array[D+2]=t.value[F.c]}else if(t.boundTo==="faces"){t.array[D+
|
|
|
|
-0]=t.value[aa];t.array[D+1]=t.value[aa];t.array[D+2]=t.value[aa];t.offsetSrc++}else if(t.boundTo==="faceVertices"){t.array[D+0]=t.value[aa+0];t.array[D+1]=t.value[aa+1];t.array[D+2]=t.value[aa+2];t.offsetSrc+=3}t.offset+=3}else{if(t.boundTo===undefined||t.boundTo==="vertices"){Ka=t.value[F.a];Ja=t.value[F.b];Ia=t.value[F.c]}else if(t.boundTo==="faces"){Ka=t.value[aa];Ja=t.value[aa];Ia=t.value[aa];t.offsetSrc++}else if(t.boundTo==="faceVertices"){Ka=t.value[aa+0];Ja=t.value[aa+1];Ia=t.value[aa+2];
|
|
|
|
-t.offsetSrc+=3}if(t.size===2){t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ja.x;t.array[D+3]=Ja.y;t.array[D+4]=Ia.x;t.array[D+5]=Ia.y;t.offset+=6}else if(t.size===3){if(t.type==="c"){t.array[D+0]=Ka.r;t.array[D+1]=Ka.g;t.array[D+2]=Ka.b;t.array[D+3]=Ja.r;t.array[D+4]=Ja.g;t.array[D+5]=Ja.b;t.array[D+6]=Ia.r;t.array[D+7]=Ia.g;t.array[D+8]=Ia.b}else{t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ka.z;t.array[D+3]=Ja.x;t.array[D+4]=Ja.y;t.array[D+5]=Ja.z;t.array[D+6]=Ia.x;t.array[D+7]=Ia.y;t.array[D+
|
|
|
|
-8]=Ia.z}t.offset+=9}else{t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ka.z;t.array[D+3]=Ka.w;t.array[D+4]=Ja.x;t.array[D+5]=Ja.y;t.array[D+6]=Ja.z;t.array[D+7]=Ja.w;t.array[D+8]=Ia.x;t.array[D+9]=Ia.y;t.array[D+10]=Ia.z;t.array[D+11]=Ia.w;t.offset+=12}}}}if(xb){D=0;for(aa=kb.length;D<aa;D++){Ka=kb[D].vertices[F.a].position;Ja=kb[D].vertices[F.b].position;Ia=kb[D].vertices[F.c].position;t=ib[D];t[Xa+0]=Ka.x;t[Xa+1]=Ka.y;t[Xa+2]=Ka.z;t[Xa+3]=Ja.x;t[Xa+4]=Ja.y;t[Xa+5]=Ja.z;t[Xa+6]=Ia.x;t[Xa+7]=Ia.y;
|
|
|
|
-t[Xa+8]=Ia.z}Xa+=9}if(lb.length){D=lb[F.a];aa=lb[F.b];t=lb[F.c];Ea[T]=D.x;Ea[T+1]=D.y;Ea[T+2]=D.z;Ea[T+3]=D.w;Ea[T+4]=aa.x;Ea[T+5]=aa.y;Ea[T+6]=aa.z;Ea[T+7]=aa.w;Ea[T+8]=t.x;Ea[T+9]=t.y;Ea[T+10]=t.z;Ea[T+11]=t.w;D=qb[F.a];aa=qb[F.b];t=qb[F.c];Q[T]=D.x;Q[T+1]=D.y;Q[T+2]=D.z;Q[T+3]=D.w;Q[T+4]=aa.x;Q[T+5]=aa.y;Q[T+6]=aa.z;Q[T+7]=aa.w;Q[T+8]=t.x;Q[T+9]=t.y;Q[T+10]=t.z;Q[T+11]=t.w;D=ob[F.a];aa=ob[F.b];t=ob[F.c];qa[T]=D.x;qa[T+1]=D.y;qa[T+2]=D.z;qa[T+3]=1;qa[T+4]=aa.x;qa[T+5]=aa.y;qa[T+6]=aa.z;qa[T+7]=
|
|
|
|
-1;qa[T+8]=t.x;qa[T+9]=t.y;qa[T+10]=t.z;qa[T+11]=1;D=pb[F.a];aa=pb[F.b];t=pb[F.c];ha[T]=D.x;ha[T+1]=D.y;ha[T+2]=D.z;ha[T+3]=1;ha[T+4]=aa.x;ha[T+5]=aa.y;ha[T+6]=aa.z;ha[T+7]=1;ha[T+8]=t.x;ha[T+9]=t.y;ha[T+10]=t.z;ha[T+11]=1;T+=12}if(wb&&va){if(I.length==3&&va==THREE.VertexColors){F=I[0];D=I[1];aa=I[2]}else aa=D=F=X;Ca[Pa]=F.r;Ca[Pa+1]=F.g;Ca[Pa+2]=F.b;Ca[Pa+3]=D.r;Ca[Pa+4]=D.g;Ca[Pa+5]=D.b;Ca[Pa+6]=aa.r;Ca[Pa+7]=aa.g;Ca[Pa+8]=aa.b;Pa+=9}if(vb&&Ua.hasTangents){I=U[0];X=U[1];F=U[2];Y[sa]=I.x;Y[sa+1]=
|
|
|
|
-I.y;Y[sa+2]=I.z;Y[sa+3]=I.w;Y[sa+4]=X.x;Y[sa+5]=X.y;Y[sa+6]=X.z;Y[sa+7]=X.w;Y[sa+8]=F.x;Y[sa+9]=F.y;Y[sa+10]=F.z;Y[sa+11]=F.w;sa+=12}if(ub&&ra)if(P.length==3&&jb)for(U=0;U<3;U++){M=P[U];na[fb]=M.x;na[fb+1]=M.y;na[fb+2]=M.z;fb+=3}else for(U=0;U<3;U++){na[fb]=M.x;na[fb+1]=M.y;na[fb+2]=M.z;fb+=3}if(rb&&Na!==undefined&&ya)for(U=0;U<3;U++){P=Na[U];V[hb]=P.u;V[hb+1]=P.v;hb+=2}if(rb&&Sa!==undefined&&ya)for(U=0;U<3;U++){P=Sa[U];za[gb]=P.u;za[gb+1]=P.v;gb+=2}if(tb){Za[cb]=Ta;Za[cb+1]=Ta+1;Za[cb+2]=Ta+2;cb+=
|
|
|
|
-3;db[Va]=Ta;db[Va+1]=Ta+1;db[Va+2]=Ta;db[Va+3]=Ta+2;db[Va+4]=Ta+1;db[Va+5]=Ta+2;Va+=6;Ta+=3}}else if(F instanceof THREE.Face4){if(sb){Ka=nb[F.a].position;Ja=nb[F.b].position;Ia=nb[F.c].position;Wa=nb[F.d].position;La[Qa]=Ka.x;La[Qa+1]=Ka.y;La[Qa+2]=Ka.z;La[Qa+3]=Ja.x;La[Qa+4]=Ja.y;La[Qa+5]=Ja.z;La[Qa+6]=Ia.x;La[Qa+7]=Ia.y;La[Qa+8]=Ia.z;La[Qa+9]=Wa.x;La[Qa+10]=Wa.y;La[Qa+11]=Wa.z;Qa+=12}if(Ya)for(eb in Ya){t=Ya[eb];if(t.needsUpdate){D=t.offset;aa=t.offsetSrc;if(t.size===1){if(t.boundTo===undefined||
|
|
|
|
-t.boundTo==="vertices"){t.array[D+0]=t.value[F.a];t.array[D+1]=t.value[F.b];t.array[D+2]=t.value[F.c];t.array[D+2]=t.value[F.d]}else if(t.boundTo==="faces"){t.array[D+0]=t.value[aa];t.array[D+1]=t.value[aa];t.array[D+2]=t.value[aa];t.array[D+2]=t.value[aa];t.offsetSrc++}else if(t.boundTo==="faceVertices"){t.array[D+0]=t.value[aa+0];t.array[D+1]=t.value[aa+1];t.array[D+2]=t.value[aa+2];t.array[D+2]=t.value[aa+3];t.offsetSrc+=4}t.offset+=4}else{if(t.boundTo===undefined||t.boundTo==="vertices"){Ka=t.value[F.a];
|
|
|
|
-Ja=t.value[F.b];Ia=t.value[F.c];Wa=t.value[F.d]}else if(t.boundTo==="faces"){Ka=t.value[aa];Ja=t.value[aa];Ia=t.value[aa];Wa=t.value[aa];t.offsetSrc++}else if(t.boundTo==="faceVertices"){Ka=t.value[aa+0];Ja=t.value[aa+1];Ia=t.value[aa+2];Wa=t.value[aa+3];t.offsetSrc+=4}if(t.size===2){t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ja.x;t.array[D+3]=Ja.y;t.array[D+4]=Ia.x;t.array[D+5]=Ia.y;t.array[D+6]=Wa.x;t.array[D+7]=Wa.y;t.offset+=8}else if(t.size===3){if(t.type==="c"){t.array[D+0]=Ka.r;t.array[D+
|
|
|
|
-1]=Ka.g;t.array[D+2]=Ka.b;t.array[D+3]=Ja.r;t.array[D+4]=Ja.g;t.array[D+5]=Ja.b;t.array[D+6]=Ia.r;t.array[D+7]=Ia.g;t.array[D+8]=Ia.b;t.array[D+9]=Wa.r;t.array[D+10]=Wa.g;t.array[D+11]=Wa.b}else{t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ka.z;t.array[D+3]=Ja.x;t.array[D+4]=Ja.y;t.array[D+5]=Ja.z;t.array[D+6]=Ia.x;t.array[D+7]=Ia.y;t.array[D+8]=Ia.z;t.array[D+9]=Wa.x;t.array[D+10]=Wa.y;t.array[D+11]=Wa.z}t.offset+=12}else{t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ka.z;t.array[D+3]=Ka.w;
|
|
|
|
-t.array[D+4]=Ja.x;t.array[D+5]=Ja.y;t.array[D+6]=Ja.z;t.array[D+7]=Ja.w;t.array[D+8]=Ia.x;t.array[D+9]=Ia.y;t.array[D+10]=Ia.z;t.array[D+11]=Ia.w;t.array[D+12]=Wa.x;t.array[D+13]=Wa.y;t.array[D+14]=Wa.z;t.array[D+15]=Wa.w;t.offset+=16}}}}if(xb){D=0;for(aa=kb.length;D<aa;D++){Ka=kb[D].vertices[F.a].position;Ja=kb[D].vertices[F.b].position;Ia=kb[D].vertices[F.c].position;Wa=kb[D].vertices[F.d].position;t=ib[D];t[Xa+0]=Ka.x;t[Xa+1]=Ka.y;t[Xa+2]=Ka.z;t[Xa+3]=Ja.x;t[Xa+4]=Ja.y;t[Xa+5]=Ja.z;t[Xa+6]=Ia.x;
|
|
|
|
-t[Xa+7]=Ia.y;t[Xa+8]=Ia.z;t[Xa+9]=Wa.x;t[Xa+10]=Wa.y;t[Xa+11]=Wa.z}Xa+=12}if(lb.length){D=lb[F.a];aa=lb[F.b];t=lb[F.c];bb=lb[F.d];Ea[T]=D.x;Ea[T+1]=D.y;Ea[T+2]=D.z;Ea[T+3]=D.w;Ea[T+4]=aa.x;Ea[T+5]=aa.y;Ea[T+6]=aa.z;Ea[T+7]=aa.w;Ea[T+8]=t.x;Ea[T+9]=t.y;Ea[T+10]=t.z;Ea[T+11]=t.w;Ea[T+12]=bb.x;Ea[T+13]=bb.y;Ea[T+14]=bb.z;Ea[T+15]=bb.w;D=qb[F.a];aa=qb[F.b];t=qb[F.c];bb=qb[F.d];Q[T]=D.x;Q[T+1]=D.y;Q[T+2]=D.z;Q[T+3]=D.w;Q[T+4]=aa.x;Q[T+5]=aa.y;Q[T+6]=aa.z;Q[T+7]=aa.w;Q[T+8]=t.x;Q[T+9]=t.y;Q[T+10]=t.z;Q[T+
|
|
|
|
-11]=t.w;Q[T+12]=bb.x;Q[T+13]=bb.y;Q[T+14]=bb.z;Q[T+15]=bb.w;D=ob[F.a];aa=ob[F.b];t=ob[F.c];bb=ob[F.d];qa[T]=D.x;qa[T+1]=D.y;qa[T+2]=D.z;qa[T+3]=1;qa[T+4]=aa.x;qa[T+5]=aa.y;qa[T+6]=aa.z;qa[T+7]=1;qa[T+8]=t.x;qa[T+9]=t.y;qa[T+10]=t.z;qa[T+11]=1;qa[T+12]=bb.x;qa[T+13]=bb.y;qa[T+14]=bb.z;qa[T+15]=1;D=pb[F.a];aa=pb[F.b];t=pb[F.c];F=pb[F.d];ha[T]=D.x;ha[T+1]=D.y;ha[T+2]=D.z;ha[T+3]=1;ha[T+4]=aa.x;ha[T+5]=aa.y;ha[T+6]=aa.z;ha[T+7]=1;ha[T+8]=t.x;ha[T+9]=t.y;ha[T+10]=t.z;ha[T+11]=1;ha[T+12]=F.x;ha[T+13]=F.y;
|
|
|
|
-ha[T+14]=F.z;ha[T+15]=1;T+=16}if(wb&&va){if(I.length==4&&va==THREE.VertexColors){F=I[0];D=I[1];aa=I[2];I=I[3]}else I=aa=D=F=X;Ca[Pa]=F.r;Ca[Pa+1]=F.g;Ca[Pa+2]=F.b;Ca[Pa+3]=D.r;Ca[Pa+4]=D.g;Ca[Pa+5]=D.b;Ca[Pa+6]=aa.r;Ca[Pa+7]=aa.g;Ca[Pa+8]=aa.b;Ca[Pa+9]=I.r;Ca[Pa+10]=I.g;Ca[Pa+11]=I.b;Pa+=12}if(vb&&Ua.hasTangents){I=U[0];X=U[1];F=U[2];U=U[3];Y[sa]=I.x;Y[sa+1]=I.y;Y[sa+2]=I.z;Y[sa+3]=I.w;Y[sa+4]=X.x;Y[sa+5]=X.y;Y[sa+6]=X.z;Y[sa+7]=X.w;Y[sa+8]=F.x;Y[sa+9]=F.y;Y[sa+10]=F.z;Y[sa+11]=F.w;Y[sa+12]=U.x;Y[sa+
|
|
|
|
-13]=U.y;Y[sa+14]=U.z;Y[sa+15]=U.w;sa+=16}if(ub&&ra)if(P.length==4&&jb)for(U=0;U<4;U++){M=P[U];na[fb]=M.x;na[fb+1]=M.y;na[fb+2]=M.z;fb+=3}else for(U=0;U<4;U++){na[fb]=M.x;na[fb+1]=M.y;na[fb+2]=M.z;fb+=3}if(rb&&Na!==undefined&&ya)for(U=0;U<4;U++){P=Na[U];V[hb]=P.u;V[hb+1]=P.v;hb+=2}if(rb&&Sa!==undefined&&ya)for(U=0;U<4;U++){P=Sa[U];za[gb]=P.u;za[gb+1]=P.v;gb+=2}if(tb){Za[cb]=Ta;Za[cb+1]=Ta+1;Za[cb+2]=Ta+3;Za[cb+3]=Ta+1;Za[cb+4]=Ta+2;Za[cb+5]=Ta+3;cb+=6;db[Va]=Ta;db[Va+1]=Ta+1;db[Va+2]=Ta;db[Va+3]=Ta+
|
|
|
|
-3;db[Va+4]=Ta+1;db[Va+5]=Ta+2;db[Va+6]=Ta+2;db[Va+7]=Ta+3;Va+=8;Ta+=4}}}if(mb){L=0;for(E=mb.length;L<E;L++){Za[cb]=mb[L].a;Za[cb+1]=mb[L].b;Za[cb+2]=mb[L].c;Za[cb+3]=mb[L].a;Za[cb+4]=mb[L].c;Za[cb+5]=mb[L].d;cb+=6}}if(sb){e.bindBuffer(e.ARRAY_BUFFER,u.__webglVertexBuffer);e.bufferData(e.ARRAY_BUFFER,La,J)}if(Ya)for(eb in Ya){t=Ya[eb];if(t.needsUpdate){e.bindBuffer(e.ARRAY_BUFFER,t.buffer);e.bufferData(e.ARRAY_BUFFER,t.array,J);t.needsUpdate=!1}}if(xb){D=0;for(aa=kb.length;D<aa;D++){e.bindBuffer(e.ARRAY_BUFFER,
|
|
|
|
-u.__webglMorphTargetsBuffers[D]);e.bufferData(e.ARRAY_BUFFER,ib[D],J)}}if(wb&&Pa>0){e.bindBuffer(e.ARRAY_BUFFER,u.__webglColorBuffer);e.bufferData(e.ARRAY_BUFFER,Ca,J)}if(ub){e.bindBuffer(e.ARRAY_BUFFER,u.__webglNormalBuffer);e.bufferData(e.ARRAY_BUFFER,na,J)}if(vb&&Ua.hasTangents){e.bindBuffer(e.ARRAY_BUFFER,u.__webglTangentBuffer);e.bufferData(e.ARRAY_BUFFER,Y,J)}if(rb&&hb>0){e.bindBuffer(e.ARRAY_BUFFER,u.__webglUVBuffer);e.bufferData(e.ARRAY_BUFFER,V,J)}if(rb&&gb>0){e.bindBuffer(e.ARRAY_BUFFER,
|
|
|
|
-u.__webglUV2Buffer);e.bufferData(e.ARRAY_BUFFER,za,J)}if(tb){e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,u.__webglFaceBuffer);e.bufferData(e.ELEMENT_ARRAY_BUFFER,Za,J);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,u.__webglLineBuffer);e.bufferData(e.ELEMENT_ARRAY_BUFFER,db,J)}if(T>0){e.bindBuffer(e.ARRAY_BUFFER,u.__webglSkinVertexABuffer);e.bufferData(e.ARRAY_BUFFER,qa,J);e.bindBuffer(e.ARRAY_BUFFER,u.__webglSkinVertexBBuffer);e.bufferData(e.ARRAY_BUFFER,ha,J);e.bindBuffer(e.ARRAY_BUFFER,u.__webglSkinIndicesBuffer);
|
|
|
|
-e.bufferData(e.ARRAY_BUFFER,Q,J);e.bindBuffer(e.ARRAY_BUFFER,u.__webglSkinWeightsBuffer);e.bufferData(e.ARRAY_BUFFER,Ea,J)}}}x.__dirtyVertices=!1;x.__dirtyMorphTargets=!1;x.__dirtyElements=!1;x.__dirtyUvs=!1;x.__dirtyNormals=!1;x.__dirtyTangents=!1;x.__dirtyColors=!1}else if(m instanceof THREE.Ribbon){x=m.geometry;if(x.__dirtyVertices||x.__dirtyColors){m=x;B=e.DYNAMIC_DRAW;va=m.vertices;u=m.colors;ra=va.length;J=u.length;Na=m.__vertexArray;L=m.__colorArray;Sa=m.__dirtyColors;if(m.__dirtyVertices){for(E=
|
|
|
|
-0;E<ra;E++){ya=va[E].position;z=E*3;Na[z]=ya.x;Na[z+1]=ya.y;Na[z+2]=ya.z}e.bindBuffer(e.ARRAY_BUFFER,m.__webglVertexBuffer);e.bufferData(e.ARRAY_BUFFER,Na,B)}if(Sa){for(E=0;E<J;E++){color=u[E];z=E*3;L[z]=color.r;L[z+1]=color.g;L[z+2]=color.b}e.bindBuffer(e.ARRAY_BUFFER,m.__webglColorBuffer);e.bufferData(e.ARRAY_BUFFER,L,B)}}x.__dirtyVertices=!1;x.__dirtyColors=!1}else if(m instanceof THREE.Line){x=m.geometry;if(x.__dirtyVertices||x.__dirtyColors){m=x;B=e.DYNAMIC_DRAW;va=m.vertices;u=m.colors;ra=va.length;
|
|
|
|
-J=u.length;Na=m.__vertexArray;L=m.__colorArray;Sa=m.__dirtyColors;if(m.__dirtyVertices){for(E=0;E<ra;E++){ya=va[E].position;z=E*3;Na[z]=ya.x;Na[z+1]=ya.y;Na[z+2]=ya.z}e.bindBuffer(e.ARRAY_BUFFER,m.__webglVertexBuffer);e.bufferData(e.ARRAY_BUFFER,Na,B)}if(Sa){for(E=0;E<J;E++){color=u[E];z=E*3;L[z]=color.r;L[z+1]=color.g;L[z+2]=color.b}e.bindBuffer(e.ARRAY_BUFFER,m.__webglColorBuffer);e.bufferData(e.ARRAY_BUFFER,L,B)}}x.__dirtyVertices=!1;x.__dirtyColors=!1}else if(m instanceof THREE.ParticleSystem){x=
|
|
|
|
-m.geometry;(x.__dirtyVertices||x.__dirtyColors||m.sortParticles)&&c(x,e.DYNAMIC_DRAW,m);x.__dirtyVertices=!1;x.__dirtyColors=!1}}function W(m){function B(X){var U=[];x=0;for(u=X.length;x<u;x++)X[x]==undefined?U.push("undefined"):U.push(X[x].id);return U.join("_")}var x,u,z,J,L,E,P,F,M={},I=m.morphTargets!==undefined?m.morphTargets.length:0;m.geometryGroups={};z=0;for(J=m.faces.length;z<J;z++){L=m.faces[z];E=L.materials;P=B(E);M[P]==undefined&&(M[P]={hash:P,counter:0});F=M[P].hash+"_"+M[P].counter;
|
|
|
|
-m.geometryGroups[F]==undefined&&(m.geometryGroups[F]={faces:[],materials:E,vertices:0,numMorphTargets:I});L=L instanceof THREE.Face3?3:4;if(m.geometryGroups[F].vertices+L>65535){M[P].counter+=1;F=M[P].hash+"_"+M[P].counter;m.geometryGroups[F]==undefined&&(m.geometryGroups[F]={faces:[],materials:E,vertices:0,numMorphTargets:I})}m.geometryGroups[F].faces.push(z);m.geometryGroups[F].vertices+=L}}function A(m,B,x){m.push({buffer:B,object:x,opaque:{list:[],count:0},transparent:{list:[],count:0}})}function N(m){if(m!=
|
|
|
|
-ga){switch(m){case THREE.AdditiveBlending:e.blendEquation(e.FUNC_ADD);e.blendFunc(e.SRC_ALPHA,e.ONE);break;case THREE.SubtractiveBlending:e.blendEquation(e.FUNC_ADD);e.blendFunc(e.ZERO,e.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:e.blendEquation(e.FUNC_ADD);e.blendFunc(e.ZERO,e.SRC_COLOR);break;default:e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD);e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA)}ga=m}}function O(m,B,x){if((x.width&x.width-1)==0&&(x.height&
|
|
|
|
-x.height-1)==0){e.texParameteri(m,e.TEXTURE_WRAP_S,ca(B.wrapS));e.texParameteri(m,e.TEXTURE_WRAP_T,ca(B.wrapT));e.texParameteri(m,e.TEXTURE_MAG_FILTER,ca(B.magFilter));e.texParameteri(m,e.TEXTURE_MIN_FILTER,ca(B.minFilter));e.generateMipmap(m)}else{e.texParameteri(m,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE);e.texParameteri(m,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE);e.texParameteri(m,e.TEXTURE_MAG_FILTER,ua(B.magFilter));e.texParameteri(m,e.TEXTURE_MIN_FILTER,ua(B.minFilter))}}function R(m,B){if(m.needsUpdate){if(m.__webglInit){e.bindTexture(e.TEXTURE_2D,
|
|
|
|
-m.__webglTexture);e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,m.image)}else{m.__webglTexture=e.createTexture();e.bindTexture(e.TEXTURE_2D,m.__webglTexture);e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,m.image);m.__webglInit=!0}O(e.TEXTURE_2D,m,m.image);e.bindTexture(e.TEXTURE_2D,null);m.needsUpdate=!1}e.activeTexture(e.TEXTURE0+B);e.bindTexture(e.TEXTURE_2D,m.__webglTexture)}function Fa(m){if(m&&!m.__webglFramebuffer){if(m.depthBuffer===undefined)m.depthBuffer=!0;if(m.stencilBuffer===
|
|
|
|
-undefined)m.stencilBuffer=!0;m.__webglFramebuffer=e.createFramebuffer();m.__webglRenderbuffer=e.createRenderbuffer();m.__webglTexture=e.createTexture();e.bindTexture(e.TEXTURE_2D,m.__webglTexture);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,ca(m.wrapS));e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,ca(m.wrapT));e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,ca(m.magFilter));e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,ca(m.minFilter));e.texImage2D(e.TEXTURE_2D,0,ca(m.format),m.width,m.height,
|
|
|
|
-0,ca(m.format),ca(m.type),null);e.bindRenderbuffer(e.RENDERBUFFER,m.__webglRenderbuffer);e.bindFramebuffer(e.FRAMEBUFFER,m.__webglFramebuffer);e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,m.__webglTexture,0);if(m.depthBuffer&&!m.stencilBuffer){e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,m.width,m.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,m.__webglRenderbuffer)}else if(m.depthBuffer&&m.stencilBuffer){e.renderbufferStorage(e.RENDERBUFFER,
|
|
|
|
|
|
+I=!0;e.useProgram(_sprite.program);xa=_sprite.program;ga="";e.disable(e.CULL_FACE);e.enable(e.BLEND);e.bindBuffer(e.ARRAY_BUFFER,_sprite.vertexBuffer);e.vertexAttribPointer(x.position,2,e.FLOAT,!1,16,0);e.vertexAttribPointer(x.uv,2,e.FLOAT,!1,16,8);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,_sprite.elementBuffer);e.uniformMatrix4fv(J.projectionMatrix,!1,$a);e.activeTexture(e.TEXTURE0);e.uniform1i(J.map,0);x=0;for(u=m.__webglSprites.length;x<u;x++){z=m.__webglSprites[x];if(z.material===undefined&&z.map&&
|
|
|
|
+z.map.image&&z.map.image.width){if(z.useScreenCoordinates){e.uniform1i(J.useScreenCoordinates,1);e.uniform3f(J.screenPosition,(z.position.x-F)/F,(M-z.position.y)/M,z.position.z)}else{z._modelViewMatrix.multiplyToArray(B.matrixWorldInverse,z.matrixWorld,z._modelViewMatrixArray);e.uniform1i(J.useScreenCoordinates,0);e.uniform1i(J.affectedByDistance,z.affectedByDistance?1:0);e.uniformMatrix4fv(J.modelViewMatrix,!1,z._modelViewMatrixArray)}E=z.map.image.width/(z.affectedByDistance?1:ja);P[0]=E*L*z.scale.x;
|
|
|
|
+P[1]=E*z.scale.y;e.uniform2f(J.uvScale,z.uvScale.x,z.uvScale.y);e.uniform2f(J.uvOffset,z.uvOffset.x,z.uvOffset.y);e.uniform2f(J.alignment,z.alignment.x,z.alignment.y);e.uniform1f(J.opacity,z.opacity);e.uniform1f(J.rotation,z.rotation);e.uniform2fv(J.scale,P);if(z.mergeWith3D&&!I){e.enable(e.DEPTH_TEST);e.depthMask(!0);I=!0}else if(!z.mergeWith3D&&I){e.disable(e.DEPTH_TEST);e.depthMask(!1);I=!1}N(z.blending);R(z.map,0);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0)}}e.enable(e.CULL_FACE);e.enable(e.DEPTH_TEST);
|
|
|
|
+e.depthMask(oa)}function G(m,B){var x,u,z=m.__webglLensFlares.length,J,L,E,P=new THREE.Vector3,F=ja/ia,M=ia*0.5,I=ja*0.5,X=16/ja,U=[X*F,X],ya=[1,1,0],va=[1,1],ra=fa.uniforms;x=fa.attributes;e.useProgram(fa.program);xa=fa.program;ga="";e.uniform1i(ra.occlusionMap,0);e.uniform1i(ra.map,1);e.bindBuffer(e.ARRAY_BUFFER,fa.vertexBuffer);e.vertexAttribPointer(x.vertex,2,e.FLOAT,!1,16,0);e.vertexAttribPointer(x.uv,2,e.FLOAT,!1,16,8);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,fa.elementBuffer);e.disable(e.CULL_FACE);
|
|
|
|
+e.depthMask(!1);e.activeTexture(e.TEXTURE0);e.bindTexture(e.TEXTURE_2D,fa.occlusionTexture);e.activeTexture(e.TEXTURE1);for(u=0;u<z;u++){x=m.__webglLensFlares[u].object;P.set(x.matrixWorld.n14,x.matrixWorld.n24,x.matrixWorld.n34);B.matrixWorldInverse.multiplyVector3(P);B.projectionMatrix.multiplyVector3(P);ya[0]=P.x;ya[1]=P.y;ya[2]=P.z;va[0]=ya[0]*M+M;va[1]=ya[1]*I+I;if(fa.hasVertexTexture||va[0]>0&&va[0]<ia&&va[1]>0&&va[1]<ja){e.bindTexture(e.TEXTURE_2D,fa.tempTexture);e.copyTexImage2D(e.TEXTURE_2D,
|
|
|
|
+0,e.RGB,va[0]-8,va[1]-8,16,16,0);e.uniform1i(ra.renderType,0);e.uniform2fv(ra.scale,U);e.uniform3fv(ra.screenPosition,ya);e.disable(e.BLEND);e.enable(e.DEPTH_TEST);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0);e.bindTexture(e.TEXTURE_2D,fa.occlusionTexture);e.copyTexImage2D(e.TEXTURE_2D,0,e.RGBA,va[0]-8,va[1]-8,16,16,0);e.uniform1i(ra.renderType,1);e.disable(e.DEPTH_TEST);e.bindTexture(e.TEXTURE_2D,fa.tempTexture);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0);x.positionScreen.x=ya[0];x.positionScreen.y=
|
|
|
|
+ya[1];x.positionScreen.z=ya[2];x.customUpdateCallback?x.customUpdateCallback(x):x.updateLensFlares();e.uniform1i(ra.renderType,2);e.enable(e.BLEND);J=0;for(L=x.lensFlares.length;J<L;J++){E=x.lensFlares[J];if(E.opacity>0.0010&&E.scale>0.0010){ya[0]=E.x;ya[1]=E.y;ya[2]=E.z;X=E.size*E.scale/ja;U[0]=X*F;U[1]=X;e.uniform3fv(ra.screenPosition,ya);e.uniform2fv(ra.scale,U);e.uniform1f(ra.rotation,E.rotation);e.uniform1f(ra.opacity,E.opacity);N(E.blending);R(E.texture,1);e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,
|
|
|
|
+0)}}}}e.enable(e.CULL_FACE);e.enable(e.DEPTH_TEST);e.depthMask(oa)}function H(m,B){m._modelViewMatrix.multiplyToArray(B.matrixWorldInverse,m.matrixWorld,m._modelViewMatrixArray);THREE.Matrix4.makeInvert3x3(m._modelViewMatrix).transposeIntoArray(m._normalMatrixArray)}function K(m){var B,x,u,z,J;if(m instanceof THREE.Mesh){x=m.geometry;for(B in x.geometryGroups){u=x.geometryGroups[B];J=!1;for(z in u.__webglCustomAttributes)if(u.__webglCustomAttributes[z].needsUpdate){J=!0;break}if(x.__dirtyVertices||
|
|
|
|
+x.__dirtyMorphTargets||x.__dirtyElements||x.__dirtyUvs||x.__dirtyNormals||x.__dirtyColors||x.__dirtyTangents||J){J=e.DYNAMIC_DRAW;var L=void 0,E=void 0,P=void 0,F=void 0;P=void 0;var M=void 0,I=void 0,X=void 0,U=void 0,ya=void 0,va=void 0,ra=void 0,Na=void 0,Sa=void 0,Ka=void 0,Ja=void 0,Ia=void 0,Wa=void 0;I=void 0;X=void 0;F=void 0;U=void 0;F=void 0;var D=void 0,aa=void 0;I=void 0;D=void 0;aa=void 0;var t=void 0,bb=void 0;D=void 0;aa=void 0;t=void 0;bb=void 0;D=void 0;aa=void 0;t=void 0;bb=void 0;
|
|
|
|
+D=void 0;aa=void 0;t=void 0;F=void 0;U=void 0;M=void 0;P=void 0;P=void 0;D=void 0;aa=void 0;t=void 0;var eb=void 0,Ta=0,Qa=0,hb=0,gb=0,cb=0,fb=0,sa=0,Va=0,Pa=0,T=0,Xa=0;aa=D=0;var La=u.__vertexArray,V=u.__uvArray,za=u.__uv2Array,na=u.__normalArray,Y=u.__tangentArray,Ca=u.__colorArray,qa=u.__skinVertexAArray,ha=u.__skinVertexBArray,Q=u.__skinIndexArray,Ea=u.__skinWeightArray,ib=u.__morphTargetsArrays,Ya=u.__webglCustomAttributes;t=void 0;var Za=u.__faceArray,db=u.__lineArray,jb=u.__needsSmoothNormals;
|
|
|
|
+va=u.__vertexColorType;ya=u.__uvType;ra=u.__normalType;var Ua=m.geometry,sb=Ua.__dirtyVertices,tb=Ua.__dirtyElements,rb=Ua.__dirtyUvs,ub=Ua.__dirtyNormals,vb=Ua.__dirtyTangents,wb=Ua.__dirtyColors,xb=Ua.__dirtyMorphTargets,nb=Ua.vertices,yb=u.faces,Bb=Ua.faces,zb=Ua.faceVertexUvs[0],Ab=Ua.faceVertexUvs[1],ob=Ua.skinVerticesA,pb=Ua.skinVerticesB,qb=Ua.skinIndices,lb=Ua.skinWeights,mb=Ua.edgeFaces,kb=Ua.morphTargets;if(Ya)for(eb in Ya){Ya[eb].offset=0;Ya[eb].offsetSrc=0}L=0;for(E=yb.length;L<E;L++){P=
|
|
|
|
+yb[L];F=Bb[P];zb&&(Na=zb[P]);Ab&&(Sa=Ab[P]);P=F.vertexNormals;M=F.normal;I=F.vertexColors;X=F.color;U=F.vertexTangents;if(F instanceof THREE.Face3){if(sb){Ka=nb[F.a].position;Ja=nb[F.b].position;Ia=nb[F.c].position;La[Qa]=Ka.x;La[Qa+1]=Ka.y;La[Qa+2]=Ka.z;La[Qa+3]=Ja.x;La[Qa+4]=Ja.y;La[Qa+5]=Ja.z;La[Qa+6]=Ia.x;La[Qa+7]=Ia.y;La[Qa+8]=Ia.z;Qa+=9}if(Ya)for(eb in Ya){t=Ya[eb];if(t.needsUpdate){D=t.offset;aa=t.offsetSrc;if(t.size===1){if(t.boundTo===undefined||t.boundTo==="vertices"){t.array[D+0]=t.value[F.a];
|
|
|
|
+t.array[D+1]=t.value[F.b];t.array[D+2]=t.value[F.c]}else if(t.boundTo==="faces"){t.array[D+0]=t.value[aa];t.array[D+1]=t.value[aa];t.array[D+2]=t.value[aa];t.offsetSrc++}else if(t.boundTo==="faceVertices"){t.array[D+0]=t.value[aa+0];t.array[D+1]=t.value[aa+1];t.array[D+2]=t.value[aa+2];t.offsetSrc+=3}t.offset+=3}else{if(t.boundTo===undefined||t.boundTo==="vertices"){Ka=t.value[F.a];Ja=t.value[F.b];Ia=t.value[F.c]}else if(t.boundTo==="faces"){Ka=t.value[aa];Ja=t.value[aa];Ia=t.value[aa];t.offsetSrc++}else if(t.boundTo===
|
|
|
|
+"faceVertices"){Ka=t.value[aa+0];Ja=t.value[aa+1];Ia=t.value[aa+2];t.offsetSrc+=3}if(t.size===2){t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ja.x;t.array[D+3]=Ja.y;t.array[D+4]=Ia.x;t.array[D+5]=Ia.y;t.offset+=6}else if(t.size===3){if(t.type==="c"){t.array[D+0]=Ka.r;t.array[D+1]=Ka.g;t.array[D+2]=Ka.b;t.array[D+3]=Ja.r;t.array[D+4]=Ja.g;t.array[D+5]=Ja.b;t.array[D+6]=Ia.r;t.array[D+7]=Ia.g;t.array[D+8]=Ia.b}else{t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ka.z;t.array[D+3]=Ja.x;t.array[D+
|
|
|
|
+4]=Ja.y;t.array[D+5]=Ja.z;t.array[D+6]=Ia.x;t.array[D+7]=Ia.y;t.array[D+8]=Ia.z}t.offset+=9}else{t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ka.z;t.array[D+3]=Ka.w;t.array[D+4]=Ja.x;t.array[D+5]=Ja.y;t.array[D+6]=Ja.z;t.array[D+7]=Ja.w;t.array[D+8]=Ia.x;t.array[D+9]=Ia.y;t.array[D+10]=Ia.z;t.array[D+11]=Ia.w;t.offset+=12}}}}if(xb){D=0;for(aa=kb.length;D<aa;D++){Ka=kb[D].vertices[F.a].position;Ja=kb[D].vertices[F.b].position;Ia=kb[D].vertices[F.c].position;t=ib[D];t[Xa+0]=Ka.x;t[Xa+1]=Ka.y;t[Xa+
|
|
|
|
+2]=Ka.z;t[Xa+3]=Ja.x;t[Xa+4]=Ja.y;t[Xa+5]=Ja.z;t[Xa+6]=Ia.x;t[Xa+7]=Ia.y;t[Xa+8]=Ia.z}Xa+=9}if(lb.length){D=lb[F.a];aa=lb[F.b];t=lb[F.c];Ea[T]=D.x;Ea[T+1]=D.y;Ea[T+2]=D.z;Ea[T+3]=D.w;Ea[T+4]=aa.x;Ea[T+5]=aa.y;Ea[T+6]=aa.z;Ea[T+7]=aa.w;Ea[T+8]=t.x;Ea[T+9]=t.y;Ea[T+10]=t.z;Ea[T+11]=t.w;D=qb[F.a];aa=qb[F.b];t=qb[F.c];Q[T]=D.x;Q[T+1]=D.y;Q[T+2]=D.z;Q[T+3]=D.w;Q[T+4]=aa.x;Q[T+5]=aa.y;Q[T+6]=aa.z;Q[T+7]=aa.w;Q[T+8]=t.x;Q[T+9]=t.y;Q[T+10]=t.z;Q[T+11]=t.w;D=ob[F.a];aa=ob[F.b];t=ob[F.c];qa[T]=D.x;qa[T+1]=
|
|
|
|
+D.y;qa[T+2]=D.z;qa[T+3]=1;qa[T+4]=aa.x;qa[T+5]=aa.y;qa[T+6]=aa.z;qa[T+7]=1;qa[T+8]=t.x;qa[T+9]=t.y;qa[T+10]=t.z;qa[T+11]=1;D=pb[F.a];aa=pb[F.b];t=pb[F.c];ha[T]=D.x;ha[T+1]=D.y;ha[T+2]=D.z;ha[T+3]=1;ha[T+4]=aa.x;ha[T+5]=aa.y;ha[T+6]=aa.z;ha[T+7]=1;ha[T+8]=t.x;ha[T+9]=t.y;ha[T+10]=t.z;ha[T+11]=1;T+=12}if(wb&&va){if(I.length==3&&va==THREE.VertexColors){F=I[0];D=I[1];aa=I[2]}else aa=D=F=X;Ca[Pa]=F.r;Ca[Pa+1]=F.g;Ca[Pa+2]=F.b;Ca[Pa+3]=D.r;Ca[Pa+4]=D.g;Ca[Pa+5]=D.b;Ca[Pa+6]=aa.r;Ca[Pa+7]=aa.g;Ca[Pa+8]=
|
|
|
|
+aa.b;Pa+=9}if(vb&&Ua.hasTangents){I=U[0];X=U[1];F=U[2];Y[sa]=I.x;Y[sa+1]=I.y;Y[sa+2]=I.z;Y[sa+3]=I.w;Y[sa+4]=X.x;Y[sa+5]=X.y;Y[sa+6]=X.z;Y[sa+7]=X.w;Y[sa+8]=F.x;Y[sa+9]=F.y;Y[sa+10]=F.z;Y[sa+11]=F.w;sa+=12}if(ub&&ra)if(P.length==3&&jb)for(U=0;U<3;U++){M=P[U];na[fb]=M.x;na[fb+1]=M.y;na[fb+2]=M.z;fb+=3}else for(U=0;U<3;U++){na[fb]=M.x;na[fb+1]=M.y;na[fb+2]=M.z;fb+=3}if(rb&&Na!==undefined&&ya)for(U=0;U<3;U++){P=Na[U];V[hb]=P.u;V[hb+1]=P.v;hb+=2}if(rb&&Sa!==undefined&&ya)for(U=0;U<3;U++){P=Sa[U];za[gb]=
|
|
|
|
+P.u;za[gb+1]=P.v;gb+=2}if(tb){Za[cb]=Ta;Za[cb+1]=Ta+1;Za[cb+2]=Ta+2;cb+=3;db[Va]=Ta;db[Va+1]=Ta+1;db[Va+2]=Ta;db[Va+3]=Ta+2;db[Va+4]=Ta+1;db[Va+5]=Ta+2;Va+=6;Ta+=3}}else if(F instanceof THREE.Face4){if(sb){Ka=nb[F.a].position;Ja=nb[F.b].position;Ia=nb[F.c].position;Wa=nb[F.d].position;La[Qa]=Ka.x;La[Qa+1]=Ka.y;La[Qa+2]=Ka.z;La[Qa+3]=Ja.x;La[Qa+4]=Ja.y;La[Qa+5]=Ja.z;La[Qa+6]=Ia.x;La[Qa+7]=Ia.y;La[Qa+8]=Ia.z;La[Qa+9]=Wa.x;La[Qa+10]=Wa.y;La[Qa+11]=Wa.z;Qa+=12}if(Ya)for(eb in Ya){t=Ya[eb];if(t.needsUpdate){D=
|
|
|
|
+t.offset;aa=t.offsetSrc;if(t.size===1){if(t.boundTo===undefined||t.boundTo==="vertices"){t.array[D+0]=t.value[F.a];t.array[D+1]=t.value[F.b];t.array[D+2]=t.value[F.c];t.array[D+2]=t.value[F.d]}else if(t.boundTo==="faces"){t.array[D+0]=t.value[aa];t.array[D+1]=t.value[aa];t.array[D+2]=t.value[aa];t.array[D+2]=t.value[aa];t.offsetSrc++}else if(t.boundTo==="faceVertices"){t.array[D+0]=t.value[aa+0];t.array[D+1]=t.value[aa+1];t.array[D+2]=t.value[aa+2];t.array[D+2]=t.value[aa+3];t.offsetSrc+=4}t.offset+=
|
|
|
|
+4}else{if(t.boundTo===undefined||t.boundTo==="vertices"){Ka=t.value[F.a];Ja=t.value[F.b];Ia=t.value[F.c];Wa=t.value[F.d]}else if(t.boundTo==="faces"){Ka=t.value[aa];Ja=t.value[aa];Ia=t.value[aa];Wa=t.value[aa];t.offsetSrc++}else if(t.boundTo==="faceVertices"){Ka=t.value[aa+0];Ja=t.value[aa+1];Ia=t.value[aa+2];Wa=t.value[aa+3];t.offsetSrc+=4}if(t.size===2){t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ja.x;t.array[D+3]=Ja.y;t.array[D+4]=Ia.x;t.array[D+5]=Ia.y;t.array[D+6]=Wa.x;t.array[D+7]=Wa.y;
|
|
|
|
+t.offset+=8}else if(t.size===3){if(t.type==="c"){t.array[D+0]=Ka.r;t.array[D+1]=Ka.g;t.array[D+2]=Ka.b;t.array[D+3]=Ja.r;t.array[D+4]=Ja.g;t.array[D+5]=Ja.b;t.array[D+6]=Ia.r;t.array[D+7]=Ia.g;t.array[D+8]=Ia.b;t.array[D+9]=Wa.r;t.array[D+10]=Wa.g;t.array[D+11]=Wa.b}else{t.array[D+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ka.z;t.array[D+3]=Ja.x;t.array[D+4]=Ja.y;t.array[D+5]=Ja.z;t.array[D+6]=Ia.x;t.array[D+7]=Ia.y;t.array[D+8]=Ia.z;t.array[D+9]=Wa.x;t.array[D+10]=Wa.y;t.array[D+11]=Wa.z}t.offset+=12}else{t.array[D+
|
|
|
|
+0]=Ka.x;t.array[D+1]=Ka.y;t.array[D+2]=Ka.z;t.array[D+3]=Ka.w;t.array[D+4]=Ja.x;t.array[D+5]=Ja.y;t.array[D+6]=Ja.z;t.array[D+7]=Ja.w;t.array[D+8]=Ia.x;t.array[D+9]=Ia.y;t.array[D+10]=Ia.z;t.array[D+11]=Ia.w;t.array[D+12]=Wa.x;t.array[D+13]=Wa.y;t.array[D+14]=Wa.z;t.array[D+15]=Wa.w;t.offset+=16}}}}if(xb){D=0;for(aa=kb.length;D<aa;D++){Ka=kb[D].vertices[F.a].position;Ja=kb[D].vertices[F.b].position;Ia=kb[D].vertices[F.c].position;Wa=kb[D].vertices[F.d].position;t=ib[D];t[Xa+0]=Ka.x;t[Xa+1]=Ka.y;t[Xa+
|
|
|
|
+2]=Ka.z;t[Xa+3]=Ja.x;t[Xa+4]=Ja.y;t[Xa+5]=Ja.z;t[Xa+6]=Ia.x;t[Xa+7]=Ia.y;t[Xa+8]=Ia.z;t[Xa+9]=Wa.x;t[Xa+10]=Wa.y;t[Xa+11]=Wa.z}Xa+=12}if(lb.length){D=lb[F.a];aa=lb[F.b];t=lb[F.c];bb=lb[F.d];Ea[T]=D.x;Ea[T+1]=D.y;Ea[T+2]=D.z;Ea[T+3]=D.w;Ea[T+4]=aa.x;Ea[T+5]=aa.y;Ea[T+6]=aa.z;Ea[T+7]=aa.w;Ea[T+8]=t.x;Ea[T+9]=t.y;Ea[T+10]=t.z;Ea[T+11]=t.w;Ea[T+12]=bb.x;Ea[T+13]=bb.y;Ea[T+14]=bb.z;Ea[T+15]=bb.w;D=qb[F.a];aa=qb[F.b];t=qb[F.c];bb=qb[F.d];Q[T]=D.x;Q[T+1]=D.y;Q[T+2]=D.z;Q[T+3]=D.w;Q[T+4]=aa.x;Q[T+5]=aa.y;
|
|
|
|
+Q[T+6]=aa.z;Q[T+7]=aa.w;Q[T+8]=t.x;Q[T+9]=t.y;Q[T+10]=t.z;Q[T+11]=t.w;Q[T+12]=bb.x;Q[T+13]=bb.y;Q[T+14]=bb.z;Q[T+15]=bb.w;D=ob[F.a];aa=ob[F.b];t=ob[F.c];bb=ob[F.d];qa[T]=D.x;qa[T+1]=D.y;qa[T+2]=D.z;qa[T+3]=1;qa[T+4]=aa.x;qa[T+5]=aa.y;qa[T+6]=aa.z;qa[T+7]=1;qa[T+8]=t.x;qa[T+9]=t.y;qa[T+10]=t.z;qa[T+11]=1;qa[T+12]=bb.x;qa[T+13]=bb.y;qa[T+14]=bb.z;qa[T+15]=1;D=pb[F.a];aa=pb[F.b];t=pb[F.c];F=pb[F.d];ha[T]=D.x;ha[T+1]=D.y;ha[T+2]=D.z;ha[T+3]=1;ha[T+4]=aa.x;ha[T+5]=aa.y;ha[T+6]=aa.z;ha[T+7]=1;ha[T+8]=t.x;
|
|
|
|
+ha[T+9]=t.y;ha[T+10]=t.z;ha[T+11]=1;ha[T+12]=F.x;ha[T+13]=F.y;ha[T+14]=F.z;ha[T+15]=1;T+=16}if(wb&&va){if(I.length==4&&va==THREE.VertexColors){F=I[0];D=I[1];aa=I[2];I=I[3]}else I=aa=D=F=X;Ca[Pa]=F.r;Ca[Pa+1]=F.g;Ca[Pa+2]=F.b;Ca[Pa+3]=D.r;Ca[Pa+4]=D.g;Ca[Pa+5]=D.b;Ca[Pa+6]=aa.r;Ca[Pa+7]=aa.g;Ca[Pa+8]=aa.b;Ca[Pa+9]=I.r;Ca[Pa+10]=I.g;Ca[Pa+11]=I.b;Pa+=12}if(vb&&Ua.hasTangents){I=U[0];X=U[1];F=U[2];U=U[3];Y[sa]=I.x;Y[sa+1]=I.y;Y[sa+2]=I.z;Y[sa+3]=I.w;Y[sa+4]=X.x;Y[sa+5]=X.y;Y[sa+6]=X.z;Y[sa+7]=X.w;Y[sa+
|
|
|
|
+8]=F.x;Y[sa+9]=F.y;Y[sa+10]=F.z;Y[sa+11]=F.w;Y[sa+12]=U.x;Y[sa+13]=U.y;Y[sa+14]=U.z;Y[sa+15]=U.w;sa+=16}if(ub&&ra)if(P.length==4&&jb)for(U=0;U<4;U++){M=P[U];na[fb]=M.x;na[fb+1]=M.y;na[fb+2]=M.z;fb+=3}else for(U=0;U<4;U++){na[fb]=M.x;na[fb+1]=M.y;na[fb+2]=M.z;fb+=3}if(rb&&Na!==undefined&&ya)for(U=0;U<4;U++){P=Na[U];V[hb]=P.u;V[hb+1]=P.v;hb+=2}if(rb&&Sa!==undefined&&ya)for(U=0;U<4;U++){P=Sa[U];za[gb]=P.u;za[gb+1]=P.v;gb+=2}if(tb){Za[cb]=Ta;Za[cb+1]=Ta+1;Za[cb+2]=Ta+3;Za[cb+3]=Ta+1;Za[cb+4]=Ta+2;Za[cb+
|
|
|
|
+5]=Ta+3;cb+=6;db[Va]=Ta;db[Va+1]=Ta+1;db[Va+2]=Ta;db[Va+3]=Ta+3;db[Va+4]=Ta+1;db[Va+5]=Ta+2;db[Va+6]=Ta+2;db[Va+7]=Ta+3;Va+=8;Ta+=4}}}if(mb){L=0;for(E=mb.length;L<E;L++){Za[cb]=mb[L].a;Za[cb+1]=mb[L].b;Za[cb+2]=mb[L].c;Za[cb+3]=mb[L].a;Za[cb+4]=mb[L].c;Za[cb+5]=mb[L].d;cb+=6}}if(sb){e.bindBuffer(e.ARRAY_BUFFER,u.__webglVertexBuffer);e.bufferData(e.ARRAY_BUFFER,La,J)}if(Ya)for(eb in Ya){t=Ya[eb];if(t.needsUpdate){e.bindBuffer(e.ARRAY_BUFFER,t.buffer);e.bufferData(e.ARRAY_BUFFER,t.array,J);t.needsUpdate=
|
|
|
|
+!1}}if(xb){D=0;for(aa=kb.length;D<aa;D++){e.bindBuffer(e.ARRAY_BUFFER,u.__webglMorphTargetsBuffers[D]);e.bufferData(e.ARRAY_BUFFER,ib[D],J)}}if(wb&&Pa>0){e.bindBuffer(e.ARRAY_BUFFER,u.__webglColorBuffer);e.bufferData(e.ARRAY_BUFFER,Ca,J)}if(ub){e.bindBuffer(e.ARRAY_BUFFER,u.__webglNormalBuffer);e.bufferData(e.ARRAY_BUFFER,na,J)}if(vb&&Ua.hasTangents){e.bindBuffer(e.ARRAY_BUFFER,u.__webglTangentBuffer);e.bufferData(e.ARRAY_BUFFER,Y,J)}if(rb&&hb>0){e.bindBuffer(e.ARRAY_BUFFER,u.__webglUVBuffer);e.bufferData(e.ARRAY_BUFFER,
|
|
|
|
+V,J)}if(rb&&gb>0){e.bindBuffer(e.ARRAY_BUFFER,u.__webglUV2Buffer);e.bufferData(e.ARRAY_BUFFER,za,J)}if(tb){e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,u.__webglFaceBuffer);e.bufferData(e.ELEMENT_ARRAY_BUFFER,Za,J);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,u.__webglLineBuffer);e.bufferData(e.ELEMENT_ARRAY_BUFFER,db,J)}if(T>0){e.bindBuffer(e.ARRAY_BUFFER,u.__webglSkinVertexABuffer);e.bufferData(e.ARRAY_BUFFER,qa,J);e.bindBuffer(e.ARRAY_BUFFER,u.__webglSkinVertexBBuffer);e.bufferData(e.ARRAY_BUFFER,ha,J);e.bindBuffer(e.ARRAY_BUFFER,
|
|
|
|
+u.__webglSkinIndicesBuffer);e.bufferData(e.ARRAY_BUFFER,Q,J);e.bindBuffer(e.ARRAY_BUFFER,u.__webglSkinWeightsBuffer);e.bufferData(e.ARRAY_BUFFER,Ea,J)}}}x.__dirtyVertices=!1;x.__dirtyMorphTargets=!1;x.__dirtyElements=!1;x.__dirtyUvs=!1;x.__dirtyNormals=!1;x.__dirtyTangents=!1;x.__dirtyColors=!1}else if(m instanceof THREE.Ribbon){x=m.geometry;if(x.__dirtyVertices||x.__dirtyColors){m=x;B=e.DYNAMIC_DRAW;va=m.vertices;u=m.colors;ra=va.length;J=u.length;Na=m.__vertexArray;L=m.__colorArray;Sa=m.__dirtyColors;
|
|
|
|
+if(m.__dirtyVertices){for(E=0;E<ra;E++){ya=va[E].position;z=E*3;Na[z]=ya.x;Na[z+1]=ya.y;Na[z+2]=ya.z}e.bindBuffer(e.ARRAY_BUFFER,m.__webglVertexBuffer);e.bufferData(e.ARRAY_BUFFER,Na,B)}if(Sa){for(E=0;E<J;E++){color=u[E];z=E*3;L[z]=color.r;L[z+1]=color.g;L[z+2]=color.b}e.bindBuffer(e.ARRAY_BUFFER,m.__webglColorBuffer);e.bufferData(e.ARRAY_BUFFER,L,B)}}x.__dirtyVertices=!1;x.__dirtyColors=!1}else if(m instanceof THREE.Line){x=m.geometry;if(x.__dirtyVertices||x.__dirtyColors){m=x;B=e.DYNAMIC_DRAW;va=
|
|
|
|
+m.vertices;u=m.colors;ra=va.length;J=u.length;Na=m.__vertexArray;L=m.__colorArray;Sa=m.__dirtyColors;if(m.__dirtyVertices){for(E=0;E<ra;E++){ya=va[E].position;z=E*3;Na[z]=ya.x;Na[z+1]=ya.y;Na[z+2]=ya.z}e.bindBuffer(e.ARRAY_BUFFER,m.__webglVertexBuffer);e.bufferData(e.ARRAY_BUFFER,Na,B)}if(Sa){for(E=0;E<J;E++){color=u[E];z=E*3;L[z]=color.r;L[z+1]=color.g;L[z+2]=color.b}e.bindBuffer(e.ARRAY_BUFFER,m.__webglColorBuffer);e.bufferData(e.ARRAY_BUFFER,L,B)}}x.__dirtyVertices=!1;x.__dirtyColors=!1}else if(m instanceof
|
|
|
|
+THREE.ParticleSystem){x=m.geometry;(x.__dirtyVertices||x.__dirtyColors||m.sortParticles)&&c(x,e.DYNAMIC_DRAW,m);x.__dirtyVertices=!1;x.__dirtyColors=!1}}function W(m){function B(X){var U=[];x=0;for(u=X.length;x<u;x++)X[x]==undefined?U.push("undefined"):U.push(X[x].id);return U.join("_")}var x,u,z,J,L,E,P,F,M={},I=m.morphTargets!==undefined?m.morphTargets.length:0;m.geometryGroups={};z=0;for(J=m.faces.length;z<J;z++){L=m.faces[z];E=L.materials;P=B(E);M[P]==undefined&&(M[P]={hash:P,counter:0});F=M[P].hash+
|
|
|
|
+"_"+M[P].counter;m.geometryGroups[F]==undefined&&(m.geometryGroups[F]={faces:[],materials:E,vertices:0,numMorphTargets:I});L=L instanceof THREE.Face3?3:4;if(m.geometryGroups[F].vertices+L>65535){M[P].counter+=1;F=M[P].hash+"_"+M[P].counter;m.geometryGroups[F]==undefined&&(m.geometryGroups[F]={faces:[],materials:E,vertices:0,numMorphTargets:I})}m.geometryGroups[F].faces.push(z);m.geometryGroups[F].vertices+=L}}function A(m,B,x){m.push({buffer:B,object:x,opaque:{list:[],count:0},transparent:{list:[],
|
|
|
|
+count:0}})}function N(m){if(m!=ga){switch(m){case THREE.AdditiveBlending:e.blendEquation(e.FUNC_ADD);e.blendFunc(e.SRC_ALPHA,e.ONE);break;case THREE.SubtractiveBlending:e.blendEquation(e.FUNC_ADD);e.blendFunc(e.ZERO,e.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:e.blendEquation(e.FUNC_ADD);e.blendFunc(e.ZERO,e.SRC_COLOR);break;default:e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD);e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA)}ga=m}}function O(m,B,x){if((x.width&
|
|
|
|
+x.width-1)==0&&(x.height&x.height-1)==0){e.texParameteri(m,e.TEXTURE_WRAP_S,ca(B.wrapS));e.texParameteri(m,e.TEXTURE_WRAP_T,ca(B.wrapT));e.texParameteri(m,e.TEXTURE_MAG_FILTER,ca(B.magFilter));e.texParameteri(m,e.TEXTURE_MIN_FILTER,ca(B.minFilter));e.generateMipmap(m)}else{e.texParameteri(m,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE);e.texParameteri(m,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE);e.texParameteri(m,e.TEXTURE_MAG_FILTER,ua(B.magFilter));e.texParameteri(m,e.TEXTURE_MIN_FILTER,ua(B.minFilter))}}function R(m,
|
|
|
|
+B){if(m.needsUpdate){if(m.__webglInit){e.bindTexture(e.TEXTURE_2D,m.__webglTexture);e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,m.image)}else{m.__webglTexture=e.createTexture();e.bindTexture(e.TEXTURE_2D,m.__webglTexture);e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,m.image);m.__webglInit=!0}O(e.TEXTURE_2D,m,m.image);e.bindTexture(e.TEXTURE_2D,null);m.needsUpdate=!1}e.activeTexture(e.TEXTURE0+B);e.bindTexture(e.TEXTURE_2D,m.__webglTexture)}function Fa(m){if(m&&!m.__webglFramebuffer){if(m.depthBuffer===
|
|
|
|
+undefined)m.depthBuffer=!0;if(m.stencilBuffer===undefined)m.stencilBuffer=!0;m.__webglFramebuffer=e.createFramebuffer();m.__webglRenderbuffer=e.createRenderbuffer();m.__webglTexture=e.createTexture();e.bindTexture(e.TEXTURE_2D,m.__webglTexture);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,ca(m.wrapS));e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,ca(m.wrapT));e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,ca(m.magFilter));e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,ca(m.minFilter));e.texImage2D(e.TEXTURE_2D,
|
|
|
|
+0,ca(m.format),m.width,m.height,0,ca(m.format),ca(m.type),null);e.bindRenderbuffer(e.RENDERBUFFER,m.__webglRenderbuffer);e.bindFramebuffer(e.FRAMEBUFFER,m.__webglFramebuffer);e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,m.__webglTexture,0);if(m.depthBuffer&&!m.stencilBuffer){e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,m.width,m.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,m.__webglRenderbuffer)}else if(m.depthBuffer&&m.stencilBuffer){e.renderbufferStorage(e.RENDERBUFFER,
|
|
e.DEPTH_STENCIL,m.width,m.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,m.__webglRenderbuffer)}else e.renderbufferStorage(e.RENDERBUFFER,e.RGBA4,m.width,m.height);e.bindTexture(e.TEXTURE_2D,null);e.bindRenderbuffer(e.RENDERBUFFER,null);e.bindFramebuffer(e.FRAMEBUFFER,null)}var B,x;if(m){B=m.__webglFramebuffer;x=m.width;m=m.height}else{B=null;x=ia;m=ja}if(B!=Ha){e.bindFramebuffer(e.FRAMEBUFFER,B);e.viewport(la,Ga,x,m);Ha=B}}function ka(m,B){var x;if(m=="fragment")x=
|
|
e.DEPTH_STENCIL,m.width,m.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,m.__webglRenderbuffer)}else e.renderbufferStorage(e.RENDERBUFFER,e.RGBA4,m.width,m.height);e.bindTexture(e.TEXTURE_2D,null);e.bindRenderbuffer(e.RENDERBUFFER,null);e.bindFramebuffer(e.FRAMEBUFFER,null)}var B,x;if(m){B=m.__webglFramebuffer;x=m.width;m=m.height}else{B=null;x=ia;m=ja}if(B!=Ha){e.bindFramebuffer(e.FRAMEBUFFER,B);e.viewport(la,Ga,x,m);Ha=B}}function ka(m,B){var x;if(m=="fragment")x=
|
|
e.createShader(e.FRAGMENT_SHADER);else m=="vertex"&&(x=e.createShader(e.VERTEX_SHADER));e.shaderSource(x,B);e.compileShader(x);if(!e.getShaderParameter(x,e.COMPILE_STATUS)){console.error(e.getShaderInfoLog(x));console.error(B);return null}return x}function ua(m){switch(m){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return e.NEAREST;default:return e.LINEAR}}function ca(m){switch(m){case THREE.RepeatWrapping:return e.REPEAT;case THREE.ClampToEdgeWrapping:return e.CLAMP_TO_EDGE;
|
|
e.createShader(e.FRAGMENT_SHADER);else m=="vertex"&&(x=e.createShader(e.VERTEX_SHADER));e.shaderSource(x,B);e.compileShader(x);if(!e.getShaderParameter(x,e.COMPILE_STATUS)){console.error(e.getShaderInfoLog(x));console.error(B);return null}return x}function ua(m){switch(m){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return e.NEAREST;default:return e.LINEAR}}function ca(m){switch(m){case THREE.RepeatWrapping:return e.REPEAT;case THREE.ClampToEdgeWrapping:return e.CLAMP_TO_EDGE;
|
|
case THREE.MirroredRepeatWrapping:return e.MIRRORED_REPEAT;case THREE.NearestFilter:return e.NEAREST;case THREE.NearestMipMapNearestFilter:return e.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return e.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return e.LINEAR;case THREE.LinearMipMapNearestFilter:return e.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return e.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return e.BYTE;case THREE.UnsignedByteType:return e.UNSIGNED_BYTE;case THREE.ShortType:return e.SHORT;
|
|
case THREE.MirroredRepeatWrapping:return e.MIRRORED_REPEAT;case THREE.NearestFilter:return e.NEAREST;case THREE.NearestMipMapNearestFilter:return e.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return e.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return e.LINEAR;case THREE.LinearMipMapNearestFilter:return e.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return e.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return e.BYTE;case THREE.UnsignedByteType:return e.UNSIGNED_BYTE;case THREE.ShortType:return e.SHORT;
|
|
@@ -343,8 +343,8 @@ ra;L.__webglFaceCount=ya*3+(E.geometry.edgeFaces?E.geometry.edgeFaces.length*6:0
|
|
!0;z.__dirtyUvs=!0;z.__dirtyNormals=!0;z.__dirtyTangents=!0;z.__dirtyColors=!0}B instanceof THREE.ShadowVolume?A(x.__webglShadowVolumes,J,B):A(x.__webglObjects,J,B)}}else if(B instanceof THREE.LensFlare)A(x.__webglLensFlares,undefined,B);else if(B instanceof THREE.Ribbon){z=B.geometry;if(!z.__webglVertexBuffer){u=z;u.__webglVertexBuffer=e.createBuffer();u.__webglColorBuffer=e.createBuffer();u=z;J=u.vertices.length;u.__vertexArray=new Float32Array(J*3);u.__colorArray=new Float32Array(J*3);u.__webglVertexCount=
|
|
!0;z.__dirtyUvs=!0;z.__dirtyNormals=!0;z.__dirtyTangents=!0;z.__dirtyColors=!0}B instanceof THREE.ShadowVolume?A(x.__webglShadowVolumes,J,B):A(x.__webglObjects,J,B)}}else if(B instanceof THREE.LensFlare)A(x.__webglLensFlares,undefined,B);else if(B instanceof THREE.Ribbon){z=B.geometry;if(!z.__webglVertexBuffer){u=z;u.__webglVertexBuffer=e.createBuffer();u.__webglColorBuffer=e.createBuffer();u=z;J=u.vertices.length;u.__vertexArray=new Float32Array(J*3);u.__colorArray=new Float32Array(J*3);u.__webglVertexCount=
|
|
J;z.__dirtyVertices=!0;z.__dirtyColors=!0}A(x.__webglObjects,z,B)}else if(B instanceof THREE.Line){z=B.geometry;if(!z.__webglVertexBuffer){u=z;u.__webglVertexBuffer=e.createBuffer();u.__webglColorBuffer=e.createBuffer();u=z;J=u.vertices.length;u.__vertexArray=new Float32Array(J*3);u.__colorArray=new Float32Array(J*3);u.__webglLineCount=J;z.__dirtyVertices=!0;z.__dirtyColors=!0}A(x.__webglObjects,z,B)}else if(B instanceof THREE.ParticleSystem){z=B.geometry;if(!z.__webglVertexBuffer){u=z;u.__webglVertexBuffer=
|
|
J;z.__dirtyVertices=!0;z.__dirtyColors=!0}A(x.__webglObjects,z,B)}else if(B instanceof THREE.Line){z=B.geometry;if(!z.__webglVertexBuffer){u=z;u.__webglVertexBuffer=e.createBuffer();u.__webglColorBuffer=e.createBuffer();u=z;J=u.vertices.length;u.__vertexArray=new Float32Array(J*3);u.__colorArray=new Float32Array(J*3);u.__webglLineCount=J;z.__dirtyVertices=!0;z.__dirtyColors=!0}A(x.__webglObjects,z,B)}else if(B instanceof THREE.ParticleSystem){z=B.geometry;if(!z.__webglVertexBuffer){u=z;u.__webglVertexBuffer=
|
|
e.createBuffer();u.__webglColorBuffer=e.createBuffer();u=z;J=u.vertices.length;u.__vertexArray=new Float32Array(J*3);u.__colorArray=new Float32Array(J*3);u.__sortArray=[];u.__webglParticleCount=J;z.__dirtyVertices=!0;z.__dirtyColors=!0}A(x.__webglObjects,z,B)}else if(THREE.MarchingCubes!==undefined&&B instanceof THREE.MarchingCubes)x.__webglObjectsImmediate.push({object:B,opaque:{list:[],count:0},transparent:{list:[],count:0}});else B instanceof THREE.Sprite&&x.__webglSprites.push(B);m.__objectsAdded.splice(0,
|
|
e.createBuffer();u.__webglColorBuffer=e.createBuffer();u=z;J=u.vertices.length;u.__vertexArray=new Float32Array(J*3);u.__colorArray=new Float32Array(J*3);u.__sortArray=[];u.__webglParticleCount=J;z.__dirtyVertices=!0;z.__dirtyColors=!0}A(x.__webglObjects,z,B)}else if(THREE.MarchingCubes!==undefined&&B instanceof THREE.MarchingCubes)x.__webglObjectsImmediate.push({object:B,opaque:{list:[],count:0},transparent:{list:[],count:0}});else B instanceof THREE.Sprite&&x.__webglSprites.push(B);m.__objectsAdded.splice(0,
|
|
-1)}for(;m.__objectsRemoved.length;){B=m.__objectsRemoved[0];x=m;z=void 0;u=void 0;for(z=x.__webglObjects.length-1;z>=0;z--){u=x.__webglObjects[z].object;if(B==u){x.__webglObjects.splice(z,1);break}}m.__objectsRemoved.splice(0,1)}B=0;for(x=m.__webglObjects.length;B<x;B++)K(m.__webglObjects[B].object,m);B=0;for(x=m.__webglShadowVolumes.length;B<x;B++)K(m.__webglShadowVolumes[B].object,m);B=0;for(x=m.__webglLensFlares.length;B<x;B++)K(m.__webglLensFlares[B].object,m);B=0;for(x=m.__webglSprites.length;B<
|
|
|
|
-x;B++)K(m.__webglSprites[B].object,m)};this.setFaceCulling=function(m,B){if(m){!B||B=="ccw"?e.frontFace(e.CCW):e.frontFace(e.CW);if(m=="back")e.cullFace(e.BACK);else m=="front"?e.cullFace(e.FRONT):e.cullFace(e.FRONT_AND_BACK);e.enable(e.CULL_FACE)}else e.disable(e.CULL_FACE)};this.supportsVertexTextures=function(){return e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0}};
|
|
|
|
|
|
+1)}for(;m.__objectsRemoved.length;){B=m.__objectsRemoved[0];x=m;z=void 0;u=void 0;for(z=x.__webglObjects.length-1;z>=0;z--){u=x.__webglObjects[z].object;if(B==u){x.__webglObjects.splice(z,1);break}}m.__objectsRemoved.splice(0,1)}B=0;for(x=m.__webglObjects.length;B<x;B++)K(m.__webglObjects[B].object,m);B=0;for(x=m.__webglShadowVolumes.length;B<x;B++)K(m.__webglShadowVolumes[B].object,m);B=0;for(x=m.__webglLensFlares.length;B<x;B++)K(m.__webglLensFlares[B].object,m)};this.setFaceCulling=function(m,
|
|
|
|
+B){if(m){!B||B=="ccw"?e.frontFace(e.CCW):e.frontFace(e.CW);if(m=="back")e.cullFace(e.BACK);else m=="front"?e.cullFace(e.FRONT):e.cullFace(e.FRONT_AND_BACK);e.enable(e.CULL_FACE)}else e.disable(e.CULL_FACE)};this.supportsVertexTextures=function(){return e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0}};
|
|
THREE.WebGLRenderTarget=function(b,c,d){this.width=b;this.height=c;d=d||{};this.wrapS=d.wrapS!==undefined?d.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=d.wrapT!==undefined?d.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=d.magFilter!==undefined?d.magFilter:THREE.LinearFilter;this.minFilter=d.minFilter!==undefined?d.minFilter:THREE.LinearMipMapLinearFilter;this.format=d.format!==undefined?d.format:THREE.RGBFormat;this.type=d.type!==undefined?d.type:THREE.UnsignedByteType;this.depthBuffer=d.depthBuffer!==
|
|
THREE.WebGLRenderTarget=function(b,c,d){this.width=b;this.height=c;d=d||{};this.wrapS=d.wrapS!==undefined?d.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=d.wrapT!==undefined?d.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=d.magFilter!==undefined?d.magFilter:THREE.LinearFilter;this.minFilter=d.minFilter!==undefined?d.minFilter:THREE.LinearMipMapLinearFilter;this.format=d.format!==undefined?d.format:THREE.RGBFormat;this.type=d.type!==undefined?d.type:THREE.UnsignedByteType;this.depthBuffer=d.depthBuffer!==
|
|
undefined?d.depthBuffer:!0;this.stencilBuffer=d.stencilBuffer!==undefined?d.stencilBuffer:!0};
|
|
undefined?d.depthBuffer:!0;this.stencilBuffer=d.stencilBuffer!==undefined?d.stencilBuffer:!0};
|
|
THREE.SoundRenderer=function(){this.volume=1;this.domElement=document.createElement("div");this.domElement.id="THREESound";this.cameraPosition=new THREE.Vector3;this.soundPosition=new THREE.Vector3;this.render=function(b,c,d){d&&b.update(undefined,!1,c);d=b.sounds;var f,g=d.length;for(f=0;f<g;f++){b=d[f];this.soundPosition.set(b.matrixWorld.n14,b.matrixWorld.n24,b.matrixWorld.n34);this.soundPosition.subSelf(c.position);if(b.isPlaying&&b.isLoaded){b.isAddedToDOM||b.addToDOM(this.domElement);b.calculateVolumeAndPan(this.soundPosition)}}}};
|
|
THREE.SoundRenderer=function(){this.volume=1;this.domElement=document.createElement("div");this.domElement.id="THREESound";this.cameraPosition=new THREE.Vector3;this.soundPosition=new THREE.Vector3;this.render=function(b,c,d){d&&b.update(undefined,!1,c);d=b.sounds;var f,g=d.length;for(f=0;f<g;f++){b=d[f];this.soundPosition.set(b.matrixWorld.n14,b.matrixWorld.n24,b.matrixWorld.n34);this.soundPosition.subSelf(c.position);if(b.isPlaying&&b.isLoaded){b.isAddedToDOM||b.addToDOM(this.domElement);b.calculateVolumeAndPan(this.soundPosition)}}}};
|