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

Updated builds.

上级 2688590d
......@@ -17554,6 +17554,8 @@
array.push( renderer.gammaOutput );
array.push( renderer.gammaFactor );
return array.join();
};
......@@ -77,26 +77,26 @@ var l=a.getRenderTarget();return{shaderID:h,precision:m,supportsVertexTextures:c
a.gammaInput),bumpMap:!!b.bumpMap,normalMap:!!b.normalMap,objectSpaceNormalMap:1===b.normalMapType,displacementMap:!!b.displacementMap,roughnessMap:!!b.roughnessMap,metalnessMap:!!b.metalnessMap,specularMap:!!b.specularMap,alphaMap:!!b.alphaMap,gradientMap:!!b.gradientMap,combine:b.combine,vertexColors:b.vertexColors,fog:!!t,useFog:b.fog,fogExp:t&&t.isFogExp2,flatShading:b.flatShading,sizeAttenuation:b.sizeAttenuation,logarithmicDepthBuffer:c.logarithmicDepthBuffer,skinning:b.skinning&&0<k,maxBones:k,
useVertexTexture:c.floatVertexTextures,morphTargets:b.morphTargets,morphNormals:b.morphNormals,maxMorphTargets:a.maxMorphTargets,maxMorphNormals:a.maxMorphNormals,numDirLights:e.directional.length,numPointLights:e.point.length,numSpotLights:e.spot.length,numRectAreaLights:e.rectArea.length,numHemiLights:e.hemi.length,numClippingPlanes:n,numClipIntersection:q,dithering:b.dithering,shadowMapEnabled:a.shadowMap.enabled&&w.receiveShadow&&0<g.length,shadowMapType:a.shadowMap.type,toneMapping:a.toneMapping,
physicallyCorrectLights:a.physicallyCorrectLights,premultipliedAlpha:b.premultipliedAlpha,alphaTest:b.alphaTest,doubleSided:2===b.side,flipSided:1===b.side,depthPacking:void 0!==b.depthPacking?b.depthPacking:!1}};this.getProgramCode=function(b,c){var d=[];c.shaderID?d.push(c.shaderID):(d.push(b.fragmentShader),d.push(b.vertexShader));if(void 0!==b.defines)for(var e in b.defines)d.push(e),d.push(b.defines[e]);for(e=0;e<g.length;e++)d.push(c[g[e]]);d.push(b.onBeforeCompile.toString());d.push(a.gammaOutput);
return d.join()};this.acquireProgram=function(d,f,g,t){for(var h,k=0,m=e.length;k<m;k++){var l=e[k];if(l.code===t){h=l;++h.usedTimes;break}}void 0===h&&(h=new Bg(a,b,t,d,f,g,c),e.push(h));return h};this.releaseProgram=function(a){if(0===--a.usedTimes){var b=e.indexOf(a);e[b]=e[e.length-1];e.pop();a.destroy()}};this.programs=e}function Eg(){var a=new WeakMap;return{get:function(b){var c=a.get(b);void 0===c&&(c={},a.set(b,c));return c},remove:function(b){a.delete(b)},update:function(b,c,d){a.get(b)[c]=
d},dispose:function(){a=new WeakMap}}}function Fg(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.program&&b.program&&a.program!==b.program?a.program.id-b.program.id:a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==b.z?a.z-b.z:a.id-b.id}function Gg(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function Hg(){var a=[],b=0,c=[],d=[];return{opaque:c,transparent:d,init:function(){b=0;c.length=0;d.length=0},push:function(e,
f,g,h,k){var m=a[b];void 0===m?(m={id:e.id,object:e,geometry:f,material:g,program:g.program,renderOrder:e.renderOrder,z:h,group:k},a[b]=m):(m.id=e.id,m.object=e,m.geometry=f,m.material=g,m.program=g.program,m.renderOrder=e.renderOrder,m.z=h,m.group=k);(!0===g.transparent?d:c).push(m);b++},sort:function(){1<c.length&&c.sort(Fg);1<d.length&&d.sort(Gg)}}}function Ig(){var a={};return{get:function(b,c){b=b.id+","+c.id;c=a[b];void 0===c&&(c=new Hg,a[b]=c);return c},dispose:function(){a={}}}}function Jg(){var a=
{};return{get:function(b){if(void 0!==a[b.id])return a[b.id];switch(b.type){case "DirectionalLight":var c={direction:new p,color:new F,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z};break;case "SpotLight":c={position:new p,direction:new p,color:new F,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z};break;case "PointLight":c={position:new p,color:new F,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z,shadowCameraNear:1,
shadowCameraFar:1E3};break;case "HemisphereLight":c={direction:new p,skyColor:new F,groundColor:new F};break;case "RectAreaLight":c={color:new F,position:new p,halfWidth:new p,halfHeight:new p}}return a[b.id]=c}}}function Kg(){var a=new Jg,b={id:Lg++,hash:{stateID:-1,directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,shadowsLength:-1},ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],
point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},c=new p,d=new P,e=new P;return{setup:function(f,g,h){var k=0,m=0,t=0,n=0,q=0,w=0,l=0,u=0;h=h.matrixWorldInverse;for(var p=0,x=f.length;p<x;p++){var v=f[p],E=v.color,H=v.intensity,R=v.distance,X=v.shadow&&v.shadow.map?v.shadow.map.texture:null;if(v.isAmbientLight)k+=E.r*H,m+=E.g*H,t+=E.b*H;else if(v.isDirectionalLight){var B=a.get(v);B.color.copy(v.color).multiplyScalar(v.intensity);B.direction.setFromMatrixPosition(v.matrixWorld);c.setFromMatrixPosition(v.target.matrixWorld);
B.direction.sub(c);B.direction.transformDirection(h);if(B.shadow=v.castShadow)E=v.shadow,B.shadowBias=E.bias,B.shadowRadius=E.radius,B.shadowMapSize=E.mapSize;b.directionalShadowMap[n]=X;b.directionalShadowMatrix[n]=v.shadow.matrix;b.directional[n]=B;n++}else if(v.isSpotLight){B=a.get(v);B.position.setFromMatrixPosition(v.matrixWorld);B.position.applyMatrix4(h);B.color.copy(E).multiplyScalar(H);B.distance=R;B.direction.setFromMatrixPosition(v.matrixWorld);c.setFromMatrixPosition(v.target.matrixWorld);
B.direction.sub(c);B.direction.transformDirection(h);B.coneCos=Math.cos(v.angle);B.penumbraCos=Math.cos(v.angle*(1-v.penumbra));B.decay=v.decay;if(B.shadow=v.castShadow)E=v.shadow,B.shadowBias=E.bias,B.shadowRadius=E.radius,B.shadowMapSize=E.mapSize;b.spotShadowMap[w]=X;b.spotShadowMatrix[w]=v.shadow.matrix;b.spot[w]=B;w++}else if(v.isRectAreaLight)B=a.get(v),B.color.copy(E).multiplyScalar(H),B.position.setFromMatrixPosition(v.matrixWorld),B.position.applyMatrix4(h),e.identity(),d.copy(v.matrixWorld),
d.premultiply(h),e.extractRotation(d),B.halfWidth.set(.5*v.width,0,0),B.halfHeight.set(0,.5*v.height,0),B.halfWidth.applyMatrix4(e),B.halfHeight.applyMatrix4(e),b.rectArea[l]=B,l++;else if(v.isPointLight){B=a.get(v);B.position.setFromMatrixPosition(v.matrixWorld);B.position.applyMatrix4(h);B.color.copy(v.color).multiplyScalar(v.intensity);B.distance=v.distance;B.decay=v.decay;if(B.shadow=v.castShadow)E=v.shadow,B.shadowBias=E.bias,B.shadowRadius=E.radius,B.shadowMapSize=E.mapSize,B.shadowCameraNear=
E.camera.near,B.shadowCameraFar=E.camera.far;b.pointShadowMap[q]=X;b.pointShadowMatrix[q]=v.shadow.matrix;b.point[q]=B;q++}else v.isHemisphereLight&&(B=a.get(v),B.direction.setFromMatrixPosition(v.matrixWorld),B.direction.transformDirection(h),B.direction.normalize(),B.skyColor.copy(v.color).multiplyScalar(H),B.groundColor.copy(v.groundColor).multiplyScalar(H),b.hemi[u]=B,u++)}b.ambient[0]=k;b.ambient[1]=m;b.ambient[2]=t;b.directional.length=n;b.spot.length=w;b.rectArea.length=l;b.point.length=q;
b.hemi.length=u;b.hash.stateID=b.id;b.hash.directionalLength=n;b.hash.pointLength=q;b.hash.spotLength=w;b.hash.rectAreaLength=l;b.hash.hemiLength=u;b.hash.shadowsLength=g.length},state:b}}function af(){var a=new Kg,b=[],c=[];return{init:function(){b.length=0;c.length=0},state:{lightsArray:b,shadowsArray:c,lights:a},setupLights:function(d){a.setup(b,c,d)},pushLight:function(a){b.push(a)},pushShadow:function(a){c.push(a)}}}function Mg(){var a={};return{get:function(b,c){if(void 0===a[b.id]){var d=new af;
a[b.id]={};a[b.id][c.id]=d}else void 0===a[b.id][c.id]?(d=new af,a[b.id][c.id]=d):d=a[b.id][c.id];return d},dispose:function(){a={}}}}function eb(a){K.call(this);this.type="MeshDepthMaterial";this.depthPacking=3200;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.lights=this.fog=!1;this.setValues(a)}function fb(a){K.call(this);this.type="MeshDistanceMaterial";this.referencePosition=
new p;this.nearDistance=1;this.farDistance=1E3;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.lights=this.fog=!1;this.setValues(a)}function bf(a,b,c){function d(b,c,d,e,f,g){var h=b.geometry;var k=n;var m=b.customDepthMaterial;d&&(k=q,m=b.customDistanceMaterial);m?k=m:(m=!1,c.morphTargets&&(h&&h.isBufferGeometry?m=h.morphAttributes&&h.morphAttributes.position&&0<h.morphAttributes.position.length:h&&h.isGeometry&&
(m=h.morphTargets&&0<h.morphTargets.length)),b.isSkinnedMesh&&!1===c.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",b),b=b.isSkinnedMesh&&c.skinning,h=0,m&&(h|=1),b&&(h|=2),k=k[h]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(h=k.uuid,m=c.uuid,b=w[h],void 0===b&&(b={},w[h]=b),h=b[m],void 0===h&&(h=k.clone(),b[m]=h),k=h);k.visible=c.visible;k.wireframe=c.wireframe;k.side=null!=c.shadowSide?c.shadowSide:l[c.side];k.clipShadows=
c.clipShadows;k.clippingPlanes=c.clippingPlanes;k.clipIntersection=c.clipIntersection;k.wireframeLinewidth=c.wireframeLinewidth;k.linewidth=c.linewidth;d&&k.isMeshDistanceMaterial&&(k.referencePosition.copy(e),k.nearDistance=f,k.farDistance=g);return k}function e(c,g,h,k){if(!1!==c.visible){if(c.layers.test(g.layers)&&(c.isMesh||c.isLine||c.isPoints)&&c.castShadow&&(!c.frustumCulled||f.intersectsObject(c))){c.modelViewMatrix.multiplyMatrices(h.matrixWorldInverse,c.matrixWorld);var m=b.update(c),n=
c.material;if(Array.isArray(n))for(var q=m.groups,w=0,l=q.length;w<l;w++){var r=q[w],u=n[r.materialIndex];u&&u.visible&&(u=d(c,u,k,t,h.near,h.far),a.renderBufferDirect(h,null,m,u,c,r))}else n.visible&&(u=d(c,n,k,t,h.near,h.far),a.renderBufferDirect(h,null,m,u,c,null))}c=c.children;m=0;for(n=c.length;m<n;m++)e(c[m],g,h,k)}}var f=new rd,g=new P,h=new z,k=new z(c,c),m=new p,t=new p,n=Array(4),q=Array(4),w={},l={0:1,1:0,2:2},u=[new p(1,0,0),new p(-1,0,0),new p(0,0,1),new p(0,0,-1),new p(0,1,0),new p(0,
-1,0)],y=[new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,0,1),new p(0,0,-1)],x=[new Z,new Z,new Z,new Z,new Z,new Z];for(c=0;4!==c;++c){var v=0!==(c&1),E=0!==(c&2),H=new eb({depthPacking:3201,morphTargets:v,skinning:E});n[c]=H;v=new fb({morphTargets:v,skinning:E});q[c]=v}var R=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.render=function(b,c,d){if(!1!==R.enabled&&(!1!==R.autoUpdate||!1!==R.needsUpdate)&&0!==b.length){var n=a.state;n.disable(3042);n.buffers.color.setClear(1,
1,1,1);n.buffers.depth.setTest(!0);n.setScissorTest(!1);for(var q,w=0,l=b.length;w<l;w++){var r=b[w];q=r.shadow;var X=r&&r.isPointLight;if(void 0===q)console.warn("THREE.WebGLShadowMap:",r,"has no shadow.");else{var v=q.camera;h.copy(q.mapSize);h.min(k);if(X){var p=h.x,B=h.y;x[0].set(2*p,B,p,B);x[1].set(0,B,p,B);x[2].set(3*p,B,p,B);x[3].set(p,B,p,B);x[4].set(3*p,0,p,B);x[5].set(p,0,p,B);h.x*=4;h.y*=2}null===q.map&&(q.map=new kb(h.x,h.y,{minFilter:1003,magFilter:1003,format:1023}),q.map.texture.name=
r.name+".shadowMap",v.updateProjectionMatrix());q.isSpotLightShadow&&q.update(r);p=q.map;B=q.matrix;t.setFromMatrixPosition(r.matrixWorld);v.position.copy(t);X?(q=6,B.makeTranslation(-t.x,-t.y,-t.z)):(q=1,m.setFromMatrixPosition(r.target.matrixWorld),v.lookAt(m),v.updateMatrixWorld(),B.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),B.multiply(v.projectionMatrix),B.multiply(v.matrixWorldInverse));a.setRenderTarget(p);a.clear();for(r=0;r<q;r++)X&&(m.copy(v.position),m.add(u[r]),v.up.copy(y[r]),v.lookAt(m),
v.updateMatrixWorld(),n.viewport(x[r])),g.multiplyMatrices(v.projectionMatrix,v.matrixWorldInverse),f.setFromMatrix(g),e(c,d,v,X)}}R.needsUpdate=!1}}}function Ng(a,b,c,d){function e(b,c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,10241,9728);a.texParameteri(b,10240,9728);for(b=0;b<d;b++)a.texImage2D(c+b,0,6408,1,1,0,6408,5121,e);return f}function f(c,e){x[c]=1;0===v[c]&&(a.enableVertexAttribArray(c),v[c]=1);E[c]!==e&&((d.isWebGL2?a:b.get("ANGLE_instanced_arrays"))[d.isWebGL2?
d.push(a.gammaFactor);return d.join()};this.acquireProgram=function(d,f,g,t){for(var h,k=0,m=e.length;k<m;k++){var l=e[k];if(l.code===t){h=l;++h.usedTimes;break}}void 0===h&&(h=new Bg(a,b,t,d,f,g,c),e.push(h));return h};this.releaseProgram=function(a){if(0===--a.usedTimes){var b=e.indexOf(a);e[b]=e[e.length-1];e.pop();a.destroy()}};this.programs=e}function Eg(){var a=new WeakMap;return{get:function(b){var c=a.get(b);void 0===c&&(c={},a.set(b,c));return c},remove:function(b){a.delete(b)},update:function(b,
c,d){a.get(b)[c]=d},dispose:function(){a=new WeakMap}}}function Fg(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.program&&b.program&&a.program!==b.program?a.program.id-b.program.id:a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==b.z?a.z-b.z:a.id-b.id}function Gg(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function Hg(){var a=[],b=0,c=[],d=[];return{opaque:c,transparent:d,init:function(){b=0;c.length=0;
d.length=0},push:function(e,f,g,h,k){var m=a[b];void 0===m?(m={id:e.id,object:e,geometry:f,material:g,program:g.program,renderOrder:e.renderOrder,z:h,group:k},a[b]=m):(m.id=e.id,m.object=e,m.geometry=f,m.material=g,m.program=g.program,m.renderOrder=e.renderOrder,m.z=h,m.group=k);(!0===g.transparent?d:c).push(m);b++},sort:function(){1<c.length&&c.sort(Fg);1<d.length&&d.sort(Gg)}}}function Ig(){var a={};return{get:function(b,c){b=b.id+","+c.id;c=a[b];void 0===c&&(c=new Hg,a[b]=c);return c},dispose:function(){a=
{}}}}function Jg(){var a={};return{get:function(b){if(void 0!==a[b.id])return a[b.id];switch(b.type){case "DirectionalLight":var c={direction:new p,color:new F,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z};break;case "SpotLight":c={position:new p,direction:new p,color:new F,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z};break;case "PointLight":c={position:new p,color:new F,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,
shadowMapSize:new z,shadowCameraNear:1,shadowCameraFar:1E3};break;case "HemisphereLight":c={direction:new p,skyColor:new F,groundColor:new F};break;case "RectAreaLight":c={color:new F,position:new p,halfWidth:new p,halfHeight:new p}}return a[b.id]=c}}}function Kg(){var a=new Jg,b={id:Lg++,hash:{stateID:-1,directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,shadowsLength:-1},ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],
spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},c=new p,d=new P,e=new P;return{setup:function(f,g,h){var k=0,m=0,t=0,n=0,q=0,w=0,l=0,u=0;h=h.matrixWorldInverse;for(var p=0,x=f.length;p<x;p++){var v=f[p],E=v.color,H=v.intensity,R=v.distance,X=v.shadow&&v.shadow.map?v.shadow.map.texture:null;if(v.isAmbientLight)k+=E.r*H,m+=E.g*H,t+=E.b*H;else if(v.isDirectionalLight){var B=a.get(v);B.color.copy(v.color).multiplyScalar(v.intensity);B.direction.setFromMatrixPosition(v.matrixWorld);
c.setFromMatrixPosition(v.target.matrixWorld);B.direction.sub(c);B.direction.transformDirection(h);if(B.shadow=v.castShadow)E=v.shadow,B.shadowBias=E.bias,B.shadowRadius=E.radius,B.shadowMapSize=E.mapSize;b.directionalShadowMap[n]=X;b.directionalShadowMatrix[n]=v.shadow.matrix;b.directional[n]=B;n++}else if(v.isSpotLight){B=a.get(v);B.position.setFromMatrixPosition(v.matrixWorld);B.position.applyMatrix4(h);B.color.copy(E).multiplyScalar(H);B.distance=R;B.direction.setFromMatrixPosition(v.matrixWorld);
c.setFromMatrixPosition(v.target.matrixWorld);B.direction.sub(c);B.direction.transformDirection(h);B.coneCos=Math.cos(v.angle);B.penumbraCos=Math.cos(v.angle*(1-v.penumbra));B.decay=v.decay;if(B.shadow=v.castShadow)E=v.shadow,B.shadowBias=E.bias,B.shadowRadius=E.radius,B.shadowMapSize=E.mapSize;b.spotShadowMap[w]=X;b.spotShadowMatrix[w]=v.shadow.matrix;b.spot[w]=B;w++}else if(v.isRectAreaLight)B=a.get(v),B.color.copy(E).multiplyScalar(H),B.position.setFromMatrixPosition(v.matrixWorld),B.position.applyMatrix4(h),
e.identity(),d.copy(v.matrixWorld),d.premultiply(h),e.extractRotation(d),B.halfWidth.set(.5*v.width,0,0),B.halfHeight.set(0,.5*v.height,0),B.halfWidth.applyMatrix4(e),B.halfHeight.applyMatrix4(e),b.rectArea[l]=B,l++;else if(v.isPointLight){B=a.get(v);B.position.setFromMatrixPosition(v.matrixWorld);B.position.applyMatrix4(h);B.color.copy(v.color).multiplyScalar(v.intensity);B.distance=v.distance;B.decay=v.decay;if(B.shadow=v.castShadow)E=v.shadow,B.shadowBias=E.bias,B.shadowRadius=E.radius,B.shadowMapSize=
E.mapSize,B.shadowCameraNear=E.camera.near,B.shadowCameraFar=E.camera.far;b.pointShadowMap[q]=X;b.pointShadowMatrix[q]=v.shadow.matrix;b.point[q]=B;q++}else v.isHemisphereLight&&(B=a.get(v),B.direction.setFromMatrixPosition(v.matrixWorld),B.direction.transformDirection(h),B.direction.normalize(),B.skyColor.copy(v.color).multiplyScalar(H),B.groundColor.copy(v.groundColor).multiplyScalar(H),b.hemi[u]=B,u++)}b.ambient[0]=k;b.ambient[1]=m;b.ambient[2]=t;b.directional.length=n;b.spot.length=w;b.rectArea.length=
l;b.point.length=q;b.hemi.length=u;b.hash.stateID=b.id;b.hash.directionalLength=n;b.hash.pointLength=q;b.hash.spotLength=w;b.hash.rectAreaLength=l;b.hash.hemiLength=u;b.hash.shadowsLength=g.length},state:b}}function af(){var a=new Kg,b=[],c=[];return{init:function(){b.length=0;c.length=0},state:{lightsArray:b,shadowsArray:c,lights:a},setupLights:function(d){a.setup(b,c,d)},pushLight:function(a){b.push(a)},pushShadow:function(a){c.push(a)}}}function Mg(){var a={};return{get:function(b,c){if(void 0===
a[b.id]){var d=new af;a[b.id]={};a[b.id][c.id]=d}else void 0===a[b.id][c.id]?(d=new af,a[b.id][c.id]=d):d=a[b.id][c.id];return d},dispose:function(){a={}}}}function eb(a){K.call(this);this.type="MeshDepthMaterial";this.depthPacking=3200;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.lights=this.fog=!1;this.setValues(a)}function fb(a){K.call(this);this.type="MeshDistanceMaterial";
this.referencePosition=new p;this.nearDistance=1;this.farDistance=1E3;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.lights=this.fog=!1;this.setValues(a)}function bf(a,b,c){function d(b,c,d,e,f,g){var h=b.geometry;var k=n;var m=b.customDepthMaterial;d&&(k=q,m=b.customDistanceMaterial);m?k=m:(m=!1,c.morphTargets&&(h&&h.isBufferGeometry?m=h.morphAttributes&&h.morphAttributes.position&&0<h.morphAttributes.position.length:
h&&h.isGeometry&&(m=h.morphTargets&&0<h.morphTargets.length)),b.isSkinnedMesh&&!1===c.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",b),b=b.isSkinnedMesh&&c.skinning,h=0,m&&(h|=1),b&&(h|=2),k=k[h]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(h=k.uuid,m=c.uuid,b=w[h],void 0===b&&(b={},w[h]=b),h=b[m],void 0===h&&(h=k.clone(),b[m]=h),k=h);k.visible=c.visible;k.wireframe=c.wireframe;k.side=null!=c.shadowSide?c.shadowSide:
l[c.side];k.clipShadows=c.clipShadows;k.clippingPlanes=c.clippingPlanes;k.clipIntersection=c.clipIntersection;k.wireframeLinewidth=c.wireframeLinewidth;k.linewidth=c.linewidth;d&&k.isMeshDistanceMaterial&&(k.referencePosition.copy(e),k.nearDistance=f,k.farDistance=g);return k}function e(c,g,h,k){if(!1!==c.visible){if(c.layers.test(g.layers)&&(c.isMesh||c.isLine||c.isPoints)&&c.castShadow&&(!c.frustumCulled||f.intersectsObject(c))){c.modelViewMatrix.multiplyMatrices(h.matrixWorldInverse,c.matrixWorld);
var m=b.update(c),n=c.material;if(Array.isArray(n))for(var q=m.groups,w=0,l=q.length;w<l;w++){var r=q[w],u=n[r.materialIndex];u&&u.visible&&(u=d(c,u,k,t,h.near,h.far),a.renderBufferDirect(h,null,m,u,c,r))}else n.visible&&(u=d(c,n,k,t,h.near,h.far),a.renderBufferDirect(h,null,m,u,c,null))}c=c.children;m=0;for(n=c.length;m<n;m++)e(c[m],g,h,k)}}var f=new rd,g=new P,h=new z,k=new z(c,c),m=new p,t=new p,n=Array(4),q=Array(4),w={},l={0:1,1:0,2:2},u=[new p(1,0,0),new p(-1,0,0),new p(0,0,1),new p(0,0,-1),
new p(0,1,0),new p(0,-1,0)],y=[new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,0,1),new p(0,0,-1)],x=[new Z,new Z,new Z,new Z,new Z,new Z];for(c=0;4!==c;++c){var v=0!==(c&1),E=0!==(c&2),H=new eb({depthPacking:3201,morphTargets:v,skinning:E});n[c]=H;v=new fb({morphTargets:v,skinning:E});q[c]=v}var R=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.render=function(b,c,d){if(!1!==R.enabled&&(!1!==R.autoUpdate||!1!==R.needsUpdate)&&0!==b.length){var n=a.state;n.disable(3042);
n.buffers.color.setClear(1,1,1,1);n.buffers.depth.setTest(!0);n.setScissorTest(!1);for(var q,w=0,l=b.length;w<l;w++){var r=b[w];q=r.shadow;var X=r&&r.isPointLight;if(void 0===q)console.warn("THREE.WebGLShadowMap:",r,"has no shadow.");else{var v=q.camera;h.copy(q.mapSize);h.min(k);if(X){var p=h.x,B=h.y;x[0].set(2*p,B,p,B);x[1].set(0,B,p,B);x[2].set(3*p,B,p,B);x[3].set(p,B,p,B);x[4].set(3*p,0,p,B);x[5].set(p,0,p,B);h.x*=4;h.y*=2}null===q.map&&(q.map=new kb(h.x,h.y,{minFilter:1003,magFilter:1003,format:1023}),
q.map.texture.name=r.name+".shadowMap",v.updateProjectionMatrix());q.isSpotLightShadow&&q.update(r);p=q.map;B=q.matrix;t.setFromMatrixPosition(r.matrixWorld);v.position.copy(t);X?(q=6,B.makeTranslation(-t.x,-t.y,-t.z)):(q=1,m.setFromMatrixPosition(r.target.matrixWorld),v.lookAt(m),v.updateMatrixWorld(),B.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),B.multiply(v.projectionMatrix),B.multiply(v.matrixWorldInverse));a.setRenderTarget(p);a.clear();for(r=0;r<q;r++)X&&(m.copy(v.position),m.add(u[r]),v.up.copy(y[r]),
v.lookAt(m),v.updateMatrixWorld(),n.viewport(x[r])),g.multiplyMatrices(v.projectionMatrix,v.matrixWorldInverse),f.setFromMatrix(g),e(c,d,v,X)}}R.needsUpdate=!1}}}function Ng(a,b,c,d){function e(b,c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,10241,9728);a.texParameteri(b,10240,9728);for(b=0;b<d;b++)a.texImage2D(c+b,0,6408,1,1,0,6408,5121,e);return f}function f(c,e){x[c]=1;0===v[c]&&(a.enableVertexAttribArray(c),v[c]=1);E[c]!==e&&((d.isWebGL2?a:b.get("ANGLE_instanced_arrays"))[d.isWebGL2?
"vertexAttribDivisor":"vertexAttribDivisorANGLE"](c,e),E[c]=e)}function g(b){!0!==H[b]&&(a.enable(b),H[b]=!0)}function h(b){!1!==H[b]&&(a.disable(b),H[b]=!1)}function k(b,d,e,f,k,m,n,t){if(0===b)B&&(h(3042),B=!1);else if(B||(g(3042),B=!0),5!==b){if(b!==Lb||t!==G){if(100!==z||100!==A)a.blendEquation(32774),A=z=100;if(t)switch(b){case 1:a.blendFuncSeparate(1,771,1,771);break;case 2:a.blendFunc(1,1);break;case 3:a.blendFuncSeparate(0,0,769,771);break;case 4:a.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",
b)}else switch(b){case 1:a.blendFuncSeparate(770,771,1,771);break;case 2:a.blendFunc(770,1);break;case 3:a.blendFunc(0,769);break;case 4:a.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",b)}C=D=Y=Zd=null;Lb=b;G=t}}else{k=k||d;m=m||e;n=n||f;if(d!==z||k!==A)a.blendEquationSeparate(c.convert(d),c.convert(k)),z=d,A=k;if(e!==Zd||f!==Y||m!==D||n!==C)a.blendFuncSeparate(c.convert(e),c.convert(f),c.convert(m),c.convert(n)),Zd=e,Y=f,D=m,C=n;Lb=b;G=null}}function m(b){F!==
b&&(b?a.frontFace(2304):a.frontFace(2305),F=b)}function t(b){0!==b?(g(2884),b!==M&&(1===b?a.cullFace(1029):2===b?a.cullFace(1028):a.cullFace(1032))):h(2884);M=b}function n(b,c,d){if(b){if(g(32823),L!==c||K!==d)a.polygonOffset(c,d),L=c,K=d}else h(32823)}function q(b){void 0===b&&(b=33984+S-1);J!==b&&(a.activeTexture(b),J=b)}var w=new function(){var b=!1,c=new Z,d=null,e=new Z(0,0,0,0);return{setMask:function(c){d===c||b||(a.colorMask(c,c,c,c),d=c)},setLocked:function(a){b=a},setClear:function(b,d,
......
......@@ -17548,6 +17548,8 @@ function WebGLPrograms( renderer, extensions, capabilities ) {
array.push( renderer.gammaOutput );
array.push( renderer.gammaFactor );
return array.join();
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册