瀏覽代碼

Updated builds.

Mr.doob 9 年之前
父節點
當前提交
a5b24b29e2
共有 2 個文件被更改,包括 5 次插入6 次删除
  1. 3 4
      build/three.js
  2. 2 2
      build/three.min.js

+ 3 - 4
build/three.js

@@ -30465,11 +30465,12 @@ THREE.WebGLShadowMap = function ( _renderer, _lights, _objects ) {
 			skinning: useSkinning
 		} );
 
-		depthMaterial._shadowPass = true;
-
 		_depthMaterials[ i ] = depthMaterial;
 
 		var distanceMaterial = new THREE.ShaderMaterial( {
+			defines: {
+				'USE_SHADOWMAP': ''
+			},
 			uniforms: distanceUniforms,
 			vertexShader: distanceShader.vertexShader,
 			fragmentShader: distanceShader.fragmentShader,
@@ -30477,8 +30478,6 @@ THREE.WebGLShadowMap = function ( _renderer, _lights, _objects ) {
 			skinning: useSkinning
 		} );
 
-		distanceMaterial._shadowPass = true;
-
 		_distanceMaterials[ i ] = distanceMaterial;
 
 	}

+ 2 - 2
build/three.min.js

@@ -719,8 +719,8 @@ THREE.WebGLShader=function(){function a(a){a=a.split("\n");for(var c=0;c<a.lengt
 THREE.WebGLShadowMap=function(a,b,c){function d(a,b,c,d){var e=a.geometry,f=null,f=q,g=a.customDepthMaterial;c&&(f=s,g=a.customDistanceMaterial);g?f=g:(a=a instanceof THREE.SkinnedMesh&&b.skinning,g=0,void 0!==e.morphTargets&&0<e.morphTargets.length&&b.morphTargets&&(g|=1),a&&(g|=2),f=f[g]);f.visible=b.visible;f.wireframe=b.wireframe;f.wireframeLinewidth=b.wireframeLinewidth;c&&void 0!==f.uniforms.lightPos&&f.uniforms.lightPos.value.copy(d);return f}function e(a,b,c){if(!1!==a.visible){a.layers.test(b.layers)&&
 (a instanceof THREE.Mesh||a instanceof THREE.Line||a instanceof THREE.Points)&&a.castShadow&&(!1===a.frustumCulled||!0===h.intersectsObject(a))&&!0===a.material.visible&&(a.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,a.matrixWorld),m.push(a));a=a.children;for(var d=0,f=a.length;d<f;d++)e(a[d],b,c)}}for(var f=a.context,g=a.state,h=new THREE.Frustum,k=new THREE.Matrix4,l=new THREE.Vector2,n=new THREE.Vector3,p=new THREE.Vector3,m=[],q=Array(4),s=Array(4),u=[new THREE.Vector3(1,0,0),new THREE.Vector3(-1,
 0,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0)],t=[new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)],x=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],v=THREE.ShaderLib.depthRGBA,C=THREE.UniformsUtils.clone(v.uniforms),w=THREE.ShaderLib.distanceRGBA,D=THREE.UniformsUtils.clone(w.uniforms),
-B=0;4!==B;++B){var y=0!==(B&1),A=0!==(B&2),G=new THREE.ShaderMaterial({uniforms:C,vertexShader:v.vertexShader,fragmentShader:v.fragmentShader,morphTargets:y,skinning:A});G._shadowPass=!0;q[B]=G;y=new THREE.ShaderMaterial({uniforms:D,vertexShader:w.vertexShader,fragmentShader:w.fragmentShader,morphTargets:y,skinning:A});y._shadowPass=!0;s[B]=y}var F=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=THREE.PCFShadowMap;this.cullFace=THREE.CullFaceFront;this.render=function(q,s){var v,
-w;if(!1!==F.enabled&&(!1!==F.autoUpdate||!1!==F.needsUpdate)){g.clearColor(1,1,1,1);g.disable(f.BLEND);g.enable(f.CULL_FACE);f.frontFace(f.CCW);f.cullFace(F.cullFace===THREE.CullFaceFront?f.FRONT:f.BACK);g.setDepthTest(!0);g.setScissorTest(!1);for(var C=b.shadows,y=0,B=C.length;y<B;y++){var A=C[y],D=A.shadow,G=D.camera;l.copy(D.mapSize);if(A instanceof THREE.PointLight){v=6;w=!0;var J=l.x,E=l.y;x[0].set(2*J,E,J,E);x[1].set(0,E,J,E);x[2].set(3*J,E,J,E);x[3].set(J,E,J,E);x[4].set(3*J,0,J,E);x[5].set(J,
+B=0;4!==B;++B){var y=0!==(B&1),A=0!==(B&2),G=new THREE.ShaderMaterial({uniforms:C,vertexShader:v.vertexShader,fragmentShader:v.fragmentShader,morphTargets:y,skinning:A});q[B]=G;y=new THREE.ShaderMaterial({defines:{USE_SHADOWMAP:""},uniforms:D,vertexShader:w.vertexShader,fragmentShader:w.fragmentShader,morphTargets:y,skinning:A});s[B]=y}var F=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=THREE.PCFShadowMap;this.cullFace=THREE.CullFaceFront;this.render=function(q,s){var v,w;
+if(!1!==F.enabled&&(!1!==F.autoUpdate||!1!==F.needsUpdate)){g.clearColor(1,1,1,1);g.disable(f.BLEND);g.enable(f.CULL_FACE);f.frontFace(f.CCW);f.cullFace(F.cullFace===THREE.CullFaceFront?f.FRONT:f.BACK);g.setDepthTest(!0);g.setScissorTest(!1);for(var C=b.shadows,y=0,B=C.length;y<B;y++){var A=C[y],D=A.shadow,G=D.camera;l.copy(D.mapSize);if(A instanceof THREE.PointLight){v=6;w=!0;var J=l.x,E=l.y;x[0].set(2*J,E,J,E);x[1].set(0,E,J,E);x[2].set(3*J,E,J,E);x[3].set(J,E,J,E);x[4].set(3*J,0,J,E);x[5].set(J,
 0,J,E);l.x*=4;l.y*=2}else v=1,w=!1;null===D.map&&(D.map=new THREE.WebGLRenderTarget(l.x,l.y,{minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter,format:THREE.RGBAFormat}),A instanceof THREE.SpotLight&&(G.aspect=l.x/l.y),G.updateProjectionMatrix());J=D.map;D=D.matrix;p.setFromMatrixPosition(A.matrixWorld);G.position.copy(p);a.setRenderTarget(J);a.clear();for(J=0;J<v;J++){w?(n.copy(G.position),n.add(u[J]),G.up.copy(t[J]),G.lookAt(n),g.viewport(x[J])):(n.setFromMatrixPosition(A.target.matrixWorld),
 G.lookAt(n));G.updateMatrixWorld();G.matrixWorldInverse.getInverse(G.matrixWorld);D.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);D.multiply(G.projectionMatrix);D.multiply(G.matrixWorldInverse);k.multiplyMatrices(G.projectionMatrix,G.matrixWorldInverse);h.setFromMatrix(k);m.length=0;e(q,s,G);for(var E=0,Z=m.length;E<Z;E++){var V=m[E],Y=c.update(V),ca=V.material;if(ca instanceof THREE.MultiMaterial)for(var ha=Y.groups,ca=ca.materials,X=0,ma=ha.length;X<ma;X++){var ia=ha[X],ba=ca[ia.materialIndex];!0===
 ba.visible&&(ba=d(V,ba,w,p),a.renderBufferDirect(G,null,Y,ba,V,ia))}else ba=d(V,ca,w,p),a.renderBufferDirect(G,null,Y,ba,V,null)}}a.resetGLState()}v=a.getClearColor();w=a.getClearAlpha();a.setClearColor(v,w);g.enable(f.BLEND);F.cullFace===THREE.CullFaceFront&&f.cullFace(f.BACK);a.resetGLState();F.needsUpdate=!1}}};