| 54 | [];this.map={}}function ib(a,b){this.seq=[];this.map={};for(var c=a.getProgramParameter(b,35718),d=0;d<c;++d){var e=a.getActiveUniform(b,d),f=a.getUniformLocation(b,e.name),g=this,h=e.name,l=h.length;for(he.lastIndex=0;;){var m=he.exec(h),q=he.lastIndex,p=m[1],v=m[3];"]"===m[2]&&(p|=0);if(void 0===v||"["===v&&q+2===l){h=g;e=void 0===v?new Og(p,e,f):new hf(p,e,f);h.seq.push(e);h.map[e.id]=e;break}else v=g.map[p],void 0===v&&(v=new jf(p),p=g,g=v,p.seq.push(g),p.map[g.id]=g),g=v}}}function Pg(a){a=a.split("\n"); |
| 55 | for(var b=0;b<a.length;b++)a[b]=b+1+": "+a[b];return a.join("\n")}function kf(a,b,c,d){var e=a.createShader(b);a.shaderSource(e,c);a.compileShader(e);!0===d&&(!1===a.getShaderParameter(e,35713)&&console.error("THREE.WebGLShader: Shader couldn't compile."),""!==a.getShaderInfoLog(e)&&console.warn("THREE.WebGLShader: gl.getShaderInfoLog()",35633===b?"vertex":"fragment",a.getShaderInfoLog(e),Pg(c)));return e}function lf(a){switch(a){case 3E3:return["Linear","( value )"];case 3001:return["sRGB","( value )"]; |
| 56 | case 3002:return["RGBE","( value )"];case 3004:return["RGBM","( value, 7.0 )"];case 3005:return["RGBM","( value, 16.0 )"];case 3006:return["RGBD","( value, 256.0 )"];case 3007:return["Gamma","( value, float( GAMMA_FACTOR ) )"];default:throw Error("unsupported encoding: "+a);}}function zd(a,b){b=lf(b);return"vec4 "+a+"( vec4 value ) { return "+b[0]+"ToLinear"+b[1]+"; }"}function Qg(a,b){b=lf(b);return"vec4 "+a+"( vec4 value ) { return LinearTo"+b[0]+b[1]+"; }"}function Rg(a,b){switch(b){case 1:b="Linear"; |
| 57 | break;case 2:b="Reinhard";break;case 3:b="Uncharted2";break;case 4:b="OptimizedCineon";break;case 5:b="ACESFilmic";break;default:throw Error("unsupported toneMapping: "+b);}return"vec3 "+a+"( vec3 color ) { return "+b+"ToneMapping( color ); }"}function Sg(a,b,c){a=a||{};return[a.derivatives||b.envMapCubeUV||b.bumpMap||b.normalMap&&!b.objectSpaceNormalMap||b.flatShading?"#extension GL_OES_standard_derivatives : enable":"",(a.fragDepth||b.logarithmicDepthBuffer)&&c.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable": |
| 58 | "",a.drawBuffers&&c.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":"",(a.shaderTextureLOD||b.envMap)&&c.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Hc).join("\n")}function Tg(a){var b=[],c;for(c in a){var d=a[c];!1!==d&&b.push("#define "+c+" "+d)}return b.join("\n")}function Hc(a){return""!==a}function mf(a,b){return a.replace(/NUM_DIR_LIGHTS/g,b.numDirLights).replace(/NUM_SPOT_LIGHTS/g,b.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g, |
| 59 | b.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,b.numPointLights).replace(/NUM_HEMI_LIGHTS/g,b.numHemiLights)}function nf(a,b){return a.replace(/NUM_CLIPPING_PLANES/g,b.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,b.numClippingPlanes-b.numClipIntersection)}function ie(a){return a.replace(/^[ \t]*#include +<([\w\d./]+)>/gm,function(a,c){a=R[c];if(void 0===a)throw Error("Can not resolve #include <"+c+">");return ie(a)})}function of(a){return a.replace(/#pragma unroll_loop[\s]+?for \( int i = (\d+); i < (\d+); i \+\+ \) \{([\s\S]+?)(?=\})\}/g, |