|
@@ -436,14 +436,14 @@ d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshPhongMaterial){k.
|
|
|
(S=d.bumpMap);void 0!==S&&(c=S.offset,S=S.repeat,k.offsetRepeat.value.set(c.x,c.y,S.x,S.y));k.envMap.value=d.envMap;k.flipEnvMap.value=d.envMap instanceof THREE.WebGLRenderTargetCube?1:-1;k.reflectivity.value=d.reflectivity;k.refractionRatio.value=d.refractionRatio;k.combine.value=d.combine;k.useRefract.value=d.envMap&&d.envMap.mapping instanceof THREE.CubeRefractionMapping}d instanceof THREE.LineBasicMaterial?(k.diffuse.value=d.color,k.opacity.value=d.opacity):d instanceof THREE.LineDashedMaterial?
|
|
|
(k.diffuse.value=d.color,k.opacity.value=d.opacity,k.dashSize.value=d.dashSize,k.totalSize.value=d.dashSize+d.gapSize,k.scale.value=d.scale):d instanceof THREE.PointCloudMaterial?(k.psColor.value=d.color,k.opacity.value=d.opacity,k.size.value=d.size,k.scale.value=J.height/2,k.map.value=d.map):d instanceof THREE.MeshPhongMaterial?(k.shininess.value=d.shininess,P.gammaInput?(k.ambient.value.copyGammaToLinear(d.ambient),k.emissive.value.copyGammaToLinear(d.emissive),k.specular.value.copyGammaToLinear(d.specular)):
|
|
|
(k.ambient.value=d.ambient,k.emissive.value=d.emissive,k.specular.value=d.specular),d.wrapAround&&k.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshLambertMaterial?(P.gammaInput?(k.ambient.value.copyGammaToLinear(d.ambient),k.emissive.value.copyGammaToLinear(d.emissive)):(k.ambient.value=d.ambient,k.emissive.value=d.emissive),d.wrapAround&&k.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshDepthMaterial?(k.mNear.value=a.near,k.mFar.value=a.far,k.opacity.value=d.opacity):d instanceof THREE.MeshNormalMaterial&&
|
|
|
-(k.opacity.value=d.opacity);if(e.receiveShadow&&!d._shadowPass&&k.shadowMatrix)for(c=S=0,f=b.length;c<f;c++)l=b[c],l.castShadow&&(l instanceof THREE.SpotLight||l instanceof THREE.DirectionalLight&&!l.shadowCascade)&&(k.shadowMap.value[S]=l.shadowMap,k.shadowMapSize.value[S]=l.shadowMapSize,k.shadowMatrix.value[S]=l.shadowMatrix,k.shadowDarkness.value[S]=l.shadowDarkness,k.shadowBias.value[S]=l.shadowBias,S++);b=d.uniformsList;k=0;for(S=b.length;k<S;k++)if(f=g.uniforms[b[k][1]])if(c=b[k][0],p=c.type,
|
|
|
-l=c.value,"i"===p)m.uniform1i(f,l);else if("f"===p)m.uniform1f(f,l);else if("v2"===p)m.uniform2f(f,l.x,l.y);else if("v3"===p)m.uniform3f(f,l.x,l.y,l.z);else if("v4"===p)m.uniform4f(f,l.x,l.y,l.z,l.w);else if("c"===p)m.uniform3f(f,l.r,l.g,l.b);else if("iv1"===p)m.uniform1iv(f,l);else if("iv"===p)m.uniform3iv(f,l);else if("fv1"===p)m.uniform1fv(f,l);else if("fv"===p)m.uniform3fv(f,l);else if("v2v"===p){void 0===c._array&&(c._array=new Float32Array(2*l.length));p=0;for(r=l.length;p<r;p++)u=2*p,c._array[u]=
|
|
|
-l[p].x,c._array[u+1]=l[p].y;m.uniform2fv(f,c._array)}else if("v3v"===p){void 0===c._array&&(c._array=new Float32Array(3*l.length));p=0;for(r=l.length;p<r;p++)u=3*p,c._array[u]=l[p].x,c._array[u+1]=l[p].y,c._array[u+2]=l[p].z;m.uniform3fv(f,c._array)}else if("v4v"===p){void 0===c._array&&(c._array=new Float32Array(4*l.length));p=0;for(r=l.length;p<r;p++)u=4*p,c._array[u]=l[p].x,c._array[u+1]=l[p].y,c._array[u+2]=l[p].z,c._array[u+3]=l[p].w;m.uniform4fv(f,c._array)}else if("m3"===p)m.uniformMatrix3fv(f,
|
|
|
-!1,l.elements);else if("m3v"===p){void 0===c._array&&(c._array=new Float32Array(9*l.length));p=0;for(r=l.length;p<r;p++)l[p].flattenToArrayOffset(c._array,9*p);m.uniformMatrix3fv(f,!1,c._array)}else if("m4"===p)m.uniformMatrix4fv(f,!1,l.elements);else if("m4v"===p){void 0===c._array&&(c._array=new Float32Array(16*l.length));p=0;for(r=l.length;p<r;p++)l[p].flattenToArrayOffset(c._array,16*p);m.uniformMatrix4fv(f,!1,c._array)}else if("t"===p){if(u=l,l=z(),m.uniform1i(f,l),u)if(u instanceof THREE.CubeTexture||
|
|
|
+(k.opacity.value=d.opacity);if(e.receiveShadow&&!d._shadowPass&&k.shadowMatrix)for(c=S=0,f=b.length;c<f;c++)l=b[c],l.castShadow&&(l instanceof THREE.SpotLight||l instanceof THREE.DirectionalLight&&!l.shadowCascade)&&(k.shadowMap.value[S]=l.shadowMap,k.shadowMapSize.value[S]=l.shadowMapSize,k.shadowMatrix.value[S]=l.shadowMatrix,k.shadowDarkness.value[S]=l.shadowDarkness,k.shadowBias.value[S]=l.shadowBias,S++);b=d.uniformsList;k=0;for(S=b.length;k<S;k++)if(c=g.uniforms[b[k][1]])if(f=b[k][0],p=f.type,
|
|
|
+l=f.value,"i"===p)m.uniform1i(c,l);else if("f"===p)m.uniform1f(c,l);else if("v2"===p)m.uniform2f(c,l.x,l.y);else if("v3"===p)m.uniform3f(c,l.x,l.y,l.z);else if("v4"===p)m.uniform4f(c,l.x,l.y,l.z,l.w);else if("c"===p)m.uniform3f(c,l.r,l.g,l.b);else if("iv1"===p)m.uniform1iv(c,l);else if("iv"===p)m.uniform3iv(c,l);else if("fv1"===p)m.uniform1fv(c,l);else if("fv"===p)m.uniform3fv(c,l);else if("v2v"===p){void 0===f._array&&(f._array=new Float32Array(2*l.length));p=0;for(r=l.length;p<r;p++)u=2*p,f._array[u]=
|
|
|
+l[p].x,f._array[u+1]=l[p].y;m.uniform2fv(c,f._array)}else if("v3v"===p){void 0===f._array&&(f._array=new Float32Array(3*l.length));p=0;for(r=l.length;p<r;p++)u=3*p,f._array[u]=l[p].x,f._array[u+1]=l[p].y,f._array[u+2]=l[p].z;m.uniform3fv(c,f._array)}else if("v4v"===p){void 0===f._array&&(f._array=new Float32Array(4*l.length));p=0;for(r=l.length;p<r;p++)u=4*p,f._array[u]=l[p].x,f._array[u+1]=l[p].y,f._array[u+2]=l[p].z,f._array[u+3]=l[p].w;m.uniform4fv(c,f._array)}else if("m3"===p)m.uniformMatrix3fv(c,
|
|
|
+!1,l.elements);else if("m3v"===p){void 0===f._array&&(f._array=new Float32Array(9*l.length));p=0;for(r=l.length;p<r;p++)l[p].flattenToArrayOffset(f._array,9*p);m.uniformMatrix3fv(c,!1,f._array)}else if("m4"===p)m.uniformMatrix4fv(c,!1,l.elements);else if("m4v"===p){void 0===f._array&&(f._array=new Float32Array(16*l.length));p=0;for(r=l.length;p<r;p++)l[p].flattenToArrayOffset(f._array,16*p);m.uniformMatrix4fv(c,!1,f._array)}else if("t"===p){if(u=l,l=z(),m.uniform1i(c,l),u)if(u instanceof THREE.CubeTexture||
|
|
|
u.image instanceof Array&&6===u.image.length){if(c=u,f=l,6===c.image.length)if(c.needsUpdate){c.image.__webglTextureCube||(c.addEventListener("dispose",Db),c.image.__webglTextureCube=m.createTexture(),P.info.memory.textures++);m.activeTexture(m.TEXTURE0+f);m.bindTexture(m.TEXTURE_CUBE_MAP,c.image.__webglTextureCube);m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,c.flipY);f=c instanceof THREE.CompressedTexture;l=[];for(p=0;6>p;p++)P.autoScaleCubemaps&&!f?(r=l,u=p,w=c.image[p],x=pc,w.width<=x&&w.height<=x||(A=
|
|
|
Math.max(w.width,w.height),v=Math.floor(w.width*x/A),x=Math.floor(w.height*x/A),A=document.createElement("canvas"),A.width=v,A.height=x,A.getContext("2d").drawImage(w,0,0,w.width,w.height,0,0,v,x),w=A),r[u]=w):l[p]=c.image[p];p=l[0];r=THREE.Math.isPowerOfTwo(p.width)&&THREE.Math.isPowerOfTwo(p.height);u=G(c.format);w=G(c.type);M(m.TEXTURE_CUBE_MAP,c,r);for(p=0;6>p;p++)if(f)for(x=l[p].mipmaps,A=0,D=x.length;A<D;A++)v=x[A],c.format!==THREE.RGBAFormat?m.compressedTexImage2D(m.TEXTURE_CUBE_MAP_POSITIVE_X+
|
|
|
p,A,u,v.width,v.height,0,v.data):m.texImage2D(m.TEXTURE_CUBE_MAP_POSITIVE_X+p,A,u,v.width,v.height,0,u,w,v.data);else m.texImage2D(m.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,u,u,w,l[p]);c.generateMipmaps&&r&&m.generateMipmap(m.TEXTURE_CUBE_MAP);c.needsUpdate=!1;if(c.onUpdate)c.onUpdate()}else m.activeTexture(m.TEXTURE0+f),m.bindTexture(m.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else u instanceof THREE.WebGLRenderTargetCube?(c=u,m.activeTexture(m.TEXTURE0+l),m.bindTexture(m.TEXTURE_CUBE_MAP,c.__webglTexture)):
|
|
|
-P.setTexture(u,l)}else if("tv"===p){void 0===c._array&&(c._array=[]);p=0;for(r=c.value.length;p<r;p++)c._array[p]=z();m.uniform1iv(f,c._array);p=0;for(r=c.value.length;p<r;p++)u=c.value[p],l=c._array[p],u&&P.setTexture(u,l)}else console.warn("THREE.WebGLRenderer: Unknown uniform type: "+p);(d instanceof THREE.ShaderMaterial||d instanceof THREE.MeshPhongMaterial||d.envMap)&&null!==h.cameraPosition&&(xa.setFromMatrixPosition(a.matrixWorld),m.uniform3f(h.cameraPosition,xa.x,xa.y,xa.z));(d instanceof
|
|
|
+P.setTexture(u,l)}else if("tv"===p){void 0===f._array&&(f._array=[]);p=0;for(r=f.value.length;p<r;p++)f._array[p]=z();m.uniform1iv(c,f._array);p=0;for(r=f.value.length;p<r;p++)u=f.value[p],l=f._array[p],u&&P.setTexture(u,l)}else console.warn("THREE.WebGLRenderer: Unknown uniform type: "+p);(d instanceof THREE.ShaderMaterial||d instanceof THREE.MeshPhongMaterial||d.envMap)&&null!==h.cameraPosition&&(xa.setFromMatrixPosition(a.matrixWorld),m.uniform3f(h.cameraPosition,xa.x,xa.y,xa.z));(d instanceof
|
|
|
THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.ShaderMaterial||d.skinning)&&null!==h.viewMatrix&&m.uniformMatrix4fv(h.viewMatrix,!1,a.matrixWorldInverse.elements)}m.uniformMatrix4fv(h.modelViewMatrix,!1,e._modelViewMatrix.elements);h.normalMatrix&&m.uniformMatrix3fv(h.normalMatrix,!1,e._normalMatrix.elements);null!==h.modelMatrix&&m.uniformMatrix4fv(h.modelMatrix,!1,e.matrixWorld.elements);return g}function z(){var a=qa;a>=Jb&&console.warn("WebGLRenderer: trying to use "+
|
|
|
a+" texture units while this GPU supports only "+Jb);qa+=1;return a}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 y(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function Q(a){a!==ga&&(m.lineWidth(a),ga=a)}function E(a,b,c){na!==a&&(a?m.enable(m.POLYGON_OFFSET_FILL):m.disable(m.POLYGON_OFFSET_FILL),na=a);!a||Ma===b&&wa===c||(m.polygonOffset(b,c),Ma=b,wa=c)}function M(a,b,c){c?(m.texParameteri(a,m.TEXTURE_WRAP_S,G(b.wrapS)),m.texParameteri(a,m.TEXTURE_WRAP_T,G(b.wrapT)),
|
|
|
m.texParameteri(a,m.TEXTURE_MAG_FILTER,G(b.magFilter)),m.texParameteri(a,m.TEXTURE_MIN_FILTER,G(b.minFilter))):(m.texParameteri(a,m.TEXTURE_WRAP_S,m.CLAMP_TO_EDGE),m.texParameteri(a,m.TEXTURE_WRAP_T,m.CLAMP_TO_EDGE),m.texParameteri(a,m.TEXTURE_MAG_FILTER,H(b.magFilter)),m.texParameteri(a,m.TEXTURE_MIN_FILTER,H(b.minFilter)));ab&&b.type!==THREE.FloatType&&(1<b.anisotropy||b.__oldAnisotropy)&&(m.texParameterf(a,ab.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(b.anisotropy,Kb)),b.__oldAnisotropy=b.anisotropy)}
|