|
@@ -444,74 +444,74 @@ THREE.WebGLRenderer=function(a){function b(a){var b=a.geometry;a=a.material;var
|
|
|
f),a.__skinWeightArray=new Float32Array(4*f));c=null!==ha.get("OES_element_index_uint")&&21845<g?Uint32Array:Uint16Array;a.__typeArray=c;a.__faceArray=new c(3*g);a.__lineArray=new c(2*h);var k;if(a.numMorphTargets)for(a.__morphTargetsArrays=[],c=0,k=a.numMorphTargets;c<k;c++)a.__morphTargetsArrays.push(new Float32Array(3*f));if(a.numMorphNormals)for(a.__morphNormalsArrays=[],c=0,k=a.numMorphNormals;c<k;c++)a.__morphNormalsArrays.push(new Float32Array(3*f));a.__webglFaceCount=3*g;a.__webglLineCount=
|
|
|
2*h;if(e.attributes){void 0===a.__webglCustomAttributesList&&(a.__webglCustomAttributesList=[]);for(var m in e.attributes){var g=e.attributes[m],h={},n;for(n in g)h[n]=g[n];if(!h.__webglInitialized||h.createUniqueBuffers)h.__webglInitialized=!0,c=1,"v2"===h.type?c=2:"v3"===h.type?c=3:"v4"===h.type?c=4:"c"===h.type&&(c=3),h.size=c,h.array=new Float32Array(f*c),h.buffer=l.createBuffer(),h.buffer.belongsToAttribute=m,g.needsUpdate=!0,h.__original=g;a.__webglCustomAttributesList.push(h)}}a.__inittedArrays=
|
|
|
!0}function d(a,b){return a.material instanceof THREE.MeshFaceMaterial?a.material.materials[b.materialIndex]:a.material}function e(a,b,c,d){c=c.attributes;var e=b.attributes;b=b.attributesKeys;for(var f=0,k=b.length;f<k;f++){var m=b[f],n=e[m];if(0<=n){var p=c[m];void 0!==p?(m=p.itemSize,l.bindBuffer(l.ARRAY_BUFFER,p.buffer),g(n),l.vertexAttribPointer(n,m,l.FLOAT,!1,0,d*m*4)):void 0!==a.defaultAttributeValues&&(2===a.defaultAttributeValues[m].length?l.vertexAttrib2fv(n,a.defaultAttributeValues[m]):
|
|
|
-3===a.defaultAttributeValues[m].length&&l.vertexAttrib3fv(n,a.defaultAttributeValues[m]))}}h()}function f(){for(var a=0,b=wb.length;a<b;a++)wb[a]=0}function g(a){wb[a]=1;0===jb[a]&&(l.enableVertexAttribArray(a),jb[a]=1)}function h(){for(var a=0,b=jb.length;a<b;a++)jb[a]!==wb[a]&&(l.disableVertexAttribArray(a),jb[a]=0)}function k(a,b){return a.material.id!==b.material.id?b.material.id-a.material.id:a.z!==b.z?b.z-a.z:a.id-b.id}function n(a,b){return a.z!==b.z?a.z-b.z:a.id-b.id}function p(a,b){return b[0]-
|
|
|
+3===a.defaultAttributeValues[m].length&&l.vertexAttrib3fv(n,a.defaultAttributeValues[m]))}}h()}function f(){for(var a=0,b=Ob.length;a<b;a++)Ob[a]=0}function g(a){Ob[a]=1;0===Za[a]&&(l.enableVertexAttribArray(a),Za[a]=1)}function h(){for(var a=0,b=Za.length;a<b;a++)Za[a]!==Ob[a]&&(l.disableVertexAttribArray(a),Za[a]=0)}function k(a,b){return a.material.id!==b.material.id?b.material.id-a.material.id:a.z!==b.z?b.z-a.z:a.id-b.id}function n(a,b){return a.z!==b.z?a.z-b.z:a.id-b.id}function p(a,b){return b[0]-
|
|
|
a[0]}function q(a,e){if(!1!==e.visible){if(!(e instanceof THREE.Scene||e instanceof THREE.Group)){void 0===e.__webglInit&&(e.__webglInit=!0,e._modelViewMatrix=new THREE.Matrix4,e._normalMatrix=new THREE.Matrix3,e.addEventListener("removed",Hc));var f=e.geometry;if(void 0!==f&&void 0===f.__webglInit&&(f.__webglInit=!0,f.addEventListener("dispose",Ic),!(f instanceof THREE.BufferGeometry)))if(e instanceof THREE.Mesh)s(a,e,f);else if(e instanceof THREE.Line){if(void 0===f.__webglVertexBuffer){f.__webglVertexBuffer=
|
|
|
l.createBuffer();f.__webglColorBuffer=l.createBuffer();f.__webglLineDistanceBuffer=l.createBuffer();H.info.memory.geometries++;var g=f.vertices.length;f.__vertexArray=new Float32Array(3*g);f.__colorArray=new Float32Array(3*g);f.__lineDistanceArray=new Float32Array(1*g);f.__webglLineCount=g;b(e);f.verticesNeedUpdate=!0;f.colorsNeedUpdate=!0;f.lineDistancesNeedUpdate=!0}}else if(e instanceof THREE.PointCloud&&void 0===f.__webglVertexBuffer){f.__webglVertexBuffer=l.createBuffer();f.__webglColorBuffer=
|
|
|
-l.createBuffer();H.info.memory.geometries++;var h=f.vertices.length;f.__vertexArray=new Float32Array(3*h);f.__colorArray=new Float32Array(3*h);f.__sortArray=[];f.__webglParticleCount=h;b(e);f.verticesNeedUpdate=!0;f.colorsNeedUpdate=!0}if(void 0===e.__webglActive)if(e.__webglActive=!0,e instanceof THREE.Mesh)if(f instanceof THREE.BufferGeometry)u(eb,f,e);else{if(f instanceof THREE.Geometry)for(var k=xb[f.id],m=0,n=k.length;m<n;m++)u(eb,k[m],e)}else e instanceof THREE.Line||e instanceof THREE.PointCloud?
|
|
|
-u(eb,f,e):(e instanceof THREE.ImmediateRenderObject||e.immediateRenderCallback)&&ob.push({id:null,object:e,opaque:null,transparent:null,z:0});if(e instanceof THREE.Light)db.push(e);else if(e instanceof THREE.Sprite)yb.push(e);else if(e instanceof THREE.LensFlare)Ra.push(e);else{var t=eb[e.id];if(t&&(!1===e.frustumCulled||!0===Ec.intersectsObject(e))){var r=e.geometry,w,E;if(r instanceof THREE.BufferGeometry)for(var y=r.attributes,C=r.attributesKeys,D=0,B=C.length;D<B;D++){var A=C[D],M=y[A];void 0===
|
|
|
-M.buffer&&(M.buffer=l.createBuffer(),M.needsUpdate=!0);if(!0===M.needsUpdate){var G="index"===A?l.ELEMENT_ARRAY_BUFFER:l.ARRAY_BUFFER;l.bindBuffer(G,M.buffer);l.bufferData(G,M.array,l.STATIC_DRAW);M.needsUpdate=!1}}else if(e instanceof THREE.Mesh){!0===r.groupsNeedUpdate&&s(a,e,r);for(var L=xb[r.id],K=0,I=L.length;K<I;K++){var R=L[K];E=d(e,R);!0===r.groupsNeedUpdate&&c(R,e);w=E.attributes&&v(E);if(r.verticesNeedUpdate||r.morphTargetsNeedUpdate||r.elementsNeedUpdate||r.uvsNeedUpdate||r.normalsNeedUpdate||
|
|
|
-r.colorsNeedUpdate||r.tangentsNeedUpdate||w){var J=R,O=e,S=l.DYNAMIC_DRAW,T=!r.dynamic,Y=E;if(J.__inittedArrays){var V=Y&&void 0!==Y.shading&&Y.shading===THREE.SmoothShading,P=void 0,Z=void 0,ha=void 0,da=void 0,oa=void 0,ta=void 0,xa=void 0,ya=void 0,cb=void 0,za=void 0,Ca=void 0,ba=void 0,aa=void 0,$=void 0,mc=void 0,pa=void 0,N=void 0,Ga=void 0,ma=void 0,nc=void 0,ja=void 0,oc=void 0,pc=void 0,qc=void 0,Ba=void 0,zb=void 0,Ab=void 0,Ha=void 0,Bb=void 0,Aa=void 0,ua=void 0,Cb=void 0,Oa=void 0,Pb=
|
|
|
-void 0,Ma=void 0,jb=void 0,Ya=void 0,Za=void 0,uc=void 0,Qb=void 0,fb=0,gb=0,qb=0,rb=0,Db=0,Sa=0,Da=0,Pa=0,Ka=0,ka=0,ra=0,F=0,Ia=void 0,Qa=J.__vertexArray,sb=J.__uvArray,hb=J.__uv2Array,Ta=J.__normalArray,qa=J.__tangentArray,La=J.__colorArray,Ua=J.__skinIndexArray,Va=J.__skinWeightArray,Eb=J.__morphTargetsArrays,Jc=J.__morphNormalsArrays,Jb=J.__webglCustomAttributesList,z=void 0,Rb=J.__faceArray,Ja=J.__lineArray,va=O.geometry,$a=va.elementsNeedUpdate,Kc=va.uvsNeedUpdate,dc=va.normalsNeedUpdate,ea=
|
|
|
-va.tangentsNeedUpdate,wb=va.colorsNeedUpdate,U=va.morphTargetsNeedUpdate,fa=va.vertices,Q=J.faces3,wa=va.faces,sa=va.faceVertexUvs[0],Lc=va.faceVertexUvs[1],Fc=va.skinIndices,Sb=va.skinWeights,kb=va.morphTargets,Ea=va.morphNormals;if(va.verticesNeedUpdate){P=0;for(Z=Q.length;P<Z;P++)da=wa[Q[P]],ba=fa[da.a],aa=fa[da.b],$=fa[da.c],Qa[gb]=ba.x,Qa[gb+1]=ba.y,Qa[gb+2]=ba.z,Qa[gb+3]=aa.x,Qa[gb+4]=aa.y,Qa[gb+5]=aa.z,Qa[gb+6]=$.x,Qa[gb+7]=$.y,Qa[gb+8]=$.z,gb+=9;l.bindBuffer(l.ARRAY_BUFFER,J.__webglVertexBuffer);
|
|
|
-l.bufferData(l.ARRAY_BUFFER,Qa,S)}if(U)for(Ma=0,jb=kb.length;Ma<jb;Ma++){P=ra=0;for(Z=Q.length;P<Z;P++)uc=Q[P],da=wa[uc],ba=kb[Ma].vertices[da.a],aa=kb[Ma].vertices[da.b],$=kb[Ma].vertices[da.c],Ya=Eb[Ma],Ya[ra]=ba.x,Ya[ra+1]=ba.y,Ya[ra+2]=ba.z,Ya[ra+3]=aa.x,Ya[ra+4]=aa.y,Ya[ra+5]=aa.z,Ya[ra+6]=$.x,Ya[ra+7]=$.y,Ya[ra+8]=$.z,Y.morphNormals&&(V?(Qb=Ea[Ma].vertexNormals[uc],Ga=Qb.a,ma=Qb.b,nc=Qb.c):nc=ma=Ga=Ea[Ma].faceNormals[uc],Za=Jc[Ma],Za[ra]=Ga.x,Za[ra+1]=Ga.y,Za[ra+2]=Ga.z,Za[ra+3]=ma.x,Za[ra+
|
|
|
-4]=ma.y,Za[ra+5]=ma.z,Za[ra+6]=nc.x,Za[ra+7]=nc.y,Za[ra+8]=nc.z),ra+=9;l.bindBuffer(l.ARRAY_BUFFER,J.__webglMorphTargetsBuffers[Ma]);l.bufferData(l.ARRAY_BUFFER,Eb[Ma],S);Y.morphNormals&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglMorphNormalsBuffers[Ma]),l.bufferData(l.ARRAY_BUFFER,Jc[Ma],S))}if(Sb.length){P=0;for(Z=Q.length;P<Z;P++)da=wa[Q[P]],qc=Sb[da.a],Ba=Sb[da.b],zb=Sb[da.c],Va[ka]=qc.x,Va[ka+1]=qc.y,Va[ka+2]=qc.z,Va[ka+3]=qc.w,Va[ka+4]=Ba.x,Va[ka+5]=Ba.y,Va[ka+6]=Ba.z,Va[ka+7]=Ba.w,Va[ka+8]=zb.x,
|
|
|
-Va[ka+9]=zb.y,Va[ka+10]=zb.z,Va[ka+11]=zb.w,Ab=Fc[da.a],Ha=Fc[da.b],Bb=Fc[da.c],Ua[ka]=Ab.x,Ua[ka+1]=Ab.y,Ua[ka+2]=Ab.z,Ua[ka+3]=Ab.w,Ua[ka+4]=Ha.x,Ua[ka+5]=Ha.y,Ua[ka+6]=Ha.z,Ua[ka+7]=Ha.w,Ua[ka+8]=Bb.x,Ua[ka+9]=Bb.y,Ua[ka+10]=Bb.z,Ua[ka+11]=Bb.w,ka+=12;0<ka&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglSkinIndicesBuffer),l.bufferData(l.ARRAY_BUFFER,Ua,S),l.bindBuffer(l.ARRAY_BUFFER,J.__webglSkinWeightsBuffer),l.bufferData(l.ARRAY_BUFFER,Va,S))}if(wb){P=0;for(Z=Q.length;P<Z;P++)da=wa[Q[P]],xa=da.vertexColors,
|
|
|
-ya=da.color,3===xa.length&&Y.vertexColors===THREE.VertexColors?(ja=xa[0],oc=xa[1],pc=xa[2]):pc=oc=ja=ya,La[Ka]=ja.r,La[Ka+1]=ja.g,La[Ka+2]=ja.b,La[Ka+3]=oc.r,La[Ka+4]=oc.g,La[Ka+5]=oc.b,La[Ka+6]=pc.r,La[Ka+7]=pc.g,La[Ka+8]=pc.b,Ka+=9;0<Ka&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,La,S))}if(ea&&va.hasTangents){P=0;for(Z=Q.length;P<Z;P++)da=wa[Q[P]],cb=da.vertexTangents,mc=cb[0],pa=cb[1],N=cb[2],qa[Da]=mc.x,qa[Da+1]=mc.y,qa[Da+2]=mc.z,qa[Da+3]=mc.w,qa[Da+4]=pa.x,
|
|
|
-qa[Da+5]=pa.y,qa[Da+6]=pa.z,qa[Da+7]=pa.w,qa[Da+8]=N.x,qa[Da+9]=N.y,qa[Da+10]=N.z,qa[Da+11]=N.w,Da+=12;l.bindBuffer(l.ARRAY_BUFFER,J.__webglTangentBuffer);l.bufferData(l.ARRAY_BUFFER,qa,S)}if(dc){P=0;for(Z=Q.length;P<Z;P++)if(da=wa[Q[P]],oa=da.vertexNormals,ta=da.normal,3===oa.length&&V)for(Aa=0;3>Aa;Aa++)Cb=oa[Aa],Ta[Sa]=Cb.x,Ta[Sa+1]=Cb.y,Ta[Sa+2]=Cb.z,Sa+=3;else for(Aa=0;3>Aa;Aa++)Ta[Sa]=ta.x,Ta[Sa+1]=ta.y,Ta[Sa+2]=ta.z,Sa+=3;l.bindBuffer(l.ARRAY_BUFFER,J.__webglNormalBuffer);l.bufferData(l.ARRAY_BUFFER,
|
|
|
-Ta,S)}if(Kc&&sa){P=0;for(Z=Q.length;P<Z;P++)if(ha=Q[P],za=sa[ha],void 0!==za)for(Aa=0;3>Aa;Aa++)Oa=za[Aa],sb[qb]=Oa.x,sb[qb+1]=Oa.y,qb+=2;0<qb&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglUVBuffer),l.bufferData(l.ARRAY_BUFFER,sb,S))}if(Kc&&Lc){P=0;for(Z=Q.length;P<Z;P++)if(ha=Q[P],Ca=Lc[ha],void 0!==Ca)for(Aa=0;3>Aa;Aa++)Pb=Ca[Aa],hb[rb]=Pb.x,hb[rb+1]=Pb.y,rb+=2;0<rb&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglUV2Buffer),l.bufferData(l.ARRAY_BUFFER,hb,S))}if($a){P=0;for(Z=Q.length;P<Z;P++)Rb[Db]=fb,Rb[Db+1]=
|
|
|
-fb+1,Rb[Db+2]=fb+2,Db+=3,Ja[Pa]=fb,Ja[Pa+1]=fb+1,Ja[Pa+2]=fb,Ja[Pa+3]=fb+2,Ja[Pa+4]=fb+1,Ja[Pa+5]=fb+2,Pa+=6,fb+=3;l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,J.__webglFaceBuffer);l.bufferData(l.ELEMENT_ARRAY_BUFFER,Rb,S);l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,J.__webglLineBuffer);l.bufferData(l.ELEMENT_ARRAY_BUFFER,Ja,S)}if(Jb)for(Aa=0,ua=Jb.length;Aa<ua;Aa++)if(z=Jb[Aa],z.__original.needsUpdate){F=0;if(1===z.size)if(void 0===z.boundTo||"vertices"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)da=wa[Q[P]],z.array[F]=
|
|
|
+l.createBuffer();H.info.memory.geometries++;var h=f.vertices.length;f.__vertexArray=new Float32Array(3*h);f.__colorArray=new Float32Array(3*h);f.__sortArray=[];f.__webglParticleCount=h;b(e);f.verticesNeedUpdate=!0;f.colorsNeedUpdate=!0}if(void 0===e.__webglActive)if(e.__webglActive=!0,e instanceof THREE.Mesh)if(f instanceof THREE.BufferGeometry)u(fb,f,e);else{if(f instanceof THREE.Geometry)for(var k=ob[f.id],m=0,n=k.length;m<n;m++)u(fb,k[m],e)}else e instanceof THREE.Line||e instanceof THREE.PointCloud?
|
|
|
+u(fb,f,e):(e instanceof THREE.ImmediateRenderObject||e.immediateRenderCallback)&&pb.push({id:null,object:e,opaque:null,transparent:null,z:0});if(e instanceof THREE.Light)eb.push(e);else if(e instanceof THREE.Sprite)xb.push(e);else if(e instanceof THREE.LensFlare)Ra.push(e);else{var t=fb[e.id];if(t&&(!1===e.frustumCulled||!0===Ec.intersectsObject(e))){var r=e.geometry,w,E;if(r instanceof THREE.BufferGeometry)for(var y=r.attributes,C=r.attributesKeys,D=0,B=C.length;D<B;D++){var A=C[D],M=y[A];void 0===
|
|
|
+M.buffer&&(M.buffer=l.createBuffer(),M.needsUpdate=!0);if(!0===M.needsUpdate){var G="index"===A?l.ELEMENT_ARRAY_BUFFER:l.ARRAY_BUFFER;l.bindBuffer(G,M.buffer);l.bufferData(G,M.array,l.STATIC_DRAW);M.needsUpdate=!1}}else if(e instanceof THREE.Mesh){!0===r.groupsNeedUpdate&&s(a,e,r);for(var L=ob[r.id],K=0,I=L.length;K<I;K++){var R=L[K];E=d(e,R);!0===r.groupsNeedUpdate&&c(R,e);w=E.attributes&&v(E);if(r.verticesNeedUpdate||r.morphTargetsNeedUpdate||r.elementsNeedUpdate||r.uvsNeedUpdate||r.normalsNeedUpdate||
|
|
|
+r.colorsNeedUpdate||r.tangentsNeedUpdate||w){var J=R,O=e,S=l.DYNAMIC_DRAW,T=!r.dynamic,Y=E;if(J.__inittedArrays){var V=Y&&void 0!==Y.shading&&Y.shading===THREE.SmoothShading,P=void 0,Z=void 0,ha=void 0,da=void 0,oa=void 0,ta=void 0,xa=void 0,ya=void 0,db=void 0,za=void 0,Ca=void 0,ba=void 0,aa=void 0,$=void 0,lc=void 0,pa=void 0,N=void 0,Ga=void 0,ma=void 0,mc=void 0,ja=void 0,nc=void 0,oc=void 0,pc=void 0,Ba=void 0,qc=void 0,yb=void 0,Ha=void 0,zb=void 0,Aa=void 0,ua=void 0,Ab=void 0,Oa=void 0,Pb=
|
|
|
+void 0,Ma=void 0,Za=void 0,Ya=void 0,$a=void 0,uc=void 0,Qb=void 0,gb=0,hb=0,rb=0,sb=0,Bb=0,Sa=0,Da=0,Pa=0,Ka=0,ka=0,ra=0,F=0,Ia=void 0,Qa=J.__vertexArray,tb=J.__uvArray,ib=J.__uv2Array,Ta=J.__normalArray,qa=J.__tangentArray,La=J.__colorArray,Ua=J.__skinIndexArray,Va=J.__skinWeightArray,Cb=J.__morphTargetsArrays,Jc=J.__morphNormalsArrays,Hb=J.__webglCustomAttributesList,z=void 0,Rb=J.__faceArray,Ja=J.__lineArray,va=O.geometry,ab=va.elementsNeedUpdate,Kc=va.uvsNeedUpdate,dc=va.normalsNeedUpdate,ea=
|
|
|
+va.tangentsNeedUpdate,Ob=va.colorsNeedUpdate,U=va.morphTargetsNeedUpdate,fa=va.vertices,Q=J.faces3,wa=va.faces,sa=va.faceVertexUvs[0],Lc=va.faceVertexUvs[1],Fc=va.skinIndices,Sb=va.skinWeights,kb=va.morphTargets,Ea=va.morphNormals;if(va.verticesNeedUpdate){P=0;for(Z=Q.length;P<Z;P++)da=wa[Q[P]],ba=fa[da.a],aa=fa[da.b],$=fa[da.c],Qa[hb]=ba.x,Qa[hb+1]=ba.y,Qa[hb+2]=ba.z,Qa[hb+3]=aa.x,Qa[hb+4]=aa.y,Qa[hb+5]=aa.z,Qa[hb+6]=$.x,Qa[hb+7]=$.y,Qa[hb+8]=$.z,hb+=9;l.bindBuffer(l.ARRAY_BUFFER,J.__webglVertexBuffer);
|
|
|
+l.bufferData(l.ARRAY_BUFFER,Qa,S)}if(U)for(Ma=0,Za=kb.length;Ma<Za;Ma++){P=ra=0;for(Z=Q.length;P<Z;P++)uc=Q[P],da=wa[uc],ba=kb[Ma].vertices[da.a],aa=kb[Ma].vertices[da.b],$=kb[Ma].vertices[da.c],Ya=Cb[Ma],Ya[ra]=ba.x,Ya[ra+1]=ba.y,Ya[ra+2]=ba.z,Ya[ra+3]=aa.x,Ya[ra+4]=aa.y,Ya[ra+5]=aa.z,Ya[ra+6]=$.x,Ya[ra+7]=$.y,Ya[ra+8]=$.z,Y.morphNormals&&(V?(Qb=Ea[Ma].vertexNormals[uc],Ga=Qb.a,ma=Qb.b,mc=Qb.c):mc=ma=Ga=Ea[Ma].faceNormals[uc],$a=Jc[Ma],$a[ra]=Ga.x,$a[ra+1]=Ga.y,$a[ra+2]=Ga.z,$a[ra+3]=ma.x,$a[ra+
|
|
|
+4]=ma.y,$a[ra+5]=ma.z,$a[ra+6]=mc.x,$a[ra+7]=mc.y,$a[ra+8]=mc.z),ra+=9;l.bindBuffer(l.ARRAY_BUFFER,J.__webglMorphTargetsBuffers[Ma]);l.bufferData(l.ARRAY_BUFFER,Cb[Ma],S);Y.morphNormals&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglMorphNormalsBuffers[Ma]),l.bufferData(l.ARRAY_BUFFER,Jc[Ma],S))}if(Sb.length){P=0;for(Z=Q.length;P<Z;P++)da=wa[Q[P]],pc=Sb[da.a],Ba=Sb[da.b],qc=Sb[da.c],Va[ka]=pc.x,Va[ka+1]=pc.y,Va[ka+2]=pc.z,Va[ka+3]=pc.w,Va[ka+4]=Ba.x,Va[ka+5]=Ba.y,Va[ka+6]=Ba.z,Va[ka+7]=Ba.w,Va[ka+8]=qc.x,
|
|
|
+Va[ka+9]=qc.y,Va[ka+10]=qc.z,Va[ka+11]=qc.w,yb=Fc[da.a],Ha=Fc[da.b],zb=Fc[da.c],Ua[ka]=yb.x,Ua[ka+1]=yb.y,Ua[ka+2]=yb.z,Ua[ka+3]=yb.w,Ua[ka+4]=Ha.x,Ua[ka+5]=Ha.y,Ua[ka+6]=Ha.z,Ua[ka+7]=Ha.w,Ua[ka+8]=zb.x,Ua[ka+9]=zb.y,Ua[ka+10]=zb.z,Ua[ka+11]=zb.w,ka+=12;0<ka&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglSkinIndicesBuffer),l.bufferData(l.ARRAY_BUFFER,Ua,S),l.bindBuffer(l.ARRAY_BUFFER,J.__webglSkinWeightsBuffer),l.bufferData(l.ARRAY_BUFFER,Va,S))}if(Ob){P=0;for(Z=Q.length;P<Z;P++)da=wa[Q[P]],xa=da.vertexColors,
|
|
|
+ya=da.color,3===xa.length&&Y.vertexColors===THREE.VertexColors?(ja=xa[0],nc=xa[1],oc=xa[2]):oc=nc=ja=ya,La[Ka]=ja.r,La[Ka+1]=ja.g,La[Ka+2]=ja.b,La[Ka+3]=nc.r,La[Ka+4]=nc.g,La[Ka+5]=nc.b,La[Ka+6]=oc.r,La[Ka+7]=oc.g,La[Ka+8]=oc.b,Ka+=9;0<Ka&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,La,S))}if(ea&&va.hasTangents){P=0;for(Z=Q.length;P<Z;P++)da=wa[Q[P]],db=da.vertexTangents,lc=db[0],pa=db[1],N=db[2],qa[Da]=lc.x,qa[Da+1]=lc.y,qa[Da+2]=lc.z,qa[Da+3]=lc.w,qa[Da+4]=pa.x,
|
|
|
+qa[Da+5]=pa.y,qa[Da+6]=pa.z,qa[Da+7]=pa.w,qa[Da+8]=N.x,qa[Da+9]=N.y,qa[Da+10]=N.z,qa[Da+11]=N.w,Da+=12;l.bindBuffer(l.ARRAY_BUFFER,J.__webglTangentBuffer);l.bufferData(l.ARRAY_BUFFER,qa,S)}if(dc){P=0;for(Z=Q.length;P<Z;P++)if(da=wa[Q[P]],oa=da.vertexNormals,ta=da.normal,3===oa.length&&V)for(Aa=0;3>Aa;Aa++)Ab=oa[Aa],Ta[Sa]=Ab.x,Ta[Sa+1]=Ab.y,Ta[Sa+2]=Ab.z,Sa+=3;else for(Aa=0;3>Aa;Aa++)Ta[Sa]=ta.x,Ta[Sa+1]=ta.y,Ta[Sa+2]=ta.z,Sa+=3;l.bindBuffer(l.ARRAY_BUFFER,J.__webglNormalBuffer);l.bufferData(l.ARRAY_BUFFER,
|
|
|
+Ta,S)}if(Kc&&sa){P=0;for(Z=Q.length;P<Z;P++)if(ha=Q[P],za=sa[ha],void 0!==za)for(Aa=0;3>Aa;Aa++)Oa=za[Aa],tb[rb]=Oa.x,tb[rb+1]=Oa.y,rb+=2;0<rb&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglUVBuffer),l.bufferData(l.ARRAY_BUFFER,tb,S))}if(Kc&&Lc){P=0;for(Z=Q.length;P<Z;P++)if(ha=Q[P],Ca=Lc[ha],void 0!==Ca)for(Aa=0;3>Aa;Aa++)Pb=Ca[Aa],ib[sb]=Pb.x,ib[sb+1]=Pb.y,sb+=2;0<sb&&(l.bindBuffer(l.ARRAY_BUFFER,J.__webglUV2Buffer),l.bufferData(l.ARRAY_BUFFER,ib,S))}if(ab){P=0;for(Z=Q.length;P<Z;P++)Rb[Bb]=gb,Rb[Bb+1]=
|
|
|
+gb+1,Rb[Bb+2]=gb+2,Bb+=3,Ja[Pa]=gb,Ja[Pa+1]=gb+1,Ja[Pa+2]=gb,Ja[Pa+3]=gb+2,Ja[Pa+4]=gb+1,Ja[Pa+5]=gb+2,Pa+=6,gb+=3;l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,J.__webglFaceBuffer);l.bufferData(l.ELEMENT_ARRAY_BUFFER,Rb,S);l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,J.__webglLineBuffer);l.bufferData(l.ELEMENT_ARRAY_BUFFER,Ja,S)}if(Hb)for(Aa=0,ua=Hb.length;Aa<ua;Aa++)if(z=Hb[Aa],z.__original.needsUpdate){F=0;if(1===z.size)if(void 0===z.boundTo||"vertices"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)da=wa[Q[P]],z.array[F]=
|
|
|
z.value[da.a],z.array[F+1]=z.value[da.b],z.array[F+2]=z.value[da.c],F+=3;else{if("faces"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)Ia=z.value[Q[P]],z.array[F]=Ia,z.array[F+1]=Ia,z.array[F+2]=Ia,F+=3}else if(2===z.size)if(void 0===z.boundTo||"vertices"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)da=wa[Q[P]],ba=z.value[da.a],aa=z.value[da.b],$=z.value[da.c],z.array[F]=ba.x,z.array[F+1]=ba.y,z.array[F+2]=aa.x,z.array[F+3]=aa.y,z.array[F+4]=$.x,z.array[F+5]=$.y,F+=6;else{if("faces"===z.boundTo)for(P=0,Z=Q.length;P<
|
|
|
Z;P++)$=aa=ba=Ia=z.value[Q[P]],z.array[F]=ba.x,z.array[F+1]=ba.y,z.array[F+2]=aa.x,z.array[F+3]=aa.y,z.array[F+4]=$.x,z.array[F+5]=$.y,F+=6}else if(3===z.size){var la;la="c"===z.type?["r","g","b"]:["x","y","z"];if(void 0===z.boundTo||"vertices"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)da=wa[Q[P]],ba=z.value[da.a],aa=z.value[da.b],$=z.value[da.c],z.array[F]=ba[la[0]],z.array[F+1]=ba[la[1]],z.array[F+2]=ba[la[2]],z.array[F+3]=aa[la[0]],z.array[F+4]=aa[la[1]],z.array[F+5]=aa[la[2]],z.array[F+6]=$[la[0]],
|
|
|
z.array[F+7]=$[la[1]],z.array[F+8]=$[la[2]],F+=9;else if("faces"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)$=aa=ba=Ia=z.value[Q[P]],z.array[F]=ba[la[0]],z.array[F+1]=ba[la[1]],z.array[F+2]=ba[la[2]],z.array[F+3]=aa[la[0]],z.array[F+4]=aa[la[1]],z.array[F+5]=aa[la[2]],z.array[F+6]=$[la[0]],z.array[F+7]=$[la[1]],z.array[F+8]=$[la[2]],F+=9;else if("faceVertices"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)Ia=z.value[Q[P]],ba=Ia[0],aa=Ia[1],$=Ia[2],z.array[F]=ba[la[0]],z.array[F+1]=ba[la[1]],z.array[F+2]=ba[la[2]],
|
|
|
z.array[F+3]=aa[la[0]],z.array[F+4]=aa[la[1]],z.array[F+5]=aa[la[2]],z.array[F+6]=$[la[0]],z.array[F+7]=$[la[1]],z.array[F+8]=$[la[2]],F+=9}else if(4===z.size)if(void 0===z.boundTo||"vertices"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)da=wa[Q[P]],ba=z.value[da.a],aa=z.value[da.b],$=z.value[da.c],z.array[F]=ba.x,z.array[F+1]=ba.y,z.array[F+2]=ba.z,z.array[F+3]=ba.w,z.array[F+4]=aa.x,z.array[F+5]=aa.y,z.array[F+6]=aa.z,z.array[F+7]=aa.w,z.array[F+8]=$.x,z.array[F+9]=$.y,z.array[F+10]=$.z,z.array[F+11]=
|
|
|
$.w,F+=12;else if("faces"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)$=aa=ba=Ia=z.value[Q[P]],z.array[F]=ba.x,z.array[F+1]=ba.y,z.array[F+2]=ba.z,z.array[F+3]=ba.w,z.array[F+4]=aa.x,z.array[F+5]=aa.y,z.array[F+6]=aa.z,z.array[F+7]=aa.w,z.array[F+8]=$.x,z.array[F+9]=$.y,z.array[F+10]=$.z,z.array[F+11]=$.w,F+=12;else if("faceVertices"===z.boundTo)for(P=0,Z=Q.length;P<Z;P++)Ia=z.value[Q[P]],ba=Ia[0],aa=Ia[1],$=Ia[2],z.array[F]=ba.x,z.array[F+1]=ba.y,z.array[F+2]=ba.z,z.array[F+3]=ba.w,z.array[F+4]=aa.x,
|
|
|
z.array[F+5]=aa.y,z.array[F+6]=aa.z,z.array[F+7]=aa.w,z.array[F+8]=$.x,z.array[F+9]=$.y,z.array[F+10]=$.z,z.array[F+11]=$.w,F+=12;l.bindBuffer(l.ARRAY_BUFFER,z.buffer);l.bufferData(l.ARRAY_BUFFER,z.array,S)}T&&(delete J.__inittedArrays,delete J.__colorArray,delete J.__normalArray,delete J.__tangentArray,delete J.__uvArray,delete J.__uv2Array,delete J.__faceArray,delete J.__vertexArray,delete J.__lineArray,delete J.__skinIndexArray,delete J.__skinWeightArray)}}}r.verticesNeedUpdate=!1;r.morphTargetsNeedUpdate=
|
|
|
-!1;r.elementsNeedUpdate=!1;r.uvsNeedUpdate=!1;r.normalsNeedUpdate=!1;r.colorsNeedUpdate=!1;r.tangentsNeedUpdate=!1;E.attributes&&x(E)}else if(e instanceof THREE.Line){E=d(e,r);w=E.attributes&&v(E);if(r.verticesNeedUpdate||r.colorsNeedUpdate||r.lineDistancesNeedUpdate||w){var Yb=l.DYNAMIC_DRAW,ab,Fb,ib,Zb,ga,vc,cc=r.vertices,ec=r.colors,Ob=r.lineDistances,jc=cc.length,kc=ec.length,lc=Ob.length,wc=r.__vertexArray,xc=r.__colorArray,ic=r.__lineDistanceArray,sc=r.colorsNeedUpdate,tc=r.lineDistancesNeedUpdate,
|
|
|
-fc=r.__webglCustomAttributesList,yc,Kb,Fa,gc,Wa,na;if(r.verticesNeedUpdate){for(ab=0;ab<jc;ab++)Zb=cc[ab],ga=3*ab,wc[ga]=Zb.x,wc[ga+1]=Zb.y,wc[ga+2]=Zb.z;l.bindBuffer(l.ARRAY_BUFFER,r.__webglVertexBuffer);l.bufferData(l.ARRAY_BUFFER,wc,Yb)}if(sc){for(Fb=0;Fb<kc;Fb++)vc=ec[Fb],ga=3*Fb,xc[ga]=vc.r,xc[ga+1]=vc.g,xc[ga+2]=vc.b;l.bindBuffer(l.ARRAY_BUFFER,r.__webglColorBuffer);l.bufferData(l.ARRAY_BUFFER,xc,Yb)}if(tc){for(ib=0;ib<lc;ib++)ic[ib]=Ob[ib];l.bindBuffer(l.ARRAY_BUFFER,r.__webglLineDistanceBuffer);
|
|
|
-l.bufferData(l.ARRAY_BUFFER,ic,Yb)}if(fc)for(yc=0,Kb=fc.length;yc<Kb;yc++)if(na=fc[yc],na.needsUpdate&&(void 0===na.boundTo||"vertices"===na.boundTo)){ga=0;gc=na.value.length;if(1===na.size)for(Fa=0;Fa<gc;Fa++)na.array[Fa]=na.value[Fa];else if(2===na.size)for(Fa=0;Fa<gc;Fa++)Wa=na.value[Fa],na.array[ga]=Wa.x,na.array[ga+1]=Wa.y,ga+=2;else if(3===na.size)if("c"===na.type)for(Fa=0;Fa<gc;Fa++)Wa=na.value[Fa],na.array[ga]=Wa.r,na.array[ga+1]=Wa.g,na.array[ga+2]=Wa.b,ga+=3;else for(Fa=0;Fa<gc;Fa++)Wa=
|
|
|
+!1;r.elementsNeedUpdate=!1;r.uvsNeedUpdate=!1;r.normalsNeedUpdate=!1;r.colorsNeedUpdate=!1;r.tangentsNeedUpdate=!1;E.attributes&&x(E)}else if(e instanceof THREE.Line){E=d(e,r);w=E.attributes&&v(E);if(r.verticesNeedUpdate||r.colorsNeedUpdate||r.lineDistancesNeedUpdate||w){var Yb=l.DYNAMIC_DRAW,bb,Db,jb,Zb,ga,vc,cc=r.vertices,ec=r.colors,nb=r.lineDistances,Xb=cc.length,jc=ec.length,kc=nb.length,wc=r.__vertexArray,xc=r.__colorArray,ic=r.__lineDistanceArray,sc=r.colorsNeedUpdate,tc=r.lineDistancesNeedUpdate,
|
|
|
+fc=r.__webglCustomAttributesList,yc,Ib,Fa,gc,Wa,na;if(r.verticesNeedUpdate){for(bb=0;bb<Xb;bb++)Zb=cc[bb],ga=3*bb,wc[ga]=Zb.x,wc[ga+1]=Zb.y,wc[ga+2]=Zb.z;l.bindBuffer(l.ARRAY_BUFFER,r.__webglVertexBuffer);l.bufferData(l.ARRAY_BUFFER,wc,Yb)}if(sc){for(Db=0;Db<jc;Db++)vc=ec[Db],ga=3*Db,xc[ga]=vc.r,xc[ga+1]=vc.g,xc[ga+2]=vc.b;l.bindBuffer(l.ARRAY_BUFFER,r.__webglColorBuffer);l.bufferData(l.ARRAY_BUFFER,xc,Yb)}if(tc){for(jb=0;jb<kc;jb++)ic[jb]=nb[jb];l.bindBuffer(l.ARRAY_BUFFER,r.__webglLineDistanceBuffer);
|
|
|
+l.bufferData(l.ARRAY_BUFFER,ic,Yb)}if(fc)for(yc=0,Ib=fc.length;yc<Ib;yc++)if(na=fc[yc],na.needsUpdate&&(void 0===na.boundTo||"vertices"===na.boundTo)){ga=0;gc=na.value.length;if(1===na.size)for(Fa=0;Fa<gc;Fa++)na.array[Fa]=na.value[Fa];else if(2===na.size)for(Fa=0;Fa<gc;Fa++)Wa=na.value[Fa],na.array[ga]=Wa.x,na.array[ga+1]=Wa.y,ga+=2;else if(3===na.size)if("c"===na.type)for(Fa=0;Fa<gc;Fa++)Wa=na.value[Fa],na.array[ga]=Wa.r,na.array[ga+1]=Wa.g,na.array[ga+2]=Wa.b,ga+=3;else for(Fa=0;Fa<gc;Fa++)Wa=
|
|
|
na.value[Fa],na.array[ga]=Wa.x,na.array[ga+1]=Wa.y,na.array[ga+2]=Wa.z,ga+=3;else if(4===na.size)for(Fa=0;Fa<gc;Fa++)Wa=na.value[Fa],na.array[ga]=Wa.x,na.array[ga+1]=Wa.y,na.array[ga+2]=Wa.z,na.array[ga+3]=Wa.w,ga+=4;l.bindBuffer(l.ARRAY_BUFFER,na.buffer);l.bufferData(l.ARRAY_BUFFER,na.array,Yb)}}r.verticesNeedUpdate=!1;r.colorsNeedUpdate=!1;r.lineDistancesNeedUpdate=!1;E.attributes&&x(E)}else if(e instanceof THREE.PointCloud){E=d(e,r);w=E.attributes&&v(E);if(r.verticesNeedUpdate||r.colorsNeedUpdate||
|
|
|
-e.sortParticles||w){var Lb=l.DYNAMIC_DRAW,Xa,tb,ub,X,vb,Tb,zc=r.vertices,pb=zc.length,Mb=r.colors,Nb=Mb.length,$b=r.__vertexArray,ac=r.__colorArray,Gb=r.__sortArray,Wb=r.verticesNeedUpdate,Xb=r.colorsNeedUpdate,Hb=r.__webglCustomAttributesList,lb,hc,ca,mb,ia,W;if(e.sortParticles){Gc.copy(Ac);Gc.multiply(e.matrixWorld);for(Xa=0;Xa<pb;Xa++)ub=zc[Xa],Na.copy(ub),Na.applyProjection(Gc),Gb[Xa]=[Na.z,Xa];Gb.sort(p);for(Xa=0;Xa<pb;Xa++)ub=zc[Gb[Xa][1]],X=3*Xa,$b[X]=ub.x,$b[X+1]=ub.y,$b[X+2]=ub.z;for(tb=
|
|
|
-0;tb<Nb;tb++)X=3*tb,Tb=Mb[Gb[tb][1]],ac[X]=Tb.r,ac[X+1]=Tb.g,ac[X+2]=Tb.b;if(Hb)for(lb=0,hc=Hb.length;lb<hc;lb++)if(W=Hb[lb],void 0===W.boundTo||"vertices"===W.boundTo)if(X=0,mb=W.value.length,1===W.size)for(ca=0;ca<mb;ca++)vb=Gb[ca][1],W.array[ca]=W.value[vb];else if(2===W.size)for(ca=0;ca<mb;ca++)vb=Gb[ca][1],ia=W.value[vb],W.array[X]=ia.x,W.array[X+1]=ia.y,X+=2;else if(3===W.size)if("c"===W.type)for(ca=0;ca<mb;ca++)vb=Gb[ca][1],ia=W.value[vb],W.array[X]=ia.r,W.array[X+1]=ia.g,W.array[X+2]=ia.b,
|
|
|
-X+=3;else for(ca=0;ca<mb;ca++)vb=Gb[ca][1],ia=W.value[vb],W.array[X]=ia.x,W.array[X+1]=ia.y,W.array[X+2]=ia.z,X+=3;else if(4===W.size)for(ca=0;ca<mb;ca++)vb=Gb[ca][1],ia=W.value[vb],W.array[X]=ia.x,W.array[X+1]=ia.y,W.array[X+2]=ia.z,W.array[X+3]=ia.w,X+=4}else{if(Wb)for(Xa=0;Xa<pb;Xa++)ub=zc[Xa],X=3*Xa,$b[X]=ub.x,$b[X+1]=ub.y,$b[X+2]=ub.z;if(Xb)for(tb=0;tb<Nb;tb++)Tb=Mb[tb],X=3*tb,ac[X]=Tb.r,ac[X+1]=Tb.g,ac[X+2]=Tb.b;if(Hb)for(lb=0,hc=Hb.length;lb<hc;lb++)if(W=Hb[lb],W.needsUpdate&&(void 0===W.boundTo||
|
|
|
+e.sortParticles||w){var Jb=l.DYNAMIC_DRAW,Xa,ub,vb,X,wb,Tb,zc=r.vertices,Kb=zc.length,qb=r.colors,Lb=qb.length,$b=r.__vertexArray,ac=r.__colorArray,Eb=r.__sortArray,Mb=r.verticesNeedUpdate,Wb=r.colorsNeedUpdate,Fb=r.__webglCustomAttributesList,lb,hc,ca,mb,ia,W;if(e.sortParticles){Gc.copy(Ac);Gc.multiply(e.matrixWorld);for(Xa=0;Xa<Kb;Xa++)vb=zc[Xa],Na.copy(vb),Na.applyProjection(Gc),Eb[Xa]=[Na.z,Xa];Eb.sort(p);for(Xa=0;Xa<Kb;Xa++)vb=zc[Eb[Xa][1]],X=3*Xa,$b[X]=vb.x,$b[X+1]=vb.y,$b[X+2]=vb.z;for(ub=
|
|
|
+0;ub<Lb;ub++)X=3*ub,Tb=qb[Eb[ub][1]],ac[X]=Tb.r,ac[X+1]=Tb.g,ac[X+2]=Tb.b;if(Fb)for(lb=0,hc=Fb.length;lb<hc;lb++)if(W=Fb[lb],void 0===W.boundTo||"vertices"===W.boundTo)if(X=0,mb=W.value.length,1===W.size)for(ca=0;ca<mb;ca++)wb=Eb[ca][1],W.array[ca]=W.value[wb];else if(2===W.size)for(ca=0;ca<mb;ca++)wb=Eb[ca][1],ia=W.value[wb],W.array[X]=ia.x,W.array[X+1]=ia.y,X+=2;else if(3===W.size)if("c"===W.type)for(ca=0;ca<mb;ca++)wb=Eb[ca][1],ia=W.value[wb],W.array[X]=ia.r,W.array[X+1]=ia.g,W.array[X+2]=ia.b,
|
|
|
+X+=3;else for(ca=0;ca<mb;ca++)wb=Eb[ca][1],ia=W.value[wb],W.array[X]=ia.x,W.array[X+1]=ia.y,W.array[X+2]=ia.z,X+=3;else if(4===W.size)for(ca=0;ca<mb;ca++)wb=Eb[ca][1],ia=W.value[wb],W.array[X]=ia.x,W.array[X+1]=ia.y,W.array[X+2]=ia.z,W.array[X+3]=ia.w,X+=4}else{if(Mb)for(Xa=0;Xa<Kb;Xa++)vb=zc[Xa],X=3*Xa,$b[X]=vb.x,$b[X+1]=vb.y,$b[X+2]=vb.z;if(Wb)for(ub=0;ub<Lb;ub++)Tb=qb[ub],X=3*ub,ac[X]=Tb.r,ac[X+1]=Tb.g,ac[X+2]=Tb.b;if(Fb)for(lb=0,hc=Fb.length;lb<hc;lb++)if(W=Fb[lb],W.needsUpdate&&(void 0===W.boundTo||
|
|
|
"vertices"===W.boundTo))if(mb=W.value.length,X=0,1===W.size)for(ca=0;ca<mb;ca++)W.array[ca]=W.value[ca];else if(2===W.size)for(ca=0;ca<mb;ca++)ia=W.value[ca],W.array[X]=ia.x,W.array[X+1]=ia.y,X+=2;else if(3===W.size)if("c"===W.type)for(ca=0;ca<mb;ca++)ia=W.value[ca],W.array[X]=ia.r,W.array[X+1]=ia.g,W.array[X+2]=ia.b,X+=3;else for(ca=0;ca<mb;ca++)ia=W.value[ca],W.array[X]=ia.x,W.array[X+1]=ia.y,W.array[X+2]=ia.z,X+=3;else if(4===W.size)for(ca=0;ca<mb;ca++)ia=W.value[ca],W.array[X]=ia.x,W.array[X+
|
|
|
-1]=ia.y,W.array[X+2]=ia.z,W.array[X+3]=ia.w,X+=4}if(Wb||e.sortParticles)l.bindBuffer(l.ARRAY_BUFFER,r.__webglVertexBuffer),l.bufferData(l.ARRAY_BUFFER,$b,Lb);if(Xb||e.sortParticles)l.bindBuffer(l.ARRAY_BUFFER,r.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,ac,Lb);if(Hb)for(lb=0,hc=Hb.length;lb<hc;lb++)if(W=Hb[lb],W.needsUpdate||e.sortParticles)l.bindBuffer(l.ARRAY_BUFFER,W.buffer),l.bufferData(l.ARRAY_BUFFER,W.array,Lb)}r.verticesNeedUpdate=!1;r.colorsNeedUpdate=!1;E.attributes&&x(E)}for(var bc=
|
|
|
-0,nb=t.length;bc<nb;bc++){var Bc=t[bc],Ub=Bc,rc=Ub.object,Cc=Ub.buffer,Dc=rc.geometry,Vb=rc.material;Vb instanceof THREE.MeshFaceMaterial?(Vb=Vb.materials[Dc instanceof THREE.BufferGeometry?0:Cc.materialIndex],Ub.material=Vb,Vb.transparent?Ib.push(Ub):bb.push(Ub)):Vb&&(Ub.material=Vb,Vb.transparent?Ib.push(Ub):bb.push(Ub));Bc.render=!0;!0===H.sortObjects&&(null!==e.renderDepth?Bc.z=e.renderDepth:(Na.setFromMatrixPosition(e.matrixWorld),Na.applyProjection(Ac),Bc.z=Na.z))}}}}bc=0;for(nb=e.children.length;bc<
|
|
|
-nb;bc++)q(a,e.children[bc])}}function m(a,b,c,d,e,f){for(var g,h=a.length-1;-1!==h;h--){g=a[h];var k=g.object,l=g.buffer;y(k,b);if(f)g=f;else{g=g.material;if(!g)continue;e&&H.setBlending(g.blending,g.blendEquation,g.blendSrc,g.blendDst);H.setDepthTest(g.depthTest);H.setDepthWrite(g.depthWrite);B(g.polygonOffset,g.polygonOffsetFactor,g.polygonOffsetUnits)}H.setMaterialFaces(g);l instanceof THREE.BufferGeometry?H.renderBufferDirect(b,c,d,g,l,k):H.renderBuffer(b,c,d,g,l,k)}}function r(a,b,c,d,e,f,g){for(var h,
|
|
|
-k=0,l=a.length;k<l;k++){h=a[k];var m=h.object;if(m.visible){if(g)h=g;else{h=h[b];if(!h)continue;f&&H.setBlending(h.blending,h.blendEquation,h.blendSrc,h.blendDst);H.setDepthTest(h.depthTest);H.setDepthWrite(h.depthWrite);B(h.polygonOffset,h.polygonOffsetFactor,h.polygonOffsetUnits)}H.renderImmediateObject(c,d,e,h,m)}}}function t(a){var b=a.object.material;b.transparent?(a.transparent=b,a.opaque=null):(a.opaque=b,a.transparent=null)}function s(a,b,d){var e=b.material,f=!1;if(void 0===xb[d.id]||!0===
|
|
|
-d.groupsNeedUpdate){delete eb[b.id];a=xb;for(var g=d.id,e=e instanceof THREE.MeshFaceMaterial,h=ha.get("OES_element_index_uint")?4294967296:65535,k,f={},m=d.morphTargets.length,n=d.morphNormals.length,p,r={},q=[],t=0,s=d.faces.length;t<s;t++){k=d.faces[t];var v=e?k.materialIndex:0;v in f||(f[v]={hash:v,counter:0});k=f[v].hash+"_"+f[v].counter;k in r||(p={id:rc++,faces3:[],materialIndex:v,vertices:0,numMorphTargets:m,numMorphNormals:n},r[k]=p,q.push(p));r[k].vertices+3>h&&(f[v].counter+=1,k=f[v].hash+
|
|
|
-"_"+f[v].counter,k in r||(p={id:rc++,faces3:[],materialIndex:v,vertices:0,numMorphTargets:m,numMorphNormals:n},r[k]=p,q.push(p)));r[k].faces3.push(t);r[k].vertices+=3}a[g]=q;d.groupsNeedUpdate=!1}a=xb[d.id];g=0;for(e=a.length;g<e;g++){h=a[g];if(void 0===h.__webglVertexBuffer){f=h;f.__webglVertexBuffer=l.createBuffer();f.__webglNormalBuffer=l.createBuffer();f.__webglTangentBuffer=l.createBuffer();f.__webglColorBuffer=l.createBuffer();f.__webglUVBuffer=l.createBuffer();f.__webglUV2Buffer=l.createBuffer();
|
|
|
+1]=ia.y,W.array[X+2]=ia.z,W.array[X+3]=ia.w,X+=4}if(Mb||e.sortParticles)l.bindBuffer(l.ARRAY_BUFFER,r.__webglVertexBuffer),l.bufferData(l.ARRAY_BUFFER,$b,Jb);if(Wb||e.sortParticles)l.bindBuffer(l.ARRAY_BUFFER,r.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,ac,Jb);if(Fb)for(lb=0,hc=Fb.length;lb<hc;lb++)if(W=Fb[lb],W.needsUpdate||e.sortParticles)l.bindBuffer(l.ARRAY_BUFFER,W.buffer),l.bufferData(l.ARRAY_BUFFER,W.array,Jb)}r.verticesNeedUpdate=!1;r.colorsNeedUpdate=!1;E.attributes&&x(E)}for(var bc=
|
|
|
+0,Nb=t.length;bc<Nb;bc++){var Bc=t[bc],Ub=Bc,rc=Ub.object,Cc=Ub.buffer,Dc=rc.geometry,Vb=rc.material;Vb instanceof THREE.MeshFaceMaterial?(Vb=Vb.materials[Dc instanceof THREE.BufferGeometry?0:Cc.materialIndex],Ub.material=Vb,Vb.transparent?Gb.push(Ub):cb.push(Ub)):Vb&&(Ub.material=Vb,Vb.transparent?Gb.push(Ub):cb.push(Ub));Bc.render=!0;!0===H.sortObjects&&(null!==e.renderDepth?Bc.z=e.renderDepth:(Na.setFromMatrixPosition(e.matrixWorld),Na.applyProjection(Ac),Bc.z=Na.z))}}}}bc=0;for(Nb=e.children.length;bc<
|
|
|
+Nb;bc++)q(a,e.children[bc])}}function m(a,b,c,d,e,f){for(var g,h=a.length-1;-1!==h;h--){g=a[h];var k=g.object,l=g.buffer;y(k,b);if(f)g=f;else{g=g.material;if(!g)continue;e&&H.setBlending(g.blending,g.blendEquation,g.blendSrc,g.blendDst);H.setDepthTest(g.depthTest);H.setDepthWrite(g.depthWrite);B(g.polygonOffset,g.polygonOffsetFactor,g.polygonOffsetUnits)}H.setMaterialFaces(g);l instanceof THREE.BufferGeometry?H.renderBufferDirect(b,c,d,g,l,k):H.renderBuffer(b,c,d,g,l,k)}}function r(a,b,c,d,e,f,g){for(var h,
|
|
|
+k=0,l=a.length;k<l;k++){h=a[k];var m=h.object;if(m.visible){if(g)h=g;else{h=h[b];if(!h)continue;f&&H.setBlending(h.blending,h.blendEquation,h.blendSrc,h.blendDst);H.setDepthTest(h.depthTest);H.setDepthWrite(h.depthWrite);B(h.polygonOffset,h.polygonOffsetFactor,h.polygonOffsetUnits)}H.renderImmediateObject(c,d,e,h,m)}}}function t(a){var b=a.object.material;b.transparent?(a.transparent=b,a.opaque=null):(a.opaque=b,a.transparent=null)}function s(a,b,d){var e=b.material,f=!1;if(void 0===ob[d.id]||!0===
|
|
|
+d.groupsNeedUpdate){delete fb[b.id];a=ob;for(var g=d.id,e=e instanceof THREE.MeshFaceMaterial,h=ha.get("OES_element_index_uint")?4294967296:65535,k,f={},m=d.morphTargets.length,n=d.morphNormals.length,p,r={},q=[],t=0,s=d.faces.length;t<s;t++){k=d.faces[t];var v=e?k.materialIndex:0;v in f||(f[v]={hash:v,counter:0});k=f[v].hash+"_"+f[v].counter;k in r||(p={id:rc++,faces3:[],materialIndex:v,vertices:0,numMorphTargets:m,numMorphNormals:n},r[k]=p,q.push(p));r[k].vertices+3>h&&(f[v].counter+=1,k=f[v].hash+
|
|
|
+"_"+f[v].counter,k in r||(p={id:rc++,faces3:[],materialIndex:v,vertices:0,numMorphTargets:m,numMorphNormals:n},r[k]=p,q.push(p)));r[k].faces3.push(t);r[k].vertices+=3}a[g]=q;d.groupsNeedUpdate=!1}a=ob[d.id];g=0;for(e=a.length;g<e;g++){h=a[g];if(void 0===h.__webglVertexBuffer){f=h;f.__webglVertexBuffer=l.createBuffer();f.__webglNormalBuffer=l.createBuffer();f.__webglTangentBuffer=l.createBuffer();f.__webglColorBuffer=l.createBuffer();f.__webglUVBuffer=l.createBuffer();f.__webglUV2Buffer=l.createBuffer();
|
|
|
f.__webglSkinIndicesBuffer=l.createBuffer();f.__webglSkinWeightsBuffer=l.createBuffer();f.__webglFaceBuffer=l.createBuffer();f.__webglLineBuffer=l.createBuffer();n=m=void 0;if(f.numMorphTargets)for(f.__webglMorphTargetsBuffers=[],m=0,n=f.numMorphTargets;m<n;m++)f.__webglMorphTargetsBuffers.push(l.createBuffer());if(f.numMorphNormals)for(f.__webglMorphNormalsBuffers=[],m=0,n=f.numMorphNormals;m<n;m++)f.__webglMorphNormalsBuffers.push(l.createBuffer());H.info.memory.geometries++;c(h,b);d.verticesNeedUpdate=
|
|
|
-!0;d.morphTargetsNeedUpdate=!0;d.elementsNeedUpdate=!0;d.uvsNeedUpdate=!0;d.normalsNeedUpdate=!0;d.tangentsNeedUpdate=!0;f=d.colorsNeedUpdate=!0}else f=!1;(f||void 0===b.__webglActive)&&u(eb,h,b)}b.__webglActive=!0}function u(a,b,c){var d=c.id;a[d]=a[d]||[];a[d].push({id:d,buffer:b,object:c,material:null,z:0})}function v(a){for(var b in a.attributes)if(a.attributes[b].needsUpdate)return!0;return!1}function x(a){for(var b in a.attributes)a.attributes[b].needsUpdate=!1}function E(a,b,c,d,e){var f,g,
|
|
|
+!0;d.morphTargetsNeedUpdate=!0;d.elementsNeedUpdate=!0;d.uvsNeedUpdate=!0;d.normalsNeedUpdate=!0;d.tangentsNeedUpdate=!0;f=d.colorsNeedUpdate=!0}else f=!1;(f||void 0===b.__webglActive)&&u(fb,h,b)}b.__webglActive=!0}function u(a,b,c){var d=c.id;a[d]=a[d]||[];a[d].push({id:d,buffer:b,object:c,material:null,z:0})}function v(a){for(var b in a.attributes)if(a.attributes[b].needsUpdate)return!0;return!1}function x(a){for(var b in a.attributes)a.attributes[b].needsUpdate=!1}function E(a,b,c,d,e){var f,g,
|
|
|
h,k;cc=0;if(d.needsUpdate){d.program&&Cc(d);d.addEventListener("dispose",Dc);var m;d instanceof THREE.MeshDepthMaterial?m="depth":d instanceof THREE.MeshNormalMaterial?m="normal":d instanceof THREE.MeshBasicMaterial?m="basic":d instanceof THREE.MeshLambertMaterial?m="lambert":d instanceof THREE.MeshPhongMaterial?m="phong":d instanceof THREE.LineBasicMaterial?m="basic":d instanceof THREE.LineDashedMaterial?m="dashed":d instanceof THREE.PointCloudMaterial&&(m="particle_basic");if(m){var n=THREE.ShaderLib[m];
|
|
|
d.__webglShader={uniforms:THREE.UniformsUtils.clone(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader}}else d.__webglShader={uniforms:d.uniforms,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader};for(var p=0,r=0,q=0,t=0,s=0,v=b.length;s<v;s++){var u=b[s];u.onlyShadow||!1===u.visible||(u instanceof THREE.DirectionalLight&&p++,u instanceof THREE.PointLight&&r++,u instanceof THREE.SpotLight&&q++,u instanceof THREE.HemisphereLight&&t++)}f=p;g=r;h=q;k=t;for(var x,E=0,y=
|
|
|
0,B=b.length;y<B;y++){var A=b[y];A.castShadow&&(A instanceof THREE.SpotLight&&E++,A instanceof THREE.DirectionalLight&&!A.shadowCascade&&E++)}x=E;var Z;if(ic&&e&&e.skeleton&&e.skeleton.useVertexTexture)Z=1024;else{var K=l.getParameter(l.MAX_VERTEX_UNIFORM_VECTORS),I=Math.floor((K-20)/4);void 0!==e&&e instanceof THREE.SkinnedMesh&&(I=Math.min(e.skeleton.bones.length,I),I<e.skeleton.bones.length&&console.warn("WebGLRenderer: too many bones - "+e.skeleton.bones.length+", this GPU supports just "+I+" (try OpenGL instead of ANGLE)"));
|
|
|
Z=I}var R={precision:Y,supportsVertexTextures:sc,map:!!d.map,envMap:!!d.envMap,lightMap:!!d.lightMap,bumpMap:!!d.bumpMap,normalMap:!!d.normalMap,specularMap:!!d.specularMap,alphaMap:!!d.alphaMap,vertexColors:d.vertexColors,fog:c,useFog:d.fog,fogExp:c instanceof THREE.FogExp2,sizeAttenuation:d.sizeAttenuation,logarithmicDepthBuffer:xa,skinning:d.skinning,maxBones:Z,useVertexTexture:ic&&e&&e.skeleton&&e.skeleton.useVertexTexture,morphTargets:d.morphTargets,morphNormals:d.morphNormals,maxMorphTargets:H.maxMorphTargets,
|
|
|
maxMorphNormals:H.maxMorphNormals,maxDirLights:f,maxPointLights:g,maxSpotLights:h,maxHemiLights:k,maxShadows:x,shadowMapEnabled:H.shadowMapEnabled&&e.receiveShadow&&0<x,shadowMapType:H.shadowMapType,shadowMapDebug:H.shadowMapDebug,shadowMapCascade:H.shadowMapCascade,alphaTest:d.alphaTest,metal:d.metal,wrapAround:d.wrapAround,doubleSided:d.side===THREE.DoubleSide,flipSided:d.side===THREE.BackSide},O=[];m?O.push(m):(O.push(d.fragmentShader),O.push(d.vertexShader));if(void 0!==d.defines)for(var T in d.defines)O.push(T),
|
|
|
-O.push(d.defines[T]);for(T in R)O.push(T),O.push(R[T]);for(var P=O.join(),V,eb=0,da=cb.length;eb<da;eb++){var ob=cb[eb];if(ob.code===P){V=ob;V.usedTimes++;break}}void 0===V&&(V=new THREE.WebGLProgram(H,P,d,R),cb.push(V),H.info.memory.programs=cb.length);d.program=V;var db=V.attributes;if(d.morphTargets){d.numSupportedMorphTargets=0;for(var ha,oa="morphTarget",bb=0;bb<H.maxMorphTargets;bb++)ha=oa+bb,0<=db[ha]&&d.numSupportedMorphTargets++}if(d.morphNormals)for(d.numSupportedMorphNormals=0,oa="morphNormal",
|
|
|
-bb=0;bb<H.maxMorphNormals;bb++)ha=oa+bb,0<=db[ha]&&d.numSupportedMorphNormals++;d.uniformsList=[];for(var ya in d.__webglShader.uniforms){var za=d.program.uniforms[ya];za&&d.uniformsList.push([d.__webglShader.uniforms[ya],za])}d.needsUpdate=!1}d.morphTargets&&!e.__webglMorphTargetInfluences&&(e.__webglMorphTargetInfluences=new Float32Array(H.maxMorphTargets));var ba=!1,aa=!1,$=!1,yb=d.program,pa=yb.uniforms,N=d.__webglShader.uniforms;yb.id!==tc&&(l.useProgram(yb.program),tc=yb.id,$=aa=ba=!0);d.id!==
|
|
|
-Jb&&(-1===Jb&&($=!0),Jb=d.id,aa=!0);if(ba||a!==dc)l.uniformMatrix4fv(pa.projectionMatrix,!1,a.projectionMatrix.elements),xa&&l.uniform1f(pa.logDepthBufFC,2/(Math.log(a.far+1)/Math.LN2)),a!==dc&&(dc=a),(d instanceof THREE.ShaderMaterial||d instanceof THREE.MeshPhongMaterial||d.envMap)&&null!==pa.cameraPosition&&(Na.setFromMatrixPosition(a.matrixWorld),l.uniform3f(pa.cameraPosition,Na.x,Na.y,Na.z)),(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshBasicMaterial||
|
|
|
-d instanceof THREE.ShaderMaterial||d.skinning)&&null!==pa.viewMatrix&&l.uniformMatrix4fv(pa.viewMatrix,!1,a.matrixWorldInverse.elements);if(d.skinning)if(e.bindMatrix&&null!==pa.bindMatrix&&l.uniformMatrix4fv(pa.bindMatrix,!1,e.bindMatrix.elements),e.bindMatrixInverse&&null!==pa.bindMatrixInverse&&l.uniformMatrix4fv(pa.bindMatrixInverse,!1,e.bindMatrixInverse.elements),ic&&e.skeleton&&e.skeleton.useVertexTexture){if(null!==pa.boneTexture){var Ib=M();l.uniform1i(pa.boneTexture,Ib);H.setTexture(e.skeleton.boneTexture,
|
|
|
-Ib)}null!==pa.boneTextureWidth&&l.uniform1i(pa.boneTextureWidth,e.skeleton.boneTextureWidth);null!==pa.boneTextureHeight&&l.uniform1i(pa.boneTextureHeight,e.skeleton.boneTextureHeight)}else e.skeleton&&e.skeleton.boneMatrices&&null!==pa.boneGlobalMatrices&&l.uniformMatrix4fv(pa.boneGlobalMatrices,!1,e.skeleton.boneMatrices);if(aa){c&&d.fog&&(N.fogColor.value=c.color,c instanceof THREE.Fog?(N.fogNear.value=c.near,N.fogFar.value=c.far):c instanceof THREE.FogExp2&&(N.fogDensity.value=c.density));if(d instanceof
|
|
|
-THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d.lights){if(ec){var $=!0,ma,Ra,ja,Ca=0,Ga=0,Oa=0,Ba,zb,Ab,Ha,Bb,Aa,ua=Mc,Cb=ua.directional.colors,jb=ua.directional.positions,Pb=ua.point.colors,Ma=ua.point.positions,xb=ua.point.distances,Ya=ua.spot.colors,Za=ua.spot.positions,Lb=ua.spot.distances,Qb=ua.spot.directions,fb=ua.spot.anglesCos,gb=ua.spot.exponents,qb=ua.hemi.skyColors,rb=ua.hemi.groundColors,Db=ua.hemi.positions,Sa=0,Da=0,Pa=0,Ka=0,ka=0,ra=0,F=0,Ia=0,Qa=0,sb=0,hb=0,Ta=
|
|
|
-0;ma=0;for(Ra=b.length;ma<Ra;ma++)ja=b[ma],ja.onlyShadow||(Ba=ja.color,Ha=ja.intensity,Aa=ja.distance,ja instanceof THREE.AmbientLight?ja.visible&&(H.gammaInput?(Ca+=Ba.r*Ba.r,Ga+=Ba.g*Ba.g,Oa+=Ba.b*Ba.b):(Ca+=Ba.r,Ga+=Ba.g,Oa+=Ba.b)):ja instanceof THREE.DirectionalLight?(ka+=1,ja.visible&&(ta.setFromMatrixPosition(ja.matrixWorld),Na.setFromMatrixPosition(ja.target.matrixWorld),ta.sub(Na),ta.normalize(),Qa=3*Sa,jb[Qa]=ta.x,jb[Qa+1]=ta.y,jb[Qa+2]=ta.z,H.gammaInput?C(Cb,Qa,Ba,Ha*Ha):D(Cb,Qa,Ba,Ha),
|
|
|
-Sa+=1)):ja instanceof THREE.PointLight?(ra+=1,ja.visible&&(sb=3*Da,H.gammaInput?C(Pb,sb,Ba,Ha*Ha):D(Pb,sb,Ba,Ha),Na.setFromMatrixPosition(ja.matrixWorld),Ma[sb]=Na.x,Ma[sb+1]=Na.y,Ma[sb+2]=Na.z,xb[Da]=Aa,Da+=1)):ja instanceof THREE.SpotLight?(F+=1,ja.visible&&(hb=3*Pa,H.gammaInput?C(Ya,hb,Ba,Ha*Ha):D(Ya,hb,Ba,Ha),ta.setFromMatrixPosition(ja.matrixWorld),Za[hb]=ta.x,Za[hb+1]=ta.y,Za[hb+2]=ta.z,Lb[Pa]=Aa,Na.setFromMatrixPosition(ja.target.matrixWorld),ta.sub(Na),ta.normalize(),Qb[hb]=ta.x,Qb[hb+1]=
|
|
|
-ta.y,Qb[hb+2]=ta.z,fb[Pa]=Math.cos(ja.angle),gb[Pa]=ja.exponent,Pa+=1)):ja instanceof THREE.HemisphereLight&&(Ia+=1,ja.visible&&(ta.setFromMatrixPosition(ja.matrixWorld),ta.normalize(),Ta=3*Ka,Db[Ta]=ta.x,Db[Ta+1]=ta.y,Db[Ta+2]=ta.z,zb=ja.color,Ab=ja.groundColor,H.gammaInput?(Bb=Ha*Ha,C(qb,Ta,zb,Bb),C(rb,Ta,Ab,Bb)):(D(qb,Ta,zb,Ha),D(rb,Ta,Ab,Ha)),Ka+=1)));ma=3*Sa;for(Ra=Math.max(Cb.length,3*ka);ma<Ra;ma++)Cb[ma]=0;ma=3*Da;for(Ra=Math.max(Pb.length,3*ra);ma<Ra;ma++)Pb[ma]=0;ma=3*Pa;for(Ra=Math.max(Ya.length,
|
|
|
-3*F);ma<Ra;ma++)Ya[ma]=0;ma=3*Ka;for(Ra=Math.max(qb.length,3*Ia);ma<Ra;ma++)qb[ma]=0;ma=3*Ka;for(Ra=Math.max(rb.length,3*Ia);ma<Ra;ma++)rb[ma]=0;ua.directional.length=Sa;ua.point.length=Da;ua.spot.length=Pa;ua.hemi.length=Ka;ua.ambient[0]=Ca;ua.ambient[1]=Ga;ua.ambient[2]=Oa;ec=!1}if($){var qa=Mc;N.ambientLightColor.value=qa.ambient;N.directionalLightColor.value=qa.directional.colors;N.directionalLightDirection.value=qa.directional.positions;N.pointLightColor.value=qa.point.colors;N.pointLightPosition.value=
|
|
|
+O.push(d.defines[T]);for(T in R)O.push(T),O.push(R[T]);for(var P=O.join(),V,fb=0,da=db.length;fb<da;fb++){var pb=db[fb];if(pb.code===P){V=pb;V.usedTimes++;break}}void 0===V&&(V=new THREE.WebGLProgram(H,P,d,R),db.push(V),H.info.memory.programs=db.length);d.program=V;var eb=V.attributes;if(d.morphTargets){d.numSupportedMorphTargets=0;for(var ha,oa="morphTarget",cb=0;cb<H.maxMorphTargets;cb++)ha=oa+cb,0<=eb[ha]&&d.numSupportedMorphTargets++}if(d.morphNormals)for(d.numSupportedMorphNormals=0,oa="morphNormal",
|
|
|
+cb=0;cb<H.maxMorphNormals;cb++)ha=oa+cb,0<=eb[ha]&&d.numSupportedMorphNormals++;d.uniformsList=[];for(var ya in d.__webglShader.uniforms){var za=d.program.uniforms[ya];za&&d.uniformsList.push([d.__webglShader.uniforms[ya],za])}d.needsUpdate=!1}d.morphTargets&&!e.__webglMorphTargetInfluences&&(e.__webglMorphTargetInfluences=new Float32Array(H.maxMorphTargets));var ba=!1,aa=!1,$=!1,xb=d.program,pa=xb.uniforms,N=d.__webglShader.uniforms;xb.id!==tc&&(l.useProgram(xb.program),tc=xb.id,$=aa=ba=!0);d.id!==
|
|
|
+Hb&&(-1===Hb&&($=!0),Hb=d.id,aa=!0);if(ba||a!==dc)l.uniformMatrix4fv(pa.projectionMatrix,!1,a.projectionMatrix.elements),xa&&l.uniform1f(pa.logDepthBufFC,2/(Math.log(a.far+1)/Math.LN2)),a!==dc&&(dc=a),(d instanceof THREE.ShaderMaterial||d instanceof THREE.MeshPhongMaterial||d.envMap)&&null!==pa.cameraPosition&&(Na.setFromMatrixPosition(a.matrixWorld),l.uniform3f(pa.cameraPosition,Na.x,Na.y,Na.z)),(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshBasicMaterial||
|
|
|
+d instanceof THREE.ShaderMaterial||d.skinning)&&null!==pa.viewMatrix&&l.uniformMatrix4fv(pa.viewMatrix,!1,a.matrixWorldInverse.elements);if(d.skinning)if(e.bindMatrix&&null!==pa.bindMatrix&&l.uniformMatrix4fv(pa.bindMatrix,!1,e.bindMatrix.elements),e.bindMatrixInverse&&null!==pa.bindMatrixInverse&&l.uniformMatrix4fv(pa.bindMatrixInverse,!1,e.bindMatrixInverse.elements),ic&&e.skeleton&&e.skeleton.useVertexTexture){if(null!==pa.boneTexture){var Gb=M();l.uniform1i(pa.boneTexture,Gb);H.setTexture(e.skeleton.boneTexture,
|
|
|
+Gb)}null!==pa.boneTextureWidth&&l.uniform1i(pa.boneTextureWidth,e.skeleton.boneTextureWidth);null!==pa.boneTextureHeight&&l.uniform1i(pa.boneTextureHeight,e.skeleton.boneTextureHeight)}else e.skeleton&&e.skeleton.boneMatrices&&null!==pa.boneGlobalMatrices&&l.uniformMatrix4fv(pa.boneGlobalMatrices,!1,e.skeleton.boneMatrices);if(aa){c&&d.fog&&(N.fogColor.value=c.color,c instanceof THREE.Fog?(N.fogNear.value=c.near,N.fogFar.value=c.far):c instanceof THREE.FogExp2&&(N.fogDensity.value=c.density));if(d instanceof
|
|
|
+THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d.lights){if(ec){var $=!0,ma,Ra,ja,Ca=0,Ga=0,Oa=0,Ba,Za,yb,Ha,zb,Aa,ua=Mc,Ab=ua.directional.colors,ob=ua.directional.positions,Pb=ua.point.colors,Ma=ua.point.positions,Jb=ua.point.distances,Ya=ua.spot.colors,$a=ua.spot.positions,Kb=ua.spot.distances,Qb=ua.spot.directions,gb=ua.spot.anglesCos,hb=ua.spot.exponents,rb=ua.hemi.skyColors,sb=ua.hemi.groundColors,Bb=ua.hemi.positions,Sa=0,Da=0,Pa=0,Ka=0,ka=0,ra=0,F=0,Ia=0,Qa=0,tb=0,ib=0,Ta=
|
|
|
+0;ma=0;for(Ra=b.length;ma<Ra;ma++)ja=b[ma],ja.onlyShadow||(Ba=ja.color,Ha=ja.intensity,Aa=ja.distance,ja instanceof THREE.AmbientLight?ja.visible&&(H.gammaInput?(Ca+=Ba.r*Ba.r,Ga+=Ba.g*Ba.g,Oa+=Ba.b*Ba.b):(Ca+=Ba.r,Ga+=Ba.g,Oa+=Ba.b)):ja instanceof THREE.DirectionalLight?(ka+=1,ja.visible&&(ta.setFromMatrixPosition(ja.matrixWorld),Na.setFromMatrixPosition(ja.target.matrixWorld),ta.sub(Na),ta.normalize(),Qa=3*Sa,ob[Qa]=ta.x,ob[Qa+1]=ta.y,ob[Qa+2]=ta.z,H.gammaInput?C(Ab,Qa,Ba,Ha*Ha):D(Ab,Qa,Ba,Ha),
|
|
|
+Sa+=1)):ja instanceof THREE.PointLight?(ra+=1,ja.visible&&(tb=3*Da,H.gammaInput?C(Pb,tb,Ba,Ha*Ha):D(Pb,tb,Ba,Ha),Na.setFromMatrixPosition(ja.matrixWorld),Ma[tb]=Na.x,Ma[tb+1]=Na.y,Ma[tb+2]=Na.z,Jb[Da]=Aa,Da+=1)):ja instanceof THREE.SpotLight?(F+=1,ja.visible&&(ib=3*Pa,H.gammaInput?C(Ya,ib,Ba,Ha*Ha):D(Ya,ib,Ba,Ha),ta.setFromMatrixPosition(ja.matrixWorld),$a[ib]=ta.x,$a[ib+1]=ta.y,$a[ib+2]=ta.z,Kb[Pa]=Aa,Na.setFromMatrixPosition(ja.target.matrixWorld),ta.sub(Na),ta.normalize(),Qb[ib]=ta.x,Qb[ib+1]=
|
|
|
+ta.y,Qb[ib+2]=ta.z,gb[Pa]=Math.cos(ja.angle),hb[Pa]=ja.exponent,Pa+=1)):ja instanceof THREE.HemisphereLight&&(Ia+=1,ja.visible&&(ta.setFromMatrixPosition(ja.matrixWorld),ta.normalize(),Ta=3*Ka,Bb[Ta]=ta.x,Bb[Ta+1]=ta.y,Bb[Ta+2]=ta.z,Za=ja.color,yb=ja.groundColor,H.gammaInput?(zb=Ha*Ha,C(rb,Ta,Za,zb),C(sb,Ta,yb,zb)):(D(rb,Ta,Za,Ha),D(sb,Ta,yb,Ha)),Ka+=1)));ma=3*Sa;for(Ra=Math.max(Ab.length,3*ka);ma<Ra;ma++)Ab[ma]=0;ma=3*Da;for(Ra=Math.max(Pb.length,3*ra);ma<Ra;ma++)Pb[ma]=0;ma=3*Pa;for(Ra=Math.max(Ya.length,
|
|
|
+3*F);ma<Ra;ma++)Ya[ma]=0;ma=3*Ka;for(Ra=Math.max(rb.length,3*Ia);ma<Ra;ma++)rb[ma]=0;ma=3*Ka;for(Ra=Math.max(sb.length,3*Ia);ma<Ra;ma++)sb[ma]=0;ua.directional.length=Sa;ua.point.length=Da;ua.spot.length=Pa;ua.hemi.length=Ka;ua.ambient[0]=Ca;ua.ambient[1]=Ga;ua.ambient[2]=Oa;ec=!1}if($){var qa=Mc;N.ambientLightColor.value=qa.ambient;N.directionalLightColor.value=qa.directional.colors;N.directionalLightDirection.value=qa.directional.positions;N.pointLightColor.value=qa.point.colors;N.pointLightPosition.value=
|
|
|
qa.point.positions;N.pointLightDistance.value=qa.point.distances;N.spotLightColor.value=qa.spot.colors;N.spotLightPosition.value=qa.spot.positions;N.spotLightDistance.value=qa.spot.distances;N.spotLightDirection.value=qa.spot.directions;N.spotLightAngleCos.value=qa.spot.anglesCos;N.spotLightExponent.value=qa.spot.exponents;N.hemisphereLightSkyColor.value=qa.hemi.skyColors;N.hemisphereLightGroundColor.value=qa.hemi.groundColors;N.hemisphereLightDirection.value=qa.hemi.positions;w(N,!0)}else w(N,!1)}if(d instanceof
|
|
|
THREE.MeshBasicMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshPhongMaterial){N.opacity.value=d.opacity;H.gammaInput?N.diffuse.value.copyGammaToLinear(d.color):N.diffuse.value=d.color;N.map.value=d.map;N.lightMap.value=d.lightMap;N.specularMap.value=d.specularMap;N.alphaMap.value=d.alphaMap;d.bumpMap&&(N.bumpMap.value=d.bumpMap,N.bumpScale.value=d.bumpScale);d.normalMap&&(N.normalMap.value=d.normalMap,N.normalScale.value.copy(d.normalScale));var La;d.map?La=d.map:d.specularMap?
|
|
|
La=d.specularMap:d.normalMap?La=d.normalMap:d.bumpMap?La=d.bumpMap:d.alphaMap&&(La=d.alphaMap);if(void 0!==La){var Ua=La.offset,Va=La.repeat;N.offsetRepeat.value.set(Ua.x,Ua.y,Va.x,Va.y)}N.envMap.value=d.envMap;N.flipEnvMap.value=d.envMap instanceof THREE.WebGLRenderTargetCube?1:-1;N.reflectivity.value=d.reflectivity;N.refractionRatio.value=d.refractionRatio;N.combine.value=d.combine;N.useRefract.value=d.envMap&&(d.envMap.mapping===THREE.CubeRefractionMapping||d.envMap.mapping===THREE.EquirectangularRefractionMapping)}d instanceof
|
|
|
THREE.LineBasicMaterial?(N.diffuse.value=d.color,N.opacity.value=d.opacity):d instanceof THREE.LineDashedMaterial?(N.diffuse.value=d.color,N.opacity.value=d.opacity,N.dashSize.value=d.dashSize,N.totalSize.value=d.dashSize+d.gapSize,N.scale.value=d.scale):d instanceof THREE.PointCloudMaterial?(N.psColor.value=d.color,N.opacity.value=d.opacity,N.size.value=d.size,N.scale.value=J.height/2,N.map.value=d.map):d instanceof THREE.MeshPhongMaterial?(N.shininess.value=d.shininess,H.gammaInput?(N.ambient.value.copyGammaToLinear(d.ambient),
|
|
|
N.emissive.value.copyGammaToLinear(d.emissive),N.specular.value.copyGammaToLinear(d.specular)):(N.ambient.value=d.ambient,N.emissive.value=d.emissive,N.specular.value=d.specular),d.wrapAround&&N.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshLambertMaterial?(H.gammaInput?(N.ambient.value.copyGammaToLinear(d.ambient),N.emissive.value.copyGammaToLinear(d.emissive)):(N.ambient.value=d.ambient,N.emissive.value=d.emissive),d.wrapAround&&N.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshDepthMaterial?
|
|
|
-(N.mNear.value=a.near,N.mFar.value=a.far,N.opacity.value=d.opacity):d instanceof THREE.MeshNormalMaterial&&(N.opacity.value=d.opacity);if(e.receiveShadow&&!d._shadowPass&&N.shadowMatrix)for(var Eb=0,pb=0,Mb=b.length;pb<Mb;pb++){var z=b[pb];z.castShadow&&(z instanceof THREE.SpotLight||z instanceof THREE.DirectionalLight&&!z.shadowCascade)&&(N.shadowMap.value[Eb]=z.shadowMap,N.shadowMapSize.value[Eb]=z.shadowMapSize,N.shadowMatrix.value[Eb]=z.shadowMatrix,N.shadowDarkness.value[Eb]=z.shadowDarkness,
|
|
|
-N.shadowBias.value[Eb]=z.shadowBias,Eb++)}for(var Rb=d.uniformsList,Ja,va,$a,nb=0,Ob=Rb.length;nb<Ob;nb++){var ea=Rb[nb][0];if(!1!==ea.needsUpdate){var wb=ea.type,U=ea.value,fa=Rb[nb][1];switch(wb){case "1i":l.uniform1i(fa,U);break;case "1f":l.uniform1f(fa,U);break;case "2f":l.uniform2f(fa,U[0],U[1]);break;case "3f":l.uniform3f(fa,U[0],U[1],U[2]);break;case "4f":l.uniform4f(fa,U[0],U[1],U[2],U[3]);break;case "1iv":l.uniform1iv(fa,U);break;case "3iv":l.uniform3iv(fa,U);break;case "1fv":l.uniform1fv(fa,
|
|
|
+(N.mNear.value=a.near,N.mFar.value=a.far,N.opacity.value=d.opacity):d instanceof THREE.MeshNormalMaterial&&(N.opacity.value=d.opacity);if(e.receiveShadow&&!d._shadowPass&&N.shadowMatrix)for(var Cb=0,qb=0,Nb=b.length;qb<Nb;qb++){var z=b[qb];z.castShadow&&(z instanceof THREE.SpotLight||z instanceof THREE.DirectionalLight&&!z.shadowCascade)&&(N.shadowMap.value[Cb]=z.shadowMap,N.shadowMapSize.value[Cb]=z.shadowMapSize,N.shadowMatrix.value[Cb]=z.shadowMatrix,N.shadowDarkness.value[Cb]=z.shadowDarkness,
|
|
|
+N.shadowBias.value[Cb]=z.shadowBias,Cb++)}for(var Rb=d.uniformsList,Ja,va,ab,nb=0,Ob=Rb.length;nb<Ob;nb++){var ea=Rb[nb][0];if(!1!==ea.needsUpdate){var Ib=ea.type,U=ea.value,fa=Rb[nb][1];switch(Ib){case "1i":l.uniform1i(fa,U);break;case "1f":l.uniform1f(fa,U);break;case "2f":l.uniform2f(fa,U[0],U[1]);break;case "3f":l.uniform3f(fa,U[0],U[1],U[2]);break;case "4f":l.uniform4f(fa,U[0],U[1],U[2],U[3]);break;case "1iv":l.uniform1iv(fa,U);break;case "3iv":l.uniform3iv(fa,U);break;case "1fv":l.uniform1fv(fa,
|
|
|
U);break;case "2fv":l.uniform2fv(fa,U);break;case "3fv":l.uniform3fv(fa,U);break;case "4fv":l.uniform4fv(fa,U);break;case "Matrix3fv":l.uniformMatrix3fv(fa,!1,U);break;case "Matrix4fv":l.uniformMatrix4fv(fa,!1,U);break;case "i":l.uniform1i(fa,U);break;case "f":l.uniform1f(fa,U);break;case "v2":l.uniform2f(fa,U.x,U.y);break;case "v3":l.uniform3f(fa,U.x,U.y,U.z);break;case "v4":l.uniform4f(fa,U.x,U.y,U.z,U.w);break;case "c":l.uniform3f(fa,U.r,U.g,U.b);break;case "iv1":l.uniform1iv(fa,U);break;case "iv":l.uniform3iv(fa,
|
|
|
-U);break;case "fv1":l.uniform1fv(fa,U);break;case "fv":l.uniform3fv(fa,U);break;case "v2v":void 0===ea._array&&(ea._array=new Float32Array(2*U.length));for(var Q=0,wa=U.length;Q<wa;Q++)$a=2*Q,ea._array[$a]=U[Q].x,ea._array[$a+1]=U[Q].y;l.uniform2fv(fa,ea._array);break;case "v3v":void 0===ea._array&&(ea._array=new Float32Array(3*U.length));Q=0;for(wa=U.length;Q<wa;Q++)$a=3*Q,ea._array[$a]=U[Q].x,ea._array[$a+1]=U[Q].y,ea._array[$a+2]=U[Q].z;l.uniform3fv(fa,ea._array);break;case "v4v":void 0===ea._array&&
|
|
|
-(ea._array=new Float32Array(4*U.length));Q=0;for(wa=U.length;Q<wa;Q++)$a=4*Q,ea._array[$a]=U[Q].x,ea._array[$a+1]=U[Q].y,ea._array[$a+2]=U[Q].z,ea._array[$a+3]=U[Q].w;l.uniform4fv(fa,ea._array);break;case "m3":l.uniformMatrix3fv(fa,!1,U.elements);break;case "m3v":void 0===ea._array&&(ea._array=new Float32Array(9*U.length));Q=0;for(wa=U.length;Q<wa;Q++)U[Q].flattenToArrayOffset(ea._array,9*Q);l.uniformMatrix3fv(fa,!1,ea._array);break;case "m4":l.uniformMatrix4fv(fa,!1,U.elements);break;case "m4v":void 0===
|
|
|
-ea._array&&(ea._array=new Float32Array(16*U.length));Q=0;for(wa=U.length;Q<wa;Q++)U[Q].flattenToArrayOffset(ea._array,16*Q);l.uniformMatrix4fv(fa,!1,ea._array);break;case "t":Ja=U;va=M();l.uniform1i(fa,va);if(!Ja)continue;if(Ja instanceof THREE.CubeTexture||Ja.image instanceof Array&&6===Ja.image.length){var sa=Ja,Kb=va;if(6===sa.image.length)if(sa.needsUpdate){sa.image.__webglTextureCube||(sa.addEventListener("dispose",fc),sa.image.__webglTextureCube=l.createTexture(),H.info.memory.textures++);l.activeTexture(l.TEXTURE0+
|
|
|
-Kb);l.bindTexture(l.TEXTURE_CUBE_MAP,sa.image.__webglTextureCube);l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,sa.flipY);for(var Nb=sa instanceof THREE.CompressedTexture,Sb=sa.image[0]instanceof THREE.DataTexture,kb=[],Ea=0;6>Ea;Ea++)kb[Ea]=!H.autoScaleCubemaps||Nb||Sb?Sb?sa.image[Ea].image:sa.image[Ea]:S(sa.image[Ea],bd);var la=kb[0],Yb=THREE.Math.isPowerOfTwo(la.width)&&THREE.Math.isPowerOfTwo(la.height),ab=L(sa.format),Fb=L(sa.type);G(l.TEXTURE_CUBE_MAP,sa,Yb);for(Ea=0;6>Ea;Ea++)if(Nb)for(var ib,Zb=kb[Ea].mipmaps,
|
|
|
-ga=0,Wb=Zb.length;ga<Wb;ga++)ib=Zb[ga],sa.format!==THREE.RGBAFormat&&sa.format!==THREE.RGBFormat?-1<Nc().indexOf(ab)?l.compressedTexImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+Ea,ga,ab,ib.width,ib.height,0,ib.data):console.warn("Attempt to load unsupported compressed texture format"):l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+Ea,ga,ab,ib.width,ib.height,0,ab,Fb,ib.data);else Sb?l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+Ea,0,ab,kb[Ea].width,kb[Ea].height,0,ab,Fb,kb[Ea].data):l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+
|
|
|
-Ea,0,ab,ab,Fb,kb[Ea]);sa.generateMipmaps&&Yb&&l.generateMipmap(l.TEXTURE_CUBE_MAP);sa.needsUpdate=!1;if(sa.onUpdate)sa.onUpdate()}else l.activeTexture(l.TEXTURE0+Kb),l.bindTexture(l.TEXTURE_CUBE_MAP,sa.image.__webglTextureCube)}else if(Ja instanceof THREE.WebGLRenderTargetCube){var Xb=Ja;l.activeTexture(l.TEXTURE0+va);l.bindTexture(l.TEXTURE_CUBE_MAP,Xb.__webglTexture)}else H.setTexture(Ja,va);break;case "tv":void 0===ea._array&&(ea._array=[]);Q=0;for(wa=ea.value.length;Q<wa;Q++)ea._array[Q]=M();
|
|
|
-l.uniform1iv(fa,ea._array);Q=0;for(wa=ea.value.length;Q<wa;Q++)Ja=ea.value[Q],va=ea._array[Q],Ja&&H.setTexture(Ja,va);break;default:console.warn("THREE.WebGLRenderer: Unknown uniform type: "+wb)}}}}l.uniformMatrix4fv(pa.modelViewMatrix,!1,e._modelViewMatrix.elements);pa.normalMatrix&&l.uniformMatrix3fv(pa.normalMatrix,!1,e._normalMatrix.elements);null!==pa.modelMatrix&&l.uniformMatrix4fv(pa.modelMatrix,!1,e.matrixWorld.elements);return yb}function w(a,b){a.ambientLightColor.needsUpdate=b;a.directionalLightColor.needsUpdate=
|
|
|
+U);break;case "fv1":l.uniform1fv(fa,U);break;case "fv":l.uniform3fv(fa,U);break;case "v2v":void 0===ea._array&&(ea._array=new Float32Array(2*U.length));for(var Q=0,wa=U.length;Q<wa;Q++)ab=2*Q,ea._array[ab]=U[Q].x,ea._array[ab+1]=U[Q].y;l.uniform2fv(fa,ea._array);break;case "v3v":void 0===ea._array&&(ea._array=new Float32Array(3*U.length));Q=0;for(wa=U.length;Q<wa;Q++)ab=3*Q,ea._array[ab]=U[Q].x,ea._array[ab+1]=U[Q].y,ea._array[ab+2]=U[Q].z;l.uniform3fv(fa,ea._array);break;case "v4v":void 0===ea._array&&
|
|
|
+(ea._array=new Float32Array(4*U.length));Q=0;for(wa=U.length;Q<wa;Q++)ab=4*Q,ea._array[ab]=U[Q].x,ea._array[ab+1]=U[Q].y,ea._array[ab+2]=U[Q].z,ea._array[ab+3]=U[Q].w;l.uniform4fv(fa,ea._array);break;case "m3":l.uniformMatrix3fv(fa,!1,U.elements);break;case "m3v":void 0===ea._array&&(ea._array=new Float32Array(9*U.length));Q=0;for(wa=U.length;Q<wa;Q++)U[Q].flattenToArrayOffset(ea._array,9*Q);l.uniformMatrix3fv(fa,!1,ea._array);break;case "m4":l.uniformMatrix4fv(fa,!1,U.elements);break;case "m4v":void 0===
|
|
|
+ea._array&&(ea._array=new Float32Array(16*U.length));Q=0;for(wa=U.length;Q<wa;Q++)U[Q].flattenToArrayOffset(ea._array,16*Q);l.uniformMatrix4fv(fa,!1,ea._array);break;case "t":Ja=U;va=M();l.uniform1i(fa,va);if(!Ja)continue;if(Ja instanceof THREE.CubeTexture||Ja.image instanceof Array&&6===Ja.image.length){var sa=Ja,Lb=va;if(6===sa.image.length)if(sa.needsUpdate){sa.image.__webglTextureCube||(sa.addEventListener("dispose",fc),sa.image.__webglTextureCube=l.createTexture(),H.info.memory.textures++);l.activeTexture(l.TEXTURE0+
|
|
|
+Lb);l.bindTexture(l.TEXTURE_CUBE_MAP,sa.image.__webglTextureCube);l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,sa.flipY);for(var Mb=sa instanceof THREE.CompressedTexture,Sb=sa.image[0]instanceof THREE.DataTexture,kb=[],Ea=0;6>Ea;Ea++)kb[Ea]=!H.autoScaleCubemaps||Mb||Sb?Sb?sa.image[Ea].image:sa.image[Ea]:S(sa.image[Ea],bd);var la=kb[0],Yb=THREE.Math.isPowerOfTwo(la.width)&&THREE.Math.isPowerOfTwo(la.height),bb=L(sa.format),Db=L(sa.type);G(l.TEXTURE_CUBE_MAP,sa,Yb);for(Ea=0;6>Ea;Ea++)if(Mb)for(var jb,Zb=kb[Ea].mipmaps,
|
|
|
+ga=0,Wb=Zb.length;ga<Wb;ga++)jb=Zb[ga],sa.format!==THREE.RGBAFormat&&sa.format!==THREE.RGBFormat?-1<Nc().indexOf(bb)?l.compressedTexImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+Ea,ga,bb,jb.width,jb.height,0,jb.data):console.warn("Attempt to load unsupported compressed texture format"):l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+Ea,ga,bb,jb.width,jb.height,0,bb,Db,jb.data);else Sb?l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+Ea,0,bb,kb[Ea].width,kb[Ea].height,0,bb,Db,kb[Ea].data):l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+
|
|
|
+Ea,0,bb,bb,Db,kb[Ea]);sa.generateMipmaps&&Yb&&l.generateMipmap(l.TEXTURE_CUBE_MAP);sa.needsUpdate=!1;if(sa.onUpdate)sa.onUpdate()}else l.activeTexture(l.TEXTURE0+Lb),l.bindTexture(l.TEXTURE_CUBE_MAP,sa.image.__webglTextureCube)}else if(Ja instanceof THREE.WebGLRenderTargetCube){var Xb=Ja;l.activeTexture(l.TEXTURE0+va);l.bindTexture(l.TEXTURE_CUBE_MAP,Xb.__webglTexture)}else H.setTexture(Ja,va);break;case "tv":void 0===ea._array&&(ea._array=[]);Q=0;for(wa=ea.value.length;Q<wa;Q++)ea._array[Q]=M();
|
|
|
+l.uniform1iv(fa,ea._array);Q=0;for(wa=ea.value.length;Q<wa;Q++)Ja=ea.value[Q],va=ea._array[Q],Ja&&H.setTexture(Ja,va);break;default:console.warn("THREE.WebGLRenderer: Unknown uniform type: "+Ib)}}}}l.uniformMatrix4fv(pa.modelViewMatrix,!1,e._modelViewMatrix.elements);pa.normalMatrix&&l.uniformMatrix3fv(pa.normalMatrix,!1,e._normalMatrix.elements);null!==pa.modelMatrix&&l.uniformMatrix4fv(pa.modelMatrix,!1,e.matrixWorld.elements);return xb}function w(a,b){a.ambientLightColor.needsUpdate=b;a.directionalLightColor.needsUpdate=
|
|
|
b;a.directionalLightDirection.needsUpdate=b;a.pointLightColor.needsUpdate=b;a.pointLightPosition.needsUpdate=b;a.pointLightDistance.needsUpdate=b;a.spotLightColor.needsUpdate=b;a.spotLightPosition.needsUpdate=b;a.spotLightDistance.needsUpdate=b;a.spotLightDirection.needsUpdate=b;a.spotLightAngleCos.needsUpdate=b;a.spotLightExponent.needsUpdate=b;a.hemisphereLightSkyColor.needsUpdate=b;a.hemisphereLightGroundColor.needsUpdate=b;a.hemisphereLightDirection.needsUpdate=b}function M(){var a=cc;a>=Oc&&
|
|
|
console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+Oc);cc+=1;return a}function y(a,b){a._modelViewMatrix.multiplyMatrices(b.matrixWorldInverse,a.matrixWorld);a._normalMatrix.getNormalMatrix(a._modelViewMatrix)}function C(a,b,c,d){a[b]=c.r*c.r*d;a[b+1]=c.g*c.g*d;a[b+2]=c.b*c.b*d}function D(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function A(a){a!==Pc&&(l.lineWidth(a),Pc=a)}function B(a,b,c){Qc!==a&&(a?l.enable(l.POLYGON_OFFSET_FILL):l.disable(l.POLYGON_OFFSET_FILL),
|
|
|
Qc=a);!a||Rc===b&&Sc===c||(l.polygonOffset(b,c),Rc=b,Sc=c)}function G(a,b,c){c?(l.texParameteri(a,l.TEXTURE_WRAP_S,L(b.wrapS)),l.texParameteri(a,l.TEXTURE_WRAP_T,L(b.wrapT)),l.texParameteri(a,l.TEXTURE_MAG_FILTER,L(b.magFilter)),l.texParameteri(a,l.TEXTURE_MIN_FILTER,L(b.minFilter))):(l.texParameteri(a,l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(a,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),b.wrapS===THREE.ClampToEdgeWrapping&&b.wrapT===THREE.ClampToEdgeWrapping||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT is set to THREE.ClampToEdgeWrapping. ( "+
|
|
@@ -525,23 +525,23 @@ if(a===THREE.AddEquation)return l.FUNC_ADD;if(a===THREE.SubtractEquation)return
|
|
|
if(a===THREE.OneMinusDstAlphaFactor)return l.ONE_MINUS_DST_ALPHA;if(a===THREE.DstColorFactor)return l.DST_COLOR;if(a===THREE.OneMinusDstColorFactor)return l.ONE_MINUS_DST_COLOR;if(a===THREE.SrcAlphaSaturateFactor)return l.SRC_ALPHA_SATURATE;b=ha.get("WEBGL_compressed_texture_s3tc");if(null!==b){if(a===THREE.RGB_S3TC_DXT1_Format)return b.COMPRESSED_RGB_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT1_Format)return b.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT3_Format)return b.COMPRESSED_RGBA_S3TC_DXT3_EXT;
|
|
|
if(a===THREE.RGBA_S3TC_DXT5_Format)return b.COMPRESSED_RGBA_S3TC_DXT5_EXT}b=ha.get("WEBGL_compressed_texture_pvrtc");if(null!==b){if(a===THREE.RGB_PVRTC_4BPPV1_Format)return b.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(a===THREE.RGB_PVRTC_2BPPV1_Format)return b.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(a===THREE.RGBA_PVRTC_4BPPV1_Format)return b.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(a===THREE.RGBA_PVRTC_2BPPV1_Format)return b.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}b=ha.get("EXT_blend_minmax");if(null!==b){if(a===THREE.MinEquation)return b.MIN_EXT;
|
|
|
if(a===THREE.MaxEquation)return b.MAX_EXT}return 0}console.log("THREE.WebGLRenderer",THREE.REVISION);a=a||{};var J=void 0!==a.canvas?a.canvas:document.createElement("canvas"),R=void 0!==a.context?a.context:null,Y=void 0!==a.precision?a.precision:"highp",T=void 0!==a.alpha?a.alpha:!1,ya=void 0!==a.depth?a.depth:!0,oa=void 0!==a.stencil?a.stencil:!0,Ca=void 0!==a.antialias?a.antialias:!1,O=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,Ga=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:
|
|
|
-!1,xa=void 0!==a.logarithmicDepthBuffer?a.logarithmicDepthBuffer:!1,za=new THREE.Color(0),Z=0,db=[],eb={},ob=[],bb=[],Ib=[],yb=[],Ra=[];this.domElement=J;this.context=null;this.devicePixelRatio=void 0!==self.devicePixelRatio?self.devicePixelRatio:1;this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.shadowMapEnabled=this.gammaOutput=this.gammaInput=!1;this.shadowMapType=THREE.PCFShadowMap;this.shadowMapCullFace=THREE.CullFaceFront;this.shadowMapCascade=
|
|
|
-this.shadowMapDebug=!1;this.maxMorphTargets=8;this.maxMorphNormals=4;this.autoScaleCubemaps=!0;this.info={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};var H=this,cb=[],tc=null,Tc=null,Jb=-1,Oa=-1,dc=null,cc=0,Kb=-1,Lb=-1,pb=-1,Mb=-1,Nb=-1,Wb=-1,Xb=-1,nb=-1,Qc=null,Rc=null,Sc=null,Pc=null,Ob=0,jc=0,kc=J.width,lc=J.height,Uc=0,Vc=0,wb=new Uint8Array(16),jb=new Uint8Array(16),Ec=new THREE.Frustum,Ac=new THREE.Matrix4,Gc=new THREE.Matrix4,Na=new THREE.Vector3,
|
|
|
+!1,xa=void 0!==a.logarithmicDepthBuffer?a.logarithmicDepthBuffer:!1,za=new THREE.Color(0),Z=0,eb=[],fb={},pb=[],cb=[],Gb=[],xb=[],Ra=[];this.domElement=J;this.context=null;this.devicePixelRatio=void 0!==self.devicePixelRatio?self.devicePixelRatio:1;this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.shadowMapEnabled=this.gammaOutput=this.gammaInput=!1;this.shadowMapType=THREE.PCFShadowMap;this.shadowMapCullFace=THREE.CullFaceFront;this.shadowMapCascade=
|
|
|
+this.shadowMapDebug=!1;this.maxMorphTargets=8;this.maxMorphNormals=4;this.autoScaleCubemaps=!0;this.info={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};var H=this,db=[],tc=null,Tc=null,Hb=-1,Oa=-1,dc=null,cc=0,Ib=-1,Jb=-1,Kb=-1,qb=-1,Lb=-1,Mb=-1,Wb=-1,Nb=-1,Qc=null,Rc=null,Sc=null,Pc=null,nb=0,Xb=0,jc=J.width,kc=J.height,Uc=0,Vc=0,Ob=new Uint8Array(16),Za=new Uint8Array(16),Ec=new THREE.Frustum,Ac=new THREE.Matrix4,Gc=new THREE.Matrix4,Na=new THREE.Vector3,
|
|
|
ta=new THREE.Vector3,ec=!0,Mc={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]},spot:{length:0,colors:[],positions:[],distances:[],directions:[],anglesCos:[],exponents:[]},hemi:{length:0,skyColors:[],groundColors:[],positions:[]}},l;try{var Wc={alpha:T,depth:ya,stencil:oa,antialias:Ca,premultipliedAlpha:O,preserveDrawingBuffer:Ga};l=R||J.getContext("webgl",Wc)||J.getContext("experimental-webgl",Wc);if(null===l){if(null!==J.getContext("webgl"))throw"Error creating WebGL context with your selected attributes.";
|
|
|
-throw"Error creating WebGL context.";}J.addEventListener("webglcontextlost",function(a){a.preventDefault();Xc();Yc();eb={}},!1)}catch(cd){console.error(cd)}void 0===l.getShaderPrecisionFormat&&(l.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}});var ha=new THREE.WebGLExtensions(l);ha.get("OES_texture_float");ha.get("OES_texture_float_linear");ha.get("OES_standard_derivatives");xa&&ha.get("EXT_frag_depth");var Yc=function(){l.clearColor(0,0,0,1);l.clearDepth(1);l.clearStencil(0);
|
|
|
-l.enable(l.DEPTH_TEST);l.depthFunc(l.LEQUAL);l.frontFace(l.CCW);l.cullFace(l.BACK);l.enable(l.CULL_FACE);l.enable(l.BLEND);l.blendEquation(l.FUNC_ADD);l.blendFunc(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA);l.viewport(Ob,jc,kc,lc);l.clearColor(za.r,za.g,za.b,Z)},Xc=function(){dc=tc=null;Jb=Oa=Lb=Kb=nb=Xb=pb=-1;ec=!0};Yc();this.context=l;var Oc=l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS),dd=l.getParameter(l.MAX_VERTEX_TEXTURE_IMAGE_UNITS),ed=l.getParameter(l.MAX_TEXTURE_SIZE),bd=l.getParameter(l.MAX_CUBE_MAP_TEXTURE_SIZE),
|
|
|
-sc=0<dd,ic=sc&&ha.get("OES_texture_float"),fd=l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.HIGH_FLOAT),gd=l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.LOW_FLOAT);var hd=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.HIGH_FLOAT),id=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.LOW_FLOAT);var Nc=function(){var a;return function(){if(void 0!==a)return a;a=[];if(ha.get("WEBGL_compressed_texture_pvrtc")||
|
|
|
-ha.get("WEBGL_compressed_texture_s3tc"))for(var b=l.getParameter(l.COMPRESSED_TEXTURE_FORMATS),c=0;c<b.length;c++)a.push(b[c]);return a}}(),jd=0<fd.precision&&0<hd.precision,Zc=0<gd.precision&&0<id.precision;"highp"!==Y||jd||(Zc?(Y="mediump",console.warn("THREE.WebGLRenderer: highp not supported, using mediump.")):(Y="lowp",console.warn("THREE.WebGLRenderer: highp and mediump not supported, using lowp.")));"mediump"!==Y||Zc||(Y="lowp",console.warn("THREE.WebGLRenderer: mediump not supported, using lowp."));
|
|
|
-var kd=new THREE.ShadowMapPlugin(this,db,eb,ob),ld=new THREE.SpritePlugin(this,yb),md=new THREE.LensFlarePlugin(this,Ra);this.getContext=function(){return l};this.forceContextLoss=function(){ha.get("WEBGL_lose_context").loseContext()};this.supportsVertexTextures=function(){return sc};this.supportsFloatTextures=function(){return ha.get("OES_texture_float")};this.supportsStandardDerivatives=function(){return ha.get("OES_standard_derivatives")};this.supportsCompressedTextureS3TC=function(){return ha.get("WEBGL_compressed_texture_s3tc")};
|
|
|
+throw"Error creating WebGL context.";}J.addEventListener("webglcontextlost",function(a){a.preventDefault();Xc();Yc();fb={}},!1)}catch(cd){console.error(cd)}void 0===l.getShaderPrecisionFormat&&(l.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}});var ha=new THREE.WebGLExtensions(l);ha.get("OES_texture_float");ha.get("OES_texture_float_linear");ha.get("OES_standard_derivatives");xa&&ha.get("EXT_frag_depth");var Yc=function(){l.clearColor(0,0,0,1);l.clearDepth(1);l.clearStencil(0);
|
|
|
+l.enable(l.DEPTH_TEST);l.depthFunc(l.LEQUAL);l.frontFace(l.CCW);l.cullFace(l.BACK);l.enable(l.CULL_FACE);l.enable(l.BLEND);l.blendEquation(l.FUNC_ADD);l.blendFunc(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA);l.viewport(nb,Xb,jc,kc);l.clearColor(za.r,za.g,za.b,Z)},Xc=function(){dc=tc=null;Hb=Oa=Jb=Ib=Nb=Wb=Kb=-1;ec=!0;for(var a=0;a<Za.length;a++)Za[a]=0};Yc();this.context=l;var Oc=l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS),dd=l.getParameter(l.MAX_VERTEX_TEXTURE_IMAGE_UNITS),ed=l.getParameter(l.MAX_TEXTURE_SIZE),
|
|
|
+bd=l.getParameter(l.MAX_CUBE_MAP_TEXTURE_SIZE),sc=0<dd,ic=sc&&ha.get("OES_texture_float"),fd=l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.HIGH_FLOAT),gd=l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.LOW_FLOAT);var hd=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.HIGH_FLOAT),id=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.LOW_FLOAT);var Nc=function(){var a;return function(){if(void 0!==
|
|
|
+a)return a;a=[];if(ha.get("WEBGL_compressed_texture_pvrtc")||ha.get("WEBGL_compressed_texture_s3tc"))for(var b=l.getParameter(l.COMPRESSED_TEXTURE_FORMATS),c=0;c<b.length;c++)a.push(b[c]);return a}}(),jd=0<fd.precision&&0<hd.precision,Zc=0<gd.precision&&0<id.precision;"highp"!==Y||jd||(Zc?(Y="mediump",console.warn("THREE.WebGLRenderer: highp not supported, using mediump.")):(Y="lowp",console.warn("THREE.WebGLRenderer: highp and mediump not supported, using lowp.")));"mediump"!==Y||Zc||(Y="lowp",console.warn("THREE.WebGLRenderer: mediump not supported, using lowp."));
|
|
|
+var kd=new THREE.ShadowMapPlugin(this,eb,fb,pb),ld=new THREE.SpritePlugin(this,xb),md=new THREE.LensFlarePlugin(this,Ra);this.getContext=function(){return l};this.forceContextLoss=function(){ha.get("WEBGL_lose_context").loseContext()};this.supportsVertexTextures=function(){return sc};this.supportsFloatTextures=function(){return ha.get("OES_texture_float")};this.supportsStandardDerivatives=function(){return ha.get("OES_standard_derivatives")};this.supportsCompressedTextureS3TC=function(){return ha.get("WEBGL_compressed_texture_s3tc")};
|
|
|
this.supportsCompressedTexturePVRTC=function(){return ha.get("WEBGL_compressed_texture_pvrtc")};this.supportsBlendMinMax=function(){return ha.get("EXT_blend_minmax")};this.getMaxAnisotropy=function(){var a;return function(){if(void 0!==a)return a;var b=ha.get("EXT_texture_filter_anisotropic");return a=null!==b?l.getParameter(b.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}}();this.getPrecision=function(){return Y};this.setSize=function(a,b,c){J.width=a*this.devicePixelRatio;J.height=b*this.devicePixelRatio;!1!==
|
|
|
-c&&(J.style.width=a+"px",J.style.height=b+"px");this.setViewport(0,0,a,b)};this.setViewport=function(a,b,c,d){Ob=a*this.devicePixelRatio;jc=b*this.devicePixelRatio;kc=c*this.devicePixelRatio;lc=d*this.devicePixelRatio;l.viewport(Ob,jc,kc,lc)};this.setScissor=function(a,b,c,d){l.scissor(a*this.devicePixelRatio,b*this.devicePixelRatio,c*this.devicePixelRatio,d*this.devicePixelRatio)};this.enableScissorTest=function(a){a?l.enable(l.SCISSOR_TEST):l.disable(l.SCISSOR_TEST)};this.setClearColor=function(a,
|
|
|
+c&&(J.style.width=a+"px",J.style.height=b+"px");this.setViewport(0,0,a,b)};this.setViewport=function(a,b,c,d){nb=a*this.devicePixelRatio;Xb=b*this.devicePixelRatio;jc=c*this.devicePixelRatio;kc=d*this.devicePixelRatio;l.viewport(nb,Xb,jc,kc)};this.setScissor=function(a,b,c,d){l.scissor(a*this.devicePixelRatio,b*this.devicePixelRatio,c*this.devicePixelRatio,d*this.devicePixelRatio)};this.enableScissorTest=function(a){a?l.enable(l.SCISSOR_TEST):l.disable(l.SCISSOR_TEST)};this.setClearColor=function(a,
|
|
|
b){za.set(a);Z=void 0!==b?b:1;l.clearColor(za.r,za.g,za.b,Z)};this.setClearColorHex=function(a,b){console.warn("THREE.WebGLRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.");this.setClearColor(a,b)};this.getClearColor=function(){return za};this.getClearAlpha=function(){return Z};this.clear=function(a,b,c){var d=0;if(void 0===a||a)d|=l.COLOR_BUFFER_BIT;if(void 0===b||b)d|=l.DEPTH_BUFFER_BIT;if(void 0===c||c)d|=l.STENCIL_BUFFER_BIT;l.clear(d)};this.clearColor=function(){l.clear(l.COLOR_BUFFER_BIT)};
|
|
|
-this.clearDepth=function(){l.clear(l.DEPTH_BUFFER_BIT)};this.clearStencil=function(){l.clear(l.STENCIL_BUFFER_BIT)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.resetGLState=Xc;var Hc=function(a){a.target.traverse(function(a){a.removeEventListener("remove",Hc);if(a instanceof THREE.Mesh||a instanceof THREE.PointCloud||a instanceof THREE.Line)delete eb[a.id];else if(a instanceof THREE.ImmediateRenderObject||a.immediateRenderCallback)for(var b=ob,c=b.length-1;0<=
|
|
|
-c;c--)b[c].object===a&&b.splice(c,1);delete a.__webglInit;delete a._modelViewMatrix;delete a._normalMatrix;delete a.__webglActive})},Ic=function(a){a=a.target;a.removeEventListener("dispose",Ic);delete a.__webglInit;if(a instanceof THREE.BufferGeometry){for(var b in a.attributes){var c=a.attributes[b];void 0!==c.buffer&&(l.deleteBuffer(c.buffer),delete c.buffer)}H.info.memory.geometries--}else if(b=xb[a.id],void 0!==b){for(var c=0,d=b.length;c<d;c++){var e=b[c];if(void 0!==e.numMorphTargets){for(var f=
|
|
|
-0,g=e.numMorphTargets;f<g;f++)l.deleteBuffer(e.__webglMorphTargetsBuffers[f]);delete e.__webglMorphTargetsBuffers}if(void 0!==e.numMorphNormals){f=0;for(g=e.numMorphNormals;f<g;f++)l.deleteBuffer(e.__webglMorphNormalsBuffers[f]);delete e.__webglMorphNormalsBuffers}$c(e)}delete xb[a.id]}else $c(a);Oa=-1},fc=function(a){a=a.target;a.removeEventListener("dispose",fc);a.image&&a.image.__webglTextureCube?(l.deleteTexture(a.image.__webglTextureCube),delete a.image.__webglTextureCube):void 0!==a.__webglInit&&
|
|
|
+this.clearDepth=function(){l.clear(l.DEPTH_BUFFER_BIT)};this.clearStencil=function(){l.clear(l.STENCIL_BUFFER_BIT)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.resetGLState=Xc;var Hc=function(a){a.target.traverse(function(a){a.removeEventListener("remove",Hc);if(a instanceof THREE.Mesh||a instanceof THREE.PointCloud||a instanceof THREE.Line)delete fb[a.id];else if(a instanceof THREE.ImmediateRenderObject||a.immediateRenderCallback)for(var b=pb,c=b.length-1;0<=
|
|
|
+c;c--)b[c].object===a&&b.splice(c,1);delete a.__webglInit;delete a._modelViewMatrix;delete a._normalMatrix;delete a.__webglActive})},Ic=function(a){a=a.target;a.removeEventListener("dispose",Ic);delete a.__webglInit;if(a instanceof THREE.BufferGeometry){for(var b in a.attributes){var c=a.attributes[b];void 0!==c.buffer&&(l.deleteBuffer(c.buffer),delete c.buffer)}H.info.memory.geometries--}else if(b=ob[a.id],void 0!==b){for(var c=0,d=b.length;c<d;c++){var e=b[c];if(void 0!==e.numMorphTargets){for(var f=
|
|
|
+0,g=e.numMorphTargets;f<g;f++)l.deleteBuffer(e.__webglMorphTargetsBuffers[f]);delete e.__webglMorphTargetsBuffers}if(void 0!==e.numMorphNormals){f=0;for(g=e.numMorphNormals;f<g;f++)l.deleteBuffer(e.__webglMorphNormalsBuffers[f]);delete e.__webglMorphNormalsBuffers}$c(e)}delete ob[a.id]}else $c(a);Oa=-1},fc=function(a){a=a.target;a.removeEventListener("dispose",fc);a.image&&a.image.__webglTextureCube?(l.deleteTexture(a.image.__webglTextureCube),delete a.image.__webglTextureCube):void 0!==a.__webglInit&&
|
|
|
(l.deleteTexture(a.__webglTexture),delete a.__webglTexture,delete a.__webglInit);H.info.memory.textures--},ad=function(a){a=a.target;a.removeEventListener("dispose",ad);if(a&&void 0!==a.__webglTexture){l.deleteTexture(a.__webglTexture);delete a.__webglTexture;if(a instanceof THREE.WebGLRenderTargetCube)for(var b=0;6>b;b++)l.deleteFramebuffer(a.__webglFramebuffer[b]),l.deleteRenderbuffer(a.__webglRenderbuffer[b]);else l.deleteFramebuffer(a.__webglFramebuffer),l.deleteRenderbuffer(a.__webglRenderbuffer);
|
|
|
delete a.__webglFramebuffer;delete a.__webglRenderbuffer}H.info.memory.textures--},Dc=function(a){a=a.target;a.removeEventListener("dispose",Dc);Cc(a)},$c=function(a){for(var b="__webglVertexBuffer __webglNormalBuffer __webglTangentBuffer __webglColorBuffer __webglUVBuffer __webglUV2Buffer __webglSkinIndicesBuffer __webglSkinWeightsBuffer __webglFaceBuffer __webglLineBuffer __webglLineDistanceBuffer".split(" "),c=0,d=b.length;c<d;c++){var e=b[c];void 0!==a[e]&&(l.deleteBuffer(a[e]),delete a[e])}if(void 0!==
|
|
|
-a.__webglCustomAttributesList){for(e in a.__webglCustomAttributesList)l.deleteBuffer(a.__webglCustomAttributesList[e].buffer);delete a.__webglCustomAttributesList}H.info.memory.geometries--},Cc=function(a){var b=a.program.program;if(void 0!==b){a.program=void 0;var c,d,e=!1;a=0;for(c=cb.length;a<c;a++)if(d=cb[a],d.program===b){d.usedTimes--;0===d.usedTimes&&(e=!0);break}if(!0===e){e=[];a=0;for(c=cb.length;a<c;a++)d=cb[a],d.program!==b&&e.push(d);cb=e;l.deleteProgram(b);H.info.memory.programs--}}};
|
|
|
+a.__webglCustomAttributesList){for(e in a.__webglCustomAttributesList)l.deleteBuffer(a.__webglCustomAttributesList[e].buffer);delete a.__webglCustomAttributesList}H.info.memory.geometries--},Cc=function(a){var b=a.program.program;if(void 0!==b){a.program=void 0;var c,d,e=!1;a=0;for(c=db.length;a<c;a++)if(d=db[a],d.program===b){d.usedTimes--;0===d.usedTimes&&(e=!0);break}if(!0===e){e=[];a=0;for(c=db.length;a<c;a++)d=db[a],d.program!==b&&e.push(d);db=e;l.deleteProgram(b);H.info.memory.programs--}}};
|
|
|
this.renderBufferImmediate=function(a,b,c){f();a.hasPositions&&!a.__webglVertexBuffer&&(a.__webglVertexBuffer=l.createBuffer());a.hasNormals&&!a.__webglNormalBuffer&&(a.__webglNormalBuffer=l.createBuffer());a.hasUvs&&!a.__webglUvBuffer&&(a.__webglUvBuffer=l.createBuffer());a.hasColors&&!a.__webglColorBuffer&&(a.__webglColorBuffer=l.createBuffer());a.hasPositions&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglVertexBuffer),l.bufferData(l.ARRAY_BUFFER,a.positionArray,l.DYNAMIC_DRAW),g(b.attributes.position),
|
|
|
l.vertexAttribPointer(b.attributes.position,3,l.FLOAT,!1,0,0));if(a.hasNormals){l.bindBuffer(l.ARRAY_BUFFER,a.__webglNormalBuffer);if(c.shading===THREE.FlatShading){var d,e,k,m,n,p,r,q,t,s,v,u=3*a.count;for(v=0;v<u;v+=9)s=a.normalArray,d=s[v],e=s[v+1],k=s[v+2],m=s[v+3],p=s[v+4],q=s[v+5],n=s[v+6],r=s[v+7],t=s[v+8],d=(d+m+n)/3,e=(e+p+r)/3,k=(k+q+t)/3,s[v]=d,s[v+1]=e,s[v+2]=k,s[v+3]=d,s[v+4]=e,s[v+5]=k,s[v+6]=d,s[v+7]=e,s[v+8]=k}l.bufferData(l.ARRAY_BUFFER,a.normalArray,l.DYNAMIC_DRAW);g(b.attributes.normal);
|
|
|
l.vertexAttribPointer(b.attributes.normal,3,l.FLOAT,!1,0,0)}a.hasUvs&&c.map&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglUvBuffer),l.bufferData(l.ARRAY_BUFFER,a.uvArray,l.DYNAMIC_DRAW),g(b.attributes.uv),l.vertexAttribPointer(b.attributes.uv,2,l.FLOAT,!1,0,0));a.hasColors&&c.vertexColors!==THREE.NoColors&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,a.colorArray,l.DYNAMIC_DRAW),g(b.attributes.color),l.vertexAttribPointer(b.attributes.color,3,l.FLOAT,!1,0,0));h();l.drawArrays(l.TRIANGLES,
|
|
@@ -559,20 +559,20 @@ k.__webglMorphTargetInfluences)}if(a){if(e.__webglCustomAttributesList)for(c=0,r
|
|
|
!1,0,0)):void 0!==d.defaultAttributeValues&&l.vertexAttrib2fv(b.uv,d.defaultAttributeValues.uv));0<=b.uv2&&(k.geometry.faceVertexUvs[1]?(l.bindBuffer(l.ARRAY_BUFFER,e.__webglUV2Buffer),g(b.uv2),l.vertexAttribPointer(b.uv2,2,l.FLOAT,!1,0,0)):void 0!==d.defaultAttributeValues&&l.vertexAttrib2fv(b.uv2,d.defaultAttributeValues.uv2));d.skinning&&0<=b.skinIndex&&0<=b.skinWeight&&(l.bindBuffer(l.ARRAY_BUFFER,e.__webglSkinIndicesBuffer),g(b.skinIndex),l.vertexAttribPointer(b.skinIndex,4,l.FLOAT,!1,0,0),l.bindBuffer(l.ARRAY_BUFFER,
|
|
|
e.__webglSkinWeightsBuffer),g(b.skinWeight),l.vertexAttribPointer(b.skinWeight,4,l.FLOAT,!1,0,0));0<=b.lineDistance&&(l.bindBuffer(l.ARRAY_BUFFER,e.__webglLineDistanceBuffer),g(b.lineDistance),l.vertexAttribPointer(b.lineDistance,1,l.FLOAT,!1,0,0))}h();k instanceof THREE.Mesh?(k=e.__typeArray===Uint32Array?l.UNSIGNED_INT:l.UNSIGNED_SHORT,d.wireframe?(A(d.wireframeLinewidth),a&&l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,e.__webglLineBuffer),l.drawElements(l.LINES,e.__webglLineCount,k,0)):(a&&l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,
|
|
|
e.__webglFaceBuffer),l.drawElements(l.TRIANGLES,e.__webglFaceCount,k,0)),H.info.render.calls++,H.info.render.vertices+=e.__webglFaceCount,H.info.render.faces+=e.__webglFaceCount/3):k instanceof THREE.Line?(k=k.mode===THREE.LineStrip?l.LINE_STRIP:l.LINES,A(d.linewidth),l.drawArrays(k,0,e.__webglLineCount),H.info.render.calls++):k instanceof THREE.PointCloud&&(l.drawArrays(l.POINTS,0,e.__webglParticleCount),H.info.render.calls++,H.info.render.points+=e.__webglParticleCount)}};this.render=function(a,
|
|
|
-b,c,d){if(!1===b instanceof THREE.Camera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{var e=a.fog;Jb=Oa=-1;dc=null;ec=!0;!0===a.autoUpdate&&a.updateMatrixWorld();void 0===b.parent&&b.updateMatrixWorld();a.traverse(function(a){a instanceof THREE.SkinnedMesh&&a.skeleton.update()});b.matrixWorldInverse.getInverse(b.matrixWorld);Ac.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);Ec.setFromMatrix(Ac);db.length=0;bb.length=0;Ib.length=0;yb.length=
|
|
|
-0;Ra.length=0;q(a,a);!0===H.sortObjects&&(bb.sort(k),Ib.sort(n));kd.render(a,b);H.info.render.calls=0;H.info.render.vertices=0;H.info.render.faces=0;H.info.render.points=0;this.setRenderTarget(c);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil);d=0;for(var f=ob.length;d<f;d++){var g=ob[d],h=g.object;h.visible&&(y(h,b),t(g))}a.overrideMaterial?(d=a.overrideMaterial,this.setBlending(d.blending,d.blendEquation,d.blendSrc,d.blendDst),this.setDepthTest(d.depthTest),
|
|
|
-this.setDepthWrite(d.depthWrite),B(d.polygonOffset,d.polygonOffsetFactor,d.polygonOffsetUnits),m(bb,b,db,e,!0,d),m(Ib,b,db,e,!0,d),r(ob,"",b,db,e,!1,d)):(d=null,this.setBlending(THREE.NoBlending),m(bb,b,db,e,!1,d),r(ob,"opaque",b,db,e,!1,d),m(Ib,b,db,e,!0,d),r(ob,"transparent",b,db,e,!0,d));ld.render(a,b);md.render(a,b,Uc,Vc);c&&c.generateMipmaps&&c.minFilter!==THREE.NearestFilter&&c.minFilter!==THREE.LinearFilter&&I(c);this.setDepthTest(!0);this.setDepthWrite(!0)}};this.renderImmediateObject=function(a,
|
|
|
-b,c,d,e){var f=E(a,b,c,d,e);Oa=-1;H.setMaterialFaces(d);e.immediateRenderCallback?e.immediateRenderCallback(f,l,Ec):e.render(function(a){H.renderBufferImmediate(a,f,d)})};var xb={},rc=0;this.setFaceCulling=function(a,b){a===THREE.CullFaceNone?l.disable(l.CULL_FACE):(b===THREE.FrontFaceDirectionCW?l.frontFace(l.CW):l.frontFace(l.CCW),a===THREE.CullFaceBack?l.cullFace(l.BACK):a===THREE.CullFaceFront?l.cullFace(l.FRONT):l.cullFace(l.FRONT_AND_BACK),l.enable(l.CULL_FACE))};this.setMaterialFaces=function(a){var b=
|
|
|
-a.side===THREE.DoubleSide;a=a.side===THREE.BackSide;Kb!==b&&(b?l.disable(l.CULL_FACE):l.enable(l.CULL_FACE),Kb=b);Lb!==a&&(a?l.frontFace(l.CW):l.frontFace(l.CCW),Lb=a)};this.setDepthTest=function(a){Xb!==a&&(a?l.enable(l.DEPTH_TEST):l.disable(l.DEPTH_TEST),Xb=a)};this.setDepthWrite=function(a){nb!==a&&(l.depthMask(a),nb=a)};this.setBlending=function(a,b,c,d){a!==pb&&(a===THREE.NoBlending?l.disable(l.BLEND):a===THREE.AdditiveBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.SRC_ALPHA,
|
|
|
-l.ONE)):a===THREE.SubtractiveBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.ZERO,l.ONE_MINUS_SRC_COLOR)):a===THREE.MultiplyBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.ZERO,l.SRC_COLOR)):a===THREE.CustomBlending?l.enable(l.BLEND):(l.enable(l.BLEND),l.blendEquationSeparate(l.FUNC_ADD,l.FUNC_ADD),l.blendFuncSeparate(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA,l.ONE,l.ONE_MINUS_SRC_ALPHA)),pb=a);if(a===THREE.CustomBlending){if(b!==Mb&&(l.blendEquation(L(b)),Mb=b),
|
|
|
-c!==Nb||d!==Wb)l.blendFunc(L(c),L(d)),Nb=c,Wb=d}else Wb=Nb=Mb=null};this.uploadTexture=function(a){void 0===a.__webglInit&&(a.__webglInit=!0,a.addEventListener("dispose",fc),a.__webglTexture=l.createTexture(),H.info.memory.textures++);l.bindTexture(l.TEXTURE_2D,a.__webglTexture);l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,a.flipY);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha);l.pixelStorei(l.UNPACK_ALIGNMENT,a.unpackAlignment);a.image=S(a.image,ed);var b=a.image,c=THREE.Math.isPowerOfTwo(b.width)&&
|
|
|
+b,c,d){if(!1===b instanceof THREE.Camera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{var e=a.fog;Hb=Oa=-1;dc=null;ec=!0;!0===a.autoUpdate&&a.updateMatrixWorld();void 0===b.parent&&b.updateMatrixWorld();a.traverse(function(a){a instanceof THREE.SkinnedMesh&&a.skeleton.update()});b.matrixWorldInverse.getInverse(b.matrixWorld);Ac.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);Ec.setFromMatrix(Ac);eb.length=0;cb.length=0;Gb.length=0;xb.length=
|
|
|
+0;Ra.length=0;q(a,a);!0===H.sortObjects&&(cb.sort(k),Gb.sort(n));kd.render(a,b);H.info.render.calls=0;H.info.render.vertices=0;H.info.render.faces=0;H.info.render.points=0;this.setRenderTarget(c);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil);d=0;for(var f=pb.length;d<f;d++){var g=pb[d],h=g.object;h.visible&&(y(h,b),t(g))}a.overrideMaterial?(d=a.overrideMaterial,this.setBlending(d.blending,d.blendEquation,d.blendSrc,d.blendDst),this.setDepthTest(d.depthTest),
|
|
|
+this.setDepthWrite(d.depthWrite),B(d.polygonOffset,d.polygonOffsetFactor,d.polygonOffsetUnits),m(cb,b,eb,e,!0,d),m(Gb,b,eb,e,!0,d),r(pb,"",b,eb,e,!1,d)):(d=null,this.setBlending(THREE.NoBlending),m(cb,b,eb,e,!1,d),r(pb,"opaque",b,eb,e,!1,d),m(Gb,b,eb,e,!0,d),r(pb,"transparent",b,eb,e,!0,d));ld.render(a,b);md.render(a,b,Uc,Vc);c&&c.generateMipmaps&&c.minFilter!==THREE.NearestFilter&&c.minFilter!==THREE.LinearFilter&&I(c);this.setDepthTest(!0);this.setDepthWrite(!0)}};this.renderImmediateObject=function(a,
|
|
|
+b,c,d,e){var f=E(a,b,c,d,e);Oa=-1;H.setMaterialFaces(d);e.immediateRenderCallback?e.immediateRenderCallback(f,l,Ec):e.render(function(a){H.renderBufferImmediate(a,f,d)})};var ob={},rc=0;this.setFaceCulling=function(a,b){a===THREE.CullFaceNone?l.disable(l.CULL_FACE):(b===THREE.FrontFaceDirectionCW?l.frontFace(l.CW):l.frontFace(l.CCW),a===THREE.CullFaceBack?l.cullFace(l.BACK):a===THREE.CullFaceFront?l.cullFace(l.FRONT):l.cullFace(l.FRONT_AND_BACK),l.enable(l.CULL_FACE))};this.setMaterialFaces=function(a){var b=
|
|
|
+a.side===THREE.DoubleSide;a=a.side===THREE.BackSide;Ib!==b&&(b?l.disable(l.CULL_FACE):l.enable(l.CULL_FACE),Ib=b);Jb!==a&&(a?l.frontFace(l.CW):l.frontFace(l.CCW),Jb=a)};this.setDepthTest=function(a){Wb!==a&&(a?l.enable(l.DEPTH_TEST):l.disable(l.DEPTH_TEST),Wb=a)};this.setDepthWrite=function(a){Nb!==a&&(l.depthMask(a),Nb=a)};this.setBlending=function(a,b,c,d){a!==Kb&&(a===THREE.NoBlending?l.disable(l.BLEND):a===THREE.AdditiveBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.SRC_ALPHA,
|
|
|
+l.ONE)):a===THREE.SubtractiveBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.ZERO,l.ONE_MINUS_SRC_COLOR)):a===THREE.MultiplyBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.ZERO,l.SRC_COLOR)):a===THREE.CustomBlending?l.enable(l.BLEND):(l.enable(l.BLEND),l.blendEquationSeparate(l.FUNC_ADD,l.FUNC_ADD),l.blendFuncSeparate(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA,l.ONE,l.ONE_MINUS_SRC_ALPHA)),Kb=a);if(a===THREE.CustomBlending){if(b!==qb&&(l.blendEquation(L(b)),qb=b),
|
|
|
+c!==Lb||d!==Mb)l.blendFunc(L(c),L(d)),Lb=c,Mb=d}else Mb=Lb=qb=null};this.uploadTexture=function(a){void 0===a.__webglInit&&(a.__webglInit=!0,a.addEventListener("dispose",fc),a.__webglTexture=l.createTexture(),H.info.memory.textures++);l.bindTexture(l.TEXTURE_2D,a.__webglTexture);l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,a.flipY);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha);l.pixelStorei(l.UNPACK_ALIGNMENT,a.unpackAlignment);a.image=S(a.image,ed);var b=a.image,c=THREE.Math.isPowerOfTwo(b.width)&&
|
|
|
THREE.Math.isPowerOfTwo(b.height),d=L(a.format),e=L(a.type);G(l.TEXTURE_2D,a,c);var f=a.mipmaps;if(a instanceof THREE.DataTexture)if(0<f.length&&c){for(var g=0,h=f.length;g<h;g++)b=f[g],l.texImage2D(l.TEXTURE_2D,g,d,b.width,b.height,0,d,e,b.data);a.generateMipmaps=!1}else l.texImage2D(l.TEXTURE_2D,0,d,b.width,b.height,0,d,e,b.data);else if(a instanceof THREE.CompressedTexture)for(g=0,h=f.length;g<h;g++)b=f[g],a.format!==THREE.RGBAFormat&&a.format!==THREE.RGBFormat?-1<Nc().indexOf(d)?l.compressedTexImage2D(l.TEXTURE_2D,
|
|
|
g,d,b.width,b.height,0,b.data):console.warn("Attempt to load unsupported compressed texture format"):l.texImage2D(l.TEXTURE_2D,g,d,b.width,b.height,0,d,e,b.data);else if(0<f.length&&c){g=0;for(h=f.length;g<h;g++)b=f[g],l.texImage2D(l.TEXTURE_2D,g,d,d,e,b);a.generateMipmaps=!1}else l.texImage2D(l.TEXTURE_2D,0,d,d,e,a.image);a.generateMipmaps&&c&&l.generateMipmap(l.TEXTURE_2D);a.needsUpdate=!1;if(a.onUpdate)a.onUpdate()};this.setTexture=function(a,b){l.activeTexture(l.TEXTURE0+b);a.needsUpdate?H.uploadTexture(a):
|
|
|
l.bindTexture(l.TEXTURE_2D,a.__webglTexture)};this.setRenderTarget=function(a){var b=a instanceof THREE.WebGLRenderTargetCube;if(a&&void 0===a.__webglFramebuffer){void 0===a.depthBuffer&&(a.depthBuffer=!0);void 0===a.stencilBuffer&&(a.stencilBuffer=!0);a.addEventListener("dispose",ad);a.__webglTexture=l.createTexture();H.info.memory.textures++;var c=THREE.Math.isPowerOfTwo(a.width)&&THREE.Math.isPowerOfTwo(a.height),d=L(a.format),e=L(a.type);if(b){a.__webglFramebuffer=[];a.__webglRenderbuffer=[];
|
|
|
l.bindTexture(l.TEXTURE_CUBE_MAP,a.__webglTexture);G(l.TEXTURE_CUBE_MAP,a,c);for(var f=0;6>f;f++){a.__webglFramebuffer[f]=l.createFramebuffer();a.__webglRenderbuffer[f]=l.createRenderbuffer();l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+f,0,d,a.width,a.height,0,d,e,null);var g=a,h=l.TEXTURE_CUBE_MAP_POSITIVE_X+f;l.bindFramebuffer(l.FRAMEBUFFER,a.__webglFramebuffer[f]);l.framebufferTexture2D(l.FRAMEBUFFER,l.COLOR_ATTACHMENT0,h,g.__webglTexture,0);K(a.__webglRenderbuffer[f],a)}c&&l.generateMipmap(l.TEXTURE_CUBE_MAP)}else a.__webglFramebuffer=
|
|
|
l.createFramebuffer(),a.__webglRenderbuffer=a.shareDepthFrom?a.shareDepthFrom.__webglRenderbuffer:l.createRenderbuffer(),l.bindTexture(l.TEXTURE_2D,a.__webglTexture),G(l.TEXTURE_2D,a,c),l.texImage2D(l.TEXTURE_2D,0,d,a.width,a.height,0,d,e,null),d=l.TEXTURE_2D,l.bindFramebuffer(l.FRAMEBUFFER,a.__webglFramebuffer),l.framebufferTexture2D(l.FRAMEBUFFER,l.COLOR_ATTACHMENT0,d,a.__webglTexture,0),a.shareDepthFrom?a.depthBuffer&&!a.stencilBuffer?l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_ATTACHMENT,
|
|
|
-l.RENDERBUFFER,a.__webglRenderbuffer):a.depthBuffer&&a.stencilBuffer&&l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_STENCIL_ATTACHMENT,l.RENDERBUFFER,a.__webglRenderbuffer):K(a.__webglRenderbuffer,a),c&&l.generateMipmap(l.TEXTURE_2D);b?l.bindTexture(l.TEXTURE_CUBE_MAP,null):l.bindTexture(l.TEXTURE_2D,null);l.bindRenderbuffer(l.RENDERBUFFER,null);l.bindFramebuffer(l.FRAMEBUFFER,null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=kc,a=lc,
|
|
|
-d=Ob,e=jc);b!==Tc&&(l.bindFramebuffer(l.FRAMEBUFFER,b),l.viewport(d,e,c,a),Tc=b);Uc=c;Vc=a};this.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};this.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")};this.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")};this.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}};
|
|
|
+l.RENDERBUFFER,a.__webglRenderbuffer):a.depthBuffer&&a.stencilBuffer&&l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_STENCIL_ATTACHMENT,l.RENDERBUFFER,a.__webglRenderbuffer):K(a.__webglRenderbuffer,a),c&&l.generateMipmap(l.TEXTURE_2D);b?l.bindTexture(l.TEXTURE_CUBE_MAP,null):l.bindTexture(l.TEXTURE_2D,null);l.bindRenderbuffer(l.RENDERBUFFER,null);l.bindFramebuffer(l.FRAMEBUFFER,null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=jc,a=kc,
|
|
|
+d=nb,e=Xb);b!==Tc&&(l.bindFramebuffer(l.FRAMEBUFFER,b),l.viewport(d,e,c,a),Tc=b);Uc=c;Vc=a};this.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};this.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")};this.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")};this.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}};
|
|
|
THREE.WebGLRenderTarget=function(a,b,c){this.width=a;this.height=b;c=c||{};this.wrapS=void 0!==c.wrapS?c.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=void 0!==c.wrapT?c.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=void 0!==c.magFilter?c.magFilter:THREE.LinearFilter;this.minFilter=void 0!==c.minFilter?c.minFilter:THREE.LinearMipMapLinearFilter;this.anisotropy=void 0!==c.anisotropy?c.anisotropy:1;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=void 0!==c.format?c.format:
|
|
|
THREE.RGBAFormat;this.type=void 0!==c.type?c.type:THREE.UnsignedByteType;this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.generateMipmaps=!0;this.shareDepthFrom=null};
|
|
|
THREE.WebGLRenderTarget.prototype={constructor:THREE.WebGLRenderTarget,setSize:function(a,b){this.width=a;this.height=b},clone:function(){var a=new THREE.WebGLRenderTarget(this.width,this.height);a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.minFilter=this.minFilter;a.anisotropy=this.anisotropy;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.format=this.format;a.type=this.type;a.depthBuffer=this.depthBuffer;a.stencilBuffer=this.stencilBuffer;a.generateMipmaps=this.generateMipmaps;
|