From 76f49f7e45efc20db66491446bc99629a715b1b1 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Thu, 9 Oct 2014 01:49:20 +0200 Subject: [PATCH] Updated builds. --- build/three.js | 65 +++++++++++----- build/three.min.js | 179 ++++++++++++++++++++++----------------------- 2 files changed, 134 insertions(+), 110 deletions(-) diff --git a/build/three.js b/build/three.js index 7dcae684d9..45d4216226 100644 --- a/build/three.js +++ b/build/three.js @@ -18173,22 +18173,37 @@ THREE.WebGLRenderer = function ( parameters ) { // Buffer deallocation var deleteBuffers = function ( geometry ) { + + var buffers = [ + '__webglVertexBuffer', + '__webglNormalBuffer', + '__webglTangentBuffer', + '__webglColorBuffer', + '__webglUVBuffer', + '__webglUV2Buffer', + + '__webglSkinIndicesBuffer', + '__webglSkinWeightsBuffer', + + '__webglFaceBuffer', + '__webglLineBuffer', + + '__webglLineDistanceBuffer' + ]; - if ( geometry.__webglVertexBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglVertexBuffer ); - if ( geometry.__webglNormalBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglNormalBuffer ); - if ( geometry.__webglTangentBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglTangentBuffer ); - if ( geometry.__webglColorBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglColorBuffer ); - if ( geometry.__webglUVBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglUVBuffer ); - if ( geometry.__webglUV2Buffer !== undefined ) _gl.deleteBuffer( geometry.__webglUV2Buffer ); + for ( var i = 0, l = buffers.length; i < l; i ++ ) { - if ( geometry.__webglSkinIndicesBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglSkinIndicesBuffer ); - if ( geometry.__webglSkinWeightsBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglSkinWeightsBuffer ); + var name = buffers[ i ]; - if ( geometry.__webglFaceBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglFaceBuffer ); - if ( geometry.__webglLineBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglLineBuffer ); + if ( geometry[ name ] !== undefined ) { + + _gl.deleteBuffer( geometry[ name ] ); + delete geometry[ name ]; + + } + + } - if ( geometry.__webglLineDistanceBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglLineDistanceBuffer ); - // custom attributes if ( geometry.__webglCustomAttributesList !== undefined ) { @@ -18199,6 +18214,8 @@ THREE.WebGLRenderer = function ( parameters ) { } + delete geometry.__webglCustomAttributesList; + } _this.info.memory.geometries --; @@ -18207,15 +18224,18 @@ THREE.WebGLRenderer = function ( parameters ) { var deallocateGeometry = function ( geometry ) { - geometry.__webglInit = undefined; + delete geometry.__webglInit; if ( geometry instanceof THREE.BufferGeometry ) { for ( var name in geometry.attributes ) { + + var attribute = geometry.attributes[ name ]; - if ( geometry.attributes[ name ].buffer !== undefined ) { + if ( attribute.buffer !== undefined ) { - _gl.deleteBuffer( geometry.attributes[ name ].buffer ); + _gl.deleteBuffer( attribute.buffer ); + delete attribute.buffer; } @@ -18263,6 +18283,10 @@ THREE.WebGLRenderer = function ( parameters ) { } + // TOFIX: Workaround for deleted geometry being currently bound + + _currentGeometryGroupHash = -1; + }; var deallocateTexture = function ( texture ) { @@ -18375,12 +18399,13 @@ THREE.WebGLRenderer = function ( parameters ) { // Buffer initialization - function initCustomAttributes ( geometry, object ) { - - var nvertices = geometry.vertices.length; + function initCustomAttributes ( object ) { + var geometry = object.geometry; var material = object.material; + var nvertices = geometry.vertices.length; + if ( material.attributes ) { if ( geometry.__webglCustomAttributesList === undefined ) { @@ -18434,7 +18459,7 @@ THREE.WebGLRenderer = function ( parameters ) { geometry.__webglParticleCount = nvertices; - initCustomAttributes ( geometry, object ); + initCustomAttributes( object ); }; @@ -18448,7 +18473,7 @@ THREE.WebGLRenderer = function ( parameters ) { geometry.__webglLineCount = nvertices; - initCustomAttributes ( geometry, object ); + initCustomAttributes( object ); }; diff --git a/build/three.min.js b/build/three.min.js index d2c90d160c..37c24e2461 100644 --- a/build/three.min.js +++ b/build/three.min.js @@ -189,9 +189,9 @@ if(c){a.makeEmpty();for(var d=this.boundingSphere.center,e=0,g=c.length;eWa?-1:1;h[4*a]=Da.x;h[4*a+1]=Da.y;h[4*a+2]=Da.z;h[4*a+3]=jb}if(void 0===this.attributes.index||void 0===this.attributes.position||void 0===this.attributes.normal||void 0===this.attributes.uv)console.warn("Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()"); +I-V*R)*L,(Q*C-V*O)*L,(Q*U-V*W)*L);k[a].add(Y);k[b].add(Y);k[c].add(Y);n[a].add(ga);n[b].add(ga);n[c].add(ga)}function b(a){Ga.x=e[3*a];Ga.y=e[3*a+1];Ga.z=e[3*a+2];$a.copy(Ga);J=k[a];Da.copy(J);Da.sub(Ga.multiplyScalar(Ga.dot(J))).normalize();ab.crossVectors($a,J);Wa=ab.dot(n[a]);jb=0>Wa?-1:1;h[4*a]=Da.x;h[4*a+1]=Da.y;h[4*a+2]=Da.z;h[4*a+3]=jb}if(void 0===this.attributes.index||void 0===this.attributes.position||void 0===this.attributes.normal||void 0===this.attributes.uv)console.warn("Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()"); else{var c=this.attributes.index.array,d=this.attributes.position.array,e=this.attributes.normal.array,g=this.attributes.uv.array,f=d.length/3;void 0===this.attributes.tangent&&this.addAttribute("tangent",new THREE.BufferAttribute(new Float32Array(4*f),4));for(var h=this.attributes.tangent.array,k=[],n=[],p=0;pr;r++)s=a[3*c+r],-1==q[s]?(m[2*r]=s,m[2*r+1]=-1,p++):q[s]k.index+b)for(k={start:g,count:0,index:f},h.push(k), p=0;6>p;p+=2)r=m[p+1],-1p;p+=2)s=m[p],r=m[p+1],-1===r&&(r=f++),q[s]=r,t[r]=s,e[g++]=r-k.index,k.count++}this.reorderBuffers(e,t,f);return this.offsets=h},merge:function(){console.log("BufferGeometry.merge(): TODO")},normalizeNormals:function(){for(var a=this.attributes.normal.array,b,c,d,e=0,g=a.length;eja;ja++)tb=Ka[ja],eb[Ya]=tb.x,eb[Ya+1]=tb.y,eb[Ya+2]=tb.z,Ya+=3;else for(ja=0;3>ja;ja++)eb[Ya]=Y.x,eb[Ya+1]=Y.y,eb[Ya+2]=Y.z,Ya+=3;l.bindBuffer(l.ARRAY_BUFFER,C.__webglNormalBuffer);l.bufferData(l.ARRAY_BUFFER,eb,la)}if(zb&&ca){K=0;for(L=H.length;Kja;ja++)wa=ya[ja],Nb[rc]=wa.x,Nb[rc+1]=wa.y,rc+=2;0ja;ja++)Ac=ua[ja],xb[sc]=Ac.x,xb[sc+1]=Ac.y,sc+=2;0ja;ja++)tb=Ka[ja],eb[Ya]=tb.x,eb[Ya+1]=tb.y,eb[Ya+2]=tb.z,Ya+=3;else for(ja=0;3>ja;ja++)eb[Ya]=Y.x,eb[Ya+1]=Y.y,eb[Ya+2]=Y.z,Ya+=3;l.bindBuffer(l.ARRAY_BUFFER,C.__webglNormalBuffer);l.bufferData(l.ARRAY_BUFFER,eb,la)}if(zb&&ca){K=0;for(L=H.length;Kja;ja++)wa=ya[ja],Nb[rc]=wa.x,Nb[rc+1]=wa.y,rc+=2;0ja;ja++)Ac=ua[ja],xb[sc]=Ac.x,xb[sc+1]=Ac.y,sc+=2;0Aa;Aa++)ia[Aa]=!J.autoScaleCubemaps||ac||Db?Db?va.image[Aa].image:va.image[Aa]:C(va.image[Aa],Wc);var Ob=ia[0],Pb=THREE.Math.isPowerOfTwo(Ob.width)&&THREE.Math.isPowerOfTwo(Ob.height),hb=V(va.format),Qb=V(va.type);O(l.TEXTURE_CUBE_MAP,va,Pb);for(Aa=0;6>Aa;Aa++)if(ac)for(var fa,bc=ia[Aa].mipmaps,Rb=0,Xb=bc.length;Rb=Lc&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+Lc);fc+=1;return a}function B(a,b){a._modelViewMatrix.multiplyMatrices(b.matrixWorldInverse, a.matrixWorld);a._normalMatrix.getNormalMatrix(a._modelViewMatrix)}function y(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 E(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function R(a){a!==Mc&&(l.lineWidth(a),Mc=a)}function I(a,b,c){Nc!==a&&(a?l.enable(l.POLYGON_OFFSET_FILL):l.disable(l.POLYGON_OFFSET_FILL),Nc=a);!a||Oc===b&&Pc===c||(l.polygonOffset(b,c),Oc=b,Pc=c)}function O(a,b,c){c?(l.texParameteri(a,l.TEXTURE_WRAP_S,V(b.wrapS)),l.texParameteri(a,l.TEXTURE_WRAP_T,V(b.wrapT)), @@ -511,56 +511,55 @@ if(a===THREE.NearestMipMapNearestFilter)return l.NEAREST_MIPMAP_NEAREST;if(a===T if(a===THREE.UnsignedShort565Type)return l.UNSIGNED_SHORT_5_6_5;if(a===THREE.ByteType)return l.BYTE;if(a===THREE.ShortType)return l.SHORT;if(a===THREE.UnsignedShortType)return l.UNSIGNED_SHORT;if(a===THREE.IntType)return l.INT;if(a===THREE.UnsignedIntType)return l.UNSIGNED_INT;if(a===THREE.FloatType)return l.FLOAT;if(a===THREE.AlphaFormat)return l.ALPHA;if(a===THREE.RGBFormat)return l.RGB;if(a===THREE.RGBAFormat)return l.RGBA;if(a===THREE.LuminanceFormat)return l.LUMINANCE;if(a===THREE.LuminanceAlphaFormat)return l.LUMINANCE_ALPHA; if(a===THREE.AddEquation)return l.FUNC_ADD;if(a===THREE.SubtractEquation)return l.FUNC_SUBTRACT;if(a===THREE.ReverseSubtractEquation)return l.FUNC_REVERSE_SUBTRACT;if(a===THREE.ZeroFactor)return l.ZERO;if(a===THREE.OneFactor)return l.ONE;if(a===THREE.SrcColorFactor)return l.SRC_COLOR;if(a===THREE.OneMinusSrcColorFactor)return l.ONE_MINUS_SRC_COLOR;if(a===THREE.SrcAlphaFactor)return l.SRC_ALPHA;if(a===THREE.OneMinusSrcAlphaFactor)return l.ONE_MINUS_SRC_ALPHA;if(a===THREE.DstAlphaFactor)return l.DST_ALPHA; if(a===THREE.OneMinusDstAlphaFactor)return l.ONE_MINUS_DST_ALPHA;if(a===THREE.DstColorFactor)return l.DST_COLOR;if(a===THREE.OneMinusDstColorFactor)return l.ONE_MINUS_DST_COLOR;if(a===THREE.SrcAlphaSaturateFactor)return l.SRC_ALPHA_SATURATE;if(null!==Fa){if(a===THREE.RGB_S3TC_DXT1_Format)return Fa.COMPRESSED_RGB_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT1_Format)return Fa.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT3_Format)return Fa.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(a===THREE.RGBA_S3TC_DXT5_Format)return Fa.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(null!== -Ga){if(a===THREE.RGB_PVRTC_4BPPV1_Format)return Ga.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(a===THREE.RGB_PVRTC_2BPPV1_Format)return Ga.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(a===THREE.RGBA_PVRTC_4BPPV1_Format)return Ga.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(a===THREE.RGBA_PVRTC_2BPPV1_Format)return Ga.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(void 0!==Za){if(a===THREE.MinEquation)return Za.MIN_EXT;if(a===THREE.MaxEquation)return Za.MAX_EXT}return 0}console.log("THREE.WebGLRenderer",THREE.REVISION);a=a||{};var P=void 0!== -a.canvas?a.canvas:document.createElement("canvas"),sa=void 0!==a.context?a.context:null,L=void 0!==a.precision?a.precision:"highp",Y=void 0!==a.alpha?a.alpha:!1,ga=void 0!==a.depth?a.depth:!0,ua=void 0!==a.stencil?a.stencil:!0,N=void 0!==a.antialias?a.antialias:!1,ka=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,xa=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,Ja=void 0!==a.logarithmicDepthBuffer?a.logarithmicDepthBuffer:!1,la=new THREE.Color(0),Ka=0,Da=[],ab={},Ha=[],$a=[], +Ra){if(a===THREE.RGB_PVRTC_4BPPV1_Format)return Ra.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(a===THREE.RGB_PVRTC_2BPPV1_Format)return Ra.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(a===THREE.RGBA_PVRTC_4BPPV1_Format)return Ra.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(a===THREE.RGBA_PVRTC_2BPPV1_Format)return Ra.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(void 0!==Za){if(a===THREE.MinEquation)return Za.MIN_EXT;if(a===THREE.MaxEquation)return Za.MAX_EXT}return 0}console.log("THREE.WebGLRenderer",THREE.REVISION);a=a||{};var P=void 0!== +a.canvas?a.canvas:document.createElement("canvas"),sa=void 0!==a.context?a.context:null,L=void 0!==a.precision?a.precision:"highp",Y=void 0!==a.alpha?a.alpha:!1,ga=void 0!==a.depth?a.depth:!0,ua=void 0!==a.stencil?a.stencil:!0,N=void 0!==a.antialias?a.antialias:!1,ka=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,xa=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,Ja=void 0!==a.logarithmicDepthBuffer?a.logarithmicDepthBuffer:!1,la=new THREE.Color(0),Ka=0,Da=[],ab={},Ga=[],$a=[], jb=[];this.domElement=P;this.context=null;this.devicePixelRatio=void 0!==a.devicePixelRatio?a.devicePixelRatio:void 0!==self.devicePixelRatio?self.devicePixelRatio:1;this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.shadowMapEnabled=this.gammaOutput=this.gammaInput=!1;this.shadowMapAutoUpdate=!0;this.shadowMapType=THREE.PCFShadowMap;this.shadowMapCullFace=THREE.CullFaceFront;this.shadowMapCascade=this.shadowMapDebug=!1;this.maxMorphTargets=8;this.maxMorphNormals= -4;this.autoScaleCubemaps=!0;this.renderPluginsPre=[];this.renderPluginsPost=[];this.info={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};var J=this,Wa=[],vb=null,Zb=null,tb=-1,Va=null,Vb=null,fc=0,Kb=-1,mb=-1,nb=-1,Db=-1,Eb=-1,Xb=-1,Fb=-1,Yb=-1,Nc=null,Oc=null,Pc=null,Mc=null,mc=0,ob=0,ib=P.width,Lb=P.height,Gc=0,Hc=0,Mb=new Uint8Array(16),Gb=new Uint8Array(16),zc=new THREE.Frustum,xc=new THREE.Matrix4,Cc=new THREE.Matrix4,Qa=new THREE.Vector3,ya=new THREE.Vector3, -Wb=!0,Kc={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]},spot:{length:0,colors:[],positions:[],distances:[],directions:[],anglesCos:[],exponents:[]},hemi:{length:0,skyColors:[],groundColors:[],positions:[]}},l,sb,tc,lb,Fa,Ga,ub,Za;(function(){try{var a={alpha:Y,depth:ga,stencil:ua,antialias:N,premultipliedAlpha:ka,preserveDrawingBuffer:xa};l=sa||P.getContext("webgl",a)||P.getContext("experimental-webgl",a);if(null===l)throw"Error creating WebGL context."; -}catch(b){console.error(b)}sb=l.getExtension("OES_texture_float");l.getExtension("OES_texture_float_linear");tc=l.getExtension("OES_standard_derivatives");lb=l.getExtension("EXT_texture_filter_anisotropic")||l.getExtension("MOZ_EXT_texture_filter_anisotropic")||l.getExtension("WEBKIT_EXT_texture_filter_anisotropic");Fa=l.getExtension("WEBGL_compressed_texture_s3tc")||l.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||l.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");Ga=l.getExtension("WEBGL_compressed_texture_pvrtc")|| -l.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");ub=l.getExtension("OES_element_index_uint");Za=l.getExtension("EXT_blend_minmax");null===sb&&console.log("THREE.WebGLRenderer: Float textures not supported.");null===tc&&console.log("THREE.WebGLRenderer: Standard derivatives not supported.");null===lb&&console.log("THREE.WebGLRenderer: Anisotropic texture filtering not supported.");null===Fa&&console.log("THREE.WebGLRenderer: S3TC compressed textures not supported.");null===Ga&&console.log("THREE.WebGLRenderer: PVRTC compressed textures not supported."); +4;this.autoScaleCubemaps=!0;this.renderPluginsPre=[];this.renderPluginsPost=[];this.info={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};var J=this,Wa=[],vb=null,Zb=null,tb=-1,Ia=null,Vb=null,fc=0,Kb=-1,mb=-1,nb=-1,Db=-1,Eb=-1,Xb=-1,Fb=-1,Yb=-1,Nc=null,Oc=null,Pc=null,Mc=null,mc=0,ob=0,ib=P.width,Lb=P.height,Gc=0,Hc=0,Mb=new Uint8Array(16),Gb=new Uint8Array(16),zc=new THREE.Frustum,xc=new THREE.Matrix4,Cc=new THREE.Matrix4,Qa=new THREE.Vector3,ya=new THREE.Vector3, +Wb=!0,Kc={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]},spot:{length:0,colors:[],positions:[],distances:[],directions:[],anglesCos:[],exponents:[]},hemi:{length:0,skyColors:[],groundColors:[],positions:[]}},l,sb,tc,lb,Fa,Ra,ub,Za;(function(){try{var a={alpha:Y,depth:ga,stencil:ua,antialias:N,premultipliedAlpha:ka,preserveDrawingBuffer:xa};l=sa||P.getContext("webgl",a)||P.getContext("experimental-webgl",a);if(null===l)throw"Error creating WebGL context."; +}catch(b){console.error(b)}sb=l.getExtension("OES_texture_float");l.getExtension("OES_texture_float_linear");tc=l.getExtension("OES_standard_derivatives");lb=l.getExtension("EXT_texture_filter_anisotropic")||l.getExtension("MOZ_EXT_texture_filter_anisotropic")||l.getExtension("WEBKIT_EXT_texture_filter_anisotropic");Fa=l.getExtension("WEBGL_compressed_texture_s3tc")||l.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||l.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");Ra=l.getExtension("WEBGL_compressed_texture_pvrtc")|| +l.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");ub=l.getExtension("OES_element_index_uint");Za=l.getExtension("EXT_blend_minmax");null===sb&&console.log("THREE.WebGLRenderer: Float textures not supported.");null===tc&&console.log("THREE.WebGLRenderer: Standard derivatives not supported.");null===lb&&console.log("THREE.WebGLRenderer: Anisotropic texture filtering not supported.");null===Fa&&console.log("THREE.WebGLRenderer: S3TC compressed textures not supported.");null===Ra&&console.log("THREE.WebGLRenderer: PVRTC compressed textures not supported."); null===ub&&console.log("THREE.WebGLRenderer: elementindex as unsigned integer not supported.");null===Za&&console.log("THREE.WebGLRenderer: min max blend equations not supported.");void 0===l.getShaderPrecisionFormat&&(l.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}});Ja&&l.getExtension("EXT_frag_depth")})();l.clearColor(0,0,0,1);l.clearDepth(1);l.clearStencil(0);l.enable(l.DEPTH_TEST);l.depthFunc(l.LEQUAL);l.frontFace(l.CCW);l.cullFace(l.BACK);l.enable(l.CULL_FACE); -l.enable(l.BLEND);l.blendEquation(l.FUNC_ADD);l.blendFunc(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA);l.viewport(mc,ob,ib,Lb);l.clearColor(la.r,la.g,la.b,Ka);this.context=l;var Lc=l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS),Xc=l.getParameter(l.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Yc=l.getParameter(l.MAX_TEXTURE_SIZE),Wc=l.getParameter(l.MAX_CUBE_MAP_TEXTURE_SIZE),Qc=lb?l.getParameter(lb.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,hc=0b;b++)l.deleteFramebuffer(a.__webglFramebuffer[b]),l.deleteRenderbuffer(a.__webglRenderbuffer[b]);else l.deleteFramebuffer(a.__webglFramebuffer),l.deleteRenderbuffer(a.__webglRenderbuffer);J.info.memory.textures--},Jc=function(a){a=a.target;a.removeEventListener("dispose",Jc);Ic(a)},Tc=function(a){void 0!==a.__webglVertexBuffer&& -l.deleteBuffer(a.__webglVertexBuffer);void 0!==a.__webglNormalBuffer&&l.deleteBuffer(a.__webglNormalBuffer);void 0!==a.__webglTangentBuffer&&l.deleteBuffer(a.__webglTangentBuffer);void 0!==a.__webglColorBuffer&&l.deleteBuffer(a.__webglColorBuffer);void 0!==a.__webglUVBuffer&&l.deleteBuffer(a.__webglUVBuffer);void 0!==a.__webglUV2Buffer&&l.deleteBuffer(a.__webglUV2Buffer);void 0!==a.__webglSkinIndicesBuffer&&l.deleteBuffer(a.__webglSkinIndicesBuffer);void 0!==a.__webglSkinWeightsBuffer&&l.deleteBuffer(a.__webglSkinWeightsBuffer); -void 0!==a.__webglFaceBuffer&&l.deleteBuffer(a.__webglFaceBuffer);void 0!==a.__webglLineBuffer&&l.deleteBuffer(a.__webglLineBuffer);void 0!==a.__webglLineDistanceBuffer&&l.deleteBuffer(a.__webglLineDistanceBuffer);if(void 0!==a.__webglCustomAttributesList)for(var b in a.__webglCustomAttributesList)l.deleteBuffer(a.__webglCustomAttributesList[b].buffer);J.info.memory.geometries--},Ic=function(a){var b=a.program.program;if(void 0!==b){a.program=void 0;var c,d,e=!1;a=0;for(c=Wa.length;ad.numSupportedMorphTargets?(n.sort(p),n.length=d.numSupportedMorphTargets):n.length> -d.numSupportedMorphNormals?n.sort(p):0===n.length&&n.push([0,0]);for(q=0;qf;f++){a.__webglFramebuffer[f]=l.createFramebuffer();a.__webglRenderbuffer[f]=l.createRenderbuffer();l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+f,0,d,a.width, -a.height,0,d,e,null);var g=a,h=l.TEXTURE_CUBE_MAP_POSITIVE_X+f;l.bindFramebuffer(l.FRAMEBUFFER,a.__webglFramebuffer[f]);l.framebufferTexture2D(l.FRAMEBUFFER,l.COLOR_ATTACHMENT0,h,g.__webglTexture,0);W(a.__webglRenderbuffer[f],a)}c&&l.generateMipmap(l.TEXTURE_CUBE_MAP)}else a.__webglFramebuffer=l.createFramebuffer(),a.__webglRenderbuffer=a.shareDepthFrom?a.shareDepthFrom.__webglRenderbuffer:l.createRenderbuffer(),l.bindTexture(l.TEXTURE_2D,a.__webglTexture),O(l.TEXTURE_2D,a,c),l.texImage2D(l.TEXTURE_2D, +this.clear(b,c,d)};this.addPostPlugin=function(a){a.init(this,Da,ab,Ga);this.renderPluginsPost.push(a)};this.addPrePlugin=function(a){a.init(this,Da,ab,Ga);this.renderPluginsPre.push(a)};this.updateShadowMap=function(a,b){vb=null;tb=Ia=Yb=Fb=nb=-1;Wb=!0;mb=Kb=-1;this.shadowMapPlugin.update(a,b)};var Dc=function(a){a.target.traverse(function(a){a.removeEventListener("remove",Dc);if(a instanceof THREE.Mesh||a instanceof THREE.PointCloud||a instanceof THREE.Line)delete ab[a.id];else if(a instanceof THREE.ImmediateRenderObject|| +a.immediateRenderCallback)for(var b=Ga,c=b.length-1;0<=c;c--)b[c].object===a&&b.splice(c,1);delete a.__webglInit;delete a._modelViewMatrix;delete a._normalMatrix;delete a.__webglActive})},Ec=function(a){a=a.target;a.removeEventListener("dispose",Ec);delete a.__webglInit;if(a instanceof THREE.BufferGeometry){for(var b in a.attributes){var c=a.attributes[b];void 0!==c.buffer&&(l.deleteBuffer(c.buffer),delete c.buffer)}J.info.memory.geometries--}else if(void 0!==a.geometryGroups)for(b=0,c=a.geometryGroupsList.length;b< +c;b++){var d=a.geometryGroupsList[b];if(void 0!==d.numMorphTargets)for(var e=0,f=d.numMorphTargets;eb;b++)l.deleteFramebuffer(a.__webglFramebuffer[b]),l.deleteRenderbuffer(a.__webglRenderbuffer[b]);else l.deleteFramebuffer(a.__webglFramebuffer),l.deleteRenderbuffer(a.__webglRenderbuffer);J.info.memory.textures--},Jc=function(a){a=a.target;a.removeEventListener("dispose",Jc);Ic(a)},Tc=function(a){for(var b= +"__webglVertexBuffer __webglNormalBuffer __webglTangentBuffer __webglColorBuffer __webglUVBuffer __webglUV2Buffer __webglSkinIndicesBuffer __webglSkinWeightsBuffer __webglFaceBuffer __webglLineBuffer __webglLineDistanceBuffer".split(" "),c=0,d=b.length;cd.numSupportedMorphTargets?(n.sort(p),n.length=d.numSupportedMorphTargets):n.length>d.numSupportedMorphNormals?n.sort(p):0===n.length&&n.push([0,0]);for(q=0;qf;f++){a.__webglFramebuffer[f]=l.createFramebuffer();a.__webglRenderbuffer[f]=l.createRenderbuffer();l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+ +f,0,d,a.width,a.height,0,d,e,null);var g=a,h=l.TEXTURE_CUBE_MAP_POSITIVE_X+f;l.bindFramebuffer(l.FRAMEBUFFER,a.__webglFramebuffer[f]);l.framebufferTexture2D(l.FRAMEBUFFER,l.COLOR_ATTACHMENT0,h,g.__webglTexture,0);W(a.__webglRenderbuffer[f],a)}c&&l.generateMipmap(l.TEXTURE_CUBE_MAP)}else a.__webglFramebuffer=l.createFramebuffer(),a.__webglRenderbuffer=a.shareDepthFrom?a.shareDepthFrom.__webglRenderbuffer:l.createRenderbuffer(),l.bindTexture(l.TEXTURE_2D,a.__webglTexture),O(l.TEXTURE_2D,a,c),l.texImage2D(l.TEXTURE_2D, 0,d,a.width,a.height,0,d,e,null),d=l.TEXTURE_2D,l.bindFramebuffer(l.FRAMEBUFFER,a.__webglFramebuffer),l.framebufferTexture2D(l.FRAMEBUFFER,l.COLOR_ATTACHMENT0,d,a.__webglTexture,0),a.shareDepthFrom?a.depthBuffer&&!a.stencilBuffer?l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_ATTACHMENT,l.RENDERBUFFER,a.__webglRenderbuffer):a.depthBuffer&&a.stencilBuffer&&l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_STENCIL_ATTACHMENT,l.RENDERBUFFER,a.__webglRenderbuffer):W(a.__webglRenderbuffer,a),c&&l.generateMipmap(l.TEXTURE_2D); -b?l.bindTexture(l.TEXTURE_CUBE_MAP,null):l.bindTexture(l.TEXTURE_2D,null);l.bindRenderbuffer(l.RENDERBUFFER,null);l.bindFramebuffer(l.FRAMEBUFFER,null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=ib,a=Lb,d=mc,e=ob);b!==Zb&&(l.bindFramebuffer(l.FRAMEBUFFER,b),l.viewport(d,e,c,a),Zb=b);Gc=c;Hc=a};this.resetGLState=function(){Vb=vb=null;tb=Va=mb=Kb=Yb=Fb=nb=-1;Wb=!0};this.shadowMapPlugin=new THREE.ShadowMapPlugin;this.addPrePlugin(this.shadowMapPlugin); +b?l.bindTexture(l.TEXTURE_CUBE_MAP,null):l.bindTexture(l.TEXTURE_2D,null);l.bindRenderbuffer(l.RENDERBUFFER,null);l.bindFramebuffer(l.FRAMEBUFFER,null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=ib,a=Lb,d=mc,e=ob);b!==Zb&&(l.bindFramebuffer(l.FRAMEBUFFER,b),l.viewport(d,e,c,a),Zb=b);Gc=c;Hc=a};this.resetGLState=function(){Vb=vb=null;tb=Ia=mb=Kb=Yb=Fb=nb=-1;Wb=!0};this.shadowMapPlugin=new THREE.ShadowMapPlugin;this.addPrePlugin(this.shadowMapPlugin); this.addPostPlugin(new THREE.SpritePlugin);this.addPostPlugin(new THREE.LensFlarePlugin)}; THREE.WebGLRenderTarget=function(a,b,c){this.width=a;this.height=b;c=c||{};this.wrapS=void 0!==c.wrapS?c.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=void 0!==c.wrapT?c.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=void 0!==c.magFilter?c.magFilter:THREE.LinearFilter;this.minFilter=void 0!==c.minFilter?c.minFilter:THREE.LinearMipMapLinearFilter;this.anisotropy=void 0!==c.anisotropy?c.anisotropy:1;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=void 0!==c.format?c.format: THREE.RGBAFormat;this.type=void 0!==c.type?c.type:THREE.UnsignedByteType;this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.generateMipmaps=!0;this.shareDepthFrom=null}; -- GitLab