|
@@ -362,8 +362,8 @@ i);b.drawElements(b.TRIANGLES,6,b.UNSIGNED_SHORT,0);A.positionScreen.copy(D);A.c
|
|
f.color.r,f.color.g,f.color.b),c.setBlending(f.blending),c.setTexture(f.texture,1),b.drawElements(b.TRIANGLES,6,b.UNSIGNED_SHORT,0)}b.enable(b.CULL_FACE);b.enable(b.DEPTH_TEST);b.depthMask(!0)}}};
|
|
f.color.r,f.color.g,f.color.b),c.setBlending(f.blending),c.setTexture(f.texture,1),b.drawElements(b.TRIANGLES,6,b.UNSIGNED_SHORT,0)}b.enable(b.CULL_FACE);b.enable(b.DEPTH_TEST);b.depthMask(!0)}}};
|
|
THREE.ShadowMapPlugin=function(){var a,b,c,d,e=new THREE.Frustum,g=new THREE.Matrix4;this.init=function(e){a=e.context;b=e;var e=THREE.ShaderLib.depthRGBA,g=THREE.UniformsUtils.clone(e.uniforms);c=new THREE.ShaderMaterial({fragmentShader:e.fragmentShader,vertexShader:e.vertexShader,uniforms:g});d=new THREE.ShaderMaterial({fragmentShader:e.fragmentShader,vertexShader:e.vertexShader,uniforms:g,morphTargets:!0});c._shadowPass=!0;d._shadowPass=!0};this.render=function(a,c){b.shadowMapEnabled&&b.shadowMapAutoUpdate&&
|
|
THREE.ShadowMapPlugin=function(){var a,b,c,d,e=new THREE.Frustum,g=new THREE.Matrix4;this.init=function(e){a=e.context;b=e;var e=THREE.ShaderLib.depthRGBA,g=THREE.UniformsUtils.clone(e.uniforms);c=new THREE.ShaderMaterial({fragmentShader:e.fragmentShader,vertexShader:e.vertexShader,uniforms:g});d=new THREE.ShaderMaterial({fragmentShader:e.fragmentShader,vertexShader:e.vertexShader,uniforms:g,morphTargets:!0});c._shadowPass=!0;d._shadowPass=!0};this.render=function(a,c){b.shadowMapEnabled&&b.shadowMapAutoUpdate&&
|
|
this.update(a,c)};this.update=function(h){var i,k,m,j,n,o,p,l,r,t=h.lights;a.clearColor(1,1,1,1);a.disable(a.BLEND);b.shadowMapCullFrontFaces&&a.cullFace(a.FRONT);b.setDepthTest(!0);for(i=0,k=t.length;i<k;i++)if(l=t[i],l.castShadow&&l instanceof THREE.SpotLight){if(!l.shadowMap)l.shadowMap=new THREE.WebGLRenderTarget(l.shadowMapWidth,l.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}),l.shadowMapSize=new THREE.Vector2(l.shadowMapWidth,l.shadowMapHeight),
|
|
this.update(a,c)};this.update=function(h){var i,k,m,j,n,o,p,l,r,t=h.lights;a.clearColor(1,1,1,1);a.disable(a.BLEND);b.shadowMapCullFrontFaces&&a.cullFace(a.FRONT);b.setDepthTest(!0);for(i=0,k=t.length;i<k;i++)if(l=t[i],l.castShadow&&l instanceof THREE.SpotLight){if(!l.shadowMap)l.shadowMap=new THREE.WebGLRenderTarget(l.shadowMapWidth,l.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}),l.shadowMapSize=new THREE.Vector2(l.shadowMapWidth,l.shadowMapHeight),
|
|
-l.shadowCamera=new THREE.PerspectiveCamera(l.shadowCameraFov,l.shadowMapWidth/l.shadowMapHeight,l.shadowCameraNear,l.shadowCameraFar),l.shadowMatrix=new THREE.Matrix4,h.add(l.shadowCamera),b.autoUpdateScene&&h.updateMatrixWorld();if(l.shadowCameraVisible&&!l.visibleCamera)l.visibleCamera=new THREE.VisibleCamera(l.shadowCamera),l.shadowCamera.add(l.visibleCamera);m=l.shadowMap;j=l.shadowMatrix;n=l.shadowCamera;n.position.copy(l.position);n.lookAt(l.target.position);n.matrixWorldInverse.getInverse(n.matrixWorld);
|
|
|
|
-if(l.visibleCamera)l.visibleCamera.lines.visible=l.shadowCameraVisible;l.shadowCameraVisible&&l.visibleCamera.update(l.shadowCamera);j.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);j.multiplySelf(n.projectionMatrix);j.multiplySelf(n.matrixWorldInverse);if(!n._viewMatrixArray)n._viewMatrixArray=new Float32Array(16);n.matrixWorldInverse.flattenToArray(n._viewMatrixArray);if(!n._projectionMatrixArray)n._projectionMatrixArray=new Float32Array(16);n.projectionMatrix.flattenToArray(n._projectionMatrixArray);
|
|
|
|
|
|
+l.shadowCamera=new THREE.PerspectiveCamera(l.shadowCameraFov,l.shadowMapWidth/l.shadowMapHeight,l.shadowCameraNear,l.shadowCameraFar),l.shadowMatrix=new THREE.Matrix4,h.add(l.shadowCamera),b.autoUpdateScene&&h.updateMatrixWorld();if(l.shadowCameraVisible&&!l.visibleCamera)l.visibleCamera=new THREE.VisibleCamera(l.shadowCamera),l.shadowCamera.add(l.visibleCamera);m=l.shadowMap;j=l.shadowMatrix;n=l.shadowCamera;n.position.copy(l.matrixWorld.getPosition());n.lookAt(l.target.matrixWorld.getPosition());
|
|
|
|
+n.matrixWorldInverse.getInverse(n.matrixWorld);if(l.visibleCamera)l.visibleCamera.lines.visible=l.shadowCameraVisible;l.shadowCameraVisible&&l.visibleCamera.update(l.shadowCamera);j.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);j.multiplySelf(n.projectionMatrix);j.multiplySelf(n.matrixWorldInverse);if(!n._viewMatrixArray)n._viewMatrixArray=new Float32Array(16);n.matrixWorldInverse.flattenToArray(n._viewMatrixArray);if(!n._projectionMatrixArray)n._projectionMatrixArray=new Float32Array(16);n.projectionMatrix.flattenToArray(n._projectionMatrixArray);
|
|
g.multiply(n.projectionMatrix,n.matrixWorldInverse);e.setFromMatrix(g);b.setRenderTarget(m);b.clear();r=h.__webglObjects;for(m=0,j=r.length;m<j;m++)if(o=r[m],l=o.object,o.render=!1,l.visible&&l.castShadow&&(!(l instanceof THREE.Mesh)||!l.frustumCulled||e.contains(l)))l.matrixWorld.flattenToArray(l._objectMatrixArray),l._modelViewMatrix.multiplyToArray(n.matrixWorldInverse,l.matrixWorld,l._modelViewMatrixArray),o.render=!0;for(m=0,j=r.length;m<j;m++)if(o=r[m],o.render)l=o.object,o=o.buffer,b.setObjectFaces(l),
|
|
g.multiply(n.projectionMatrix,n.matrixWorldInverse);e.setFromMatrix(g);b.setRenderTarget(m);b.clear();r=h.__webglObjects;for(m=0,j=r.length;m<j;m++)if(o=r[m],l=o.object,o.render=!1,l.visible&&l.castShadow&&(!(l instanceof THREE.Mesh)||!l.frustumCulled||e.contains(l)))l.matrixWorld.flattenToArray(l._objectMatrixArray),l._modelViewMatrix.multiplyToArray(n.matrixWorldInverse,l.matrixWorld,l._modelViewMatrixArray),o.render=!0;for(m=0,j=r.length;m<j;m++)if(o=r[m],o.render)l=o.object,o=o.buffer,b.setObjectFaces(l),
|
|
p=l.customDepthMaterial?l.customDepthMaterial:l.geometry.morphTargets.length?d:c,o instanceof THREE.BufferGeometry?b.renderBufferDirect(n,t,null,p,o,l):b.renderBuffer(n,t,null,p,o,l);r=h.__webglObjectsImmediate;for(m=0,j=r.length;m<j;m++)o=r[m],l=o.object,l.visible&&l.castShadow&&(l.matrixAutoUpdate&&l.matrixWorld.flattenToArray(l._objectMatrixArray),l._modelViewMatrix.multiplyToArray(n.matrixWorldInverse,l.matrixWorld,l._modelViewMatrixArray),b.renderImmediateObject(n,t,null,c,l))}h=b.getClearColor();
|
|
p=l.customDepthMaterial?l.customDepthMaterial:l.geometry.morphTargets.length?d:c,o instanceof THREE.BufferGeometry?b.renderBufferDirect(n,t,null,p,o,l):b.renderBuffer(n,t,null,p,o,l);r=h.__webglObjectsImmediate;for(m=0,j=r.length;m<j;m++)o=r[m],l=o.object,l.visible&&l.castShadow&&(l.matrixAutoUpdate&&l.matrixWorld.flattenToArray(l._objectMatrixArray),l._modelViewMatrix.multiplyToArray(n.matrixWorldInverse,l.matrixWorld,l._modelViewMatrixArray),b.renderImmediateObject(n,t,null,c,l))}h=b.getClearColor();
|
|
i=b.getClearAlpha();a.clearColor(h.r,h.g,h.b,i);a.enable(a.BLEND);b.shadowMapCullFrontFaces&&a.cullFace(a.BACK)}};
|
|
i=b.getClearAlpha();a.clearColor(h.r,h.g,h.b,i);a.enable(a.BLEND);b.shadowMapCullFrontFaces&&a.cullFace(a.BACK)}};
|