diff --git a/build/three.js b/build/three.js index 0dffae1552557e5126df43a1704b104b9de885f8..3fb302c59f93896d6a623ccbc1cdabdf8383d1ca 100644 --- a/build/three.js +++ b/build/three.js @@ -26759,6 +26759,11 @@ THREE.WebGLProgram = ( function () { } + // clean up + + _gl.deleteShader( glVertexShader ); + _gl.deleteShader( glFragmentShader ); + // cache uniform locations var identifiers = [ @@ -26823,13 +26828,8 @@ THREE.WebGLProgram = ( function () { this.code = code; this.usedTimes = 1; this.program = program; - this.vertexShader = glVertexShader; // _gl.getShaderSource( glVertexShader ); - this.fragmentShader = _gl.getShaderSource( glFragmentShader ); - - // clean up - - _gl.deleteShader( glVertexShader ); - _gl.deleteShader( glFragmentShader ); + this.vertexShader = glVertexShader; + this.fragmentShader = glFragmentShader; return this; diff --git a/build/three.min.js b/build/three.min.js index 1b506a4f8c76fcf3d5892761852e0574674ee9e1..9088a31b03286ea3d3c5f53adfe65586d50c065f 100644 --- a/build/three.min.js +++ b/build/three.min.js @@ -520,9 +520,8 @@ p:"",e.shadowMapDebug?"#define SHADOWMAP_DEBUG":"",e.shadowMapCascade?"#define S b=["precision "+e.precision+" float;","precision "+e.precision+" int;",e.bumpMap||e.normalMap?"#extension GL_OES_standard_derivatives : enable":"",r,"#define MAX_DIR_LIGHTS "+e.maxDirLights,"#define MAX_POINT_LIGHTS "+e.maxPointLights,"#define MAX_SPOT_LIGHTS "+e.maxSpotLights,"#define MAX_HEMI_LIGHTS "+e.maxHemiLights,"#define MAX_SHADOWS "+e.maxShadows,e.alphaTest?"#define ALPHATEST "+e.alphaTest:"",b.gammaInput?"#define GAMMA_INPUT":"",b.gammaOutput?"#define GAMMA_OUTPUT":"",e.useFog&&e.fog?"#define USE_FOG": "",e.useFog&&e.fogExp?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.envMap?"#define USE_ENVMAP":"",e.lightMap?"#define USE_LIGHTMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.vertexColors?"#define USE_COLOR":"",e.metal?"#define METAL":"",e.wrapAround?"#define WRAP_AROUND":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled? "#define "+p:"",e.shadowMapDebug?"#define SHADOWMAP_DEBUG":"",e.shadowMapCascade?"#define SHADOWMAP_CASCADE":"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");h=new THREE.WebGLShader(f,f.VERTEX_SHADER,u+h);g=new THREE.WebGLShader(f,f.FRAGMENT_SHADER,b+g);f.attachShader(n,h);f.attachShader(n,g);void 0!==d&&f.bindAttribLocation(n,0,d);f.linkProgram(n);!1===f.getProgramParameter(n,f.LINK_STATUS)&&(console.error("Could not initialise shader"),console.error("gl.VALIDATE_STATUS", -f.getProgramParameter(n,f.VALIDATE_STATUS)),console.error("gl.getError()",f.getError()));""!==f.getProgramInfoLog(n)&&console.error("gl.getProgramInfoLog()",f.getProgramInfoLog(n));d="viewMatrix modelViewMatrix projectionMatrix normalMatrix modelMatrix cameraPosition morphTargetInfluences".split(" ");e.useVertexTexture?(d.push("boneTexture"),d.push("boneTextureWidth"),d.push("boneTextureHeight")):d.push("boneGlobalMatrices");for(var q in k)d.push(q);k=d;q={};d=0;for(b=k.length;da?b(c,e-1):l[e]< a?b(e+1,d):e}return b(0,l.length-1)}var d,e,f=a.faces,g=a.vertices,h=f.length,k=0,l=[],n,p,r;for(e=0;e