|
@@ -586,8 +586,9 @@ THREE.WebGLRenderTarget.prototype={constructor:THREE.WebGLRenderTarget,setSize:f
|
|
|
this.stencilBuffer;a.generateMipmaps=this.generateMipmaps;a.shareDepthFrom=this.shareDepthFrom;return a},dispose:function(){this.dispatchEvent({type:"dispose"})}};THREE.EventDispatcher.prototype.apply(THREE.WebGLRenderTarget.prototype);THREE.WebGLRenderTargetCube=function(a,b,c){THREE.WebGLRenderTarget.call(this,a,b,c);this.activeCubeFace=0};THREE.WebGLRenderTargetCube.prototype=Object.create(THREE.WebGLRenderTarget.prototype);THREE.WebGLRenderTargetCube.prototype.constructor=THREE.WebGLRenderTargetCube;
|
|
|
THREE.WebGLExtensions=function(a){var b={};this.get=function(c){if(void 0!==b[c])return b[c];var d;switch(c){case "EXT_texture_filter_anisotropic":d=a.getExtension("EXT_texture_filter_anisotropic")||a.getExtension("MOZ_EXT_texture_filter_anisotropic")||a.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case "WEBGL_compressed_texture_s3tc":d=a.getExtension("WEBGL_compressed_texture_s3tc")||a.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||a.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");
|
|
|
break;case "WEBGL_compressed_texture_pvrtc":d=a.getExtension("WEBGL_compressed_texture_pvrtc")||a.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:d=a.getExtension(c)}null===d&&console.warn("THREE.WebGLRenderer: "+c+" extension not supported.");return b[c]=d}};
|
|
|
-THREE.WebGLGeometries=function(a,b){function c(a){a=a.target;a.removeEventListener("dispose",c);delete d[a.id];b.memory.geometries--}var d={};this.get=function(a){var g=a.geometry;if(void 0!==d[g.id])return d[g.id];g.addEventListener("dispose",c);g instanceof THREE.BufferGeometry?d[g.id]=g:g instanceof THREE.Geometry&&(void 0===a._bufferGeometry&&(a._bufferGeometry=(new THREE.BufferGeometry).setFromObject(a)),d[g.id]=a._bufferGeometry);b.memory.geometries++;return d[g.id]}};
|
|
|
-THREE.WebGLObjects=function(a,b,c){function d(a){a.target.traverse(function(a){a.removeEventListener("remove",d);(a instanceof THREE.Mesh||a instanceof THREE.PointCloud||a instanceof THREE.Line)&&delete g[a.id];delete a._modelViewMatrix;delete a._normalMatrix;b.delete(a)})}function e(a,b){return b[0]-a[0]}var g={},f=new Float32Array(8),h=new THREE.WebGLGeometries(a,c);this.objects=g;this.geometries=h;this.init=function(a){var c=b.get(a);void 0===c.__webglInit&&(c.__webglInit=!0,a._modelViewMatrix=
|
|
|
+THREE.WebGLGeometries=function(a,b,c){function d(g){g=g.target;var f=e[g.id],h;for(h in f.attributes){var k=f.attributes[h],l;l=k;l=l instanceof THREE.InterleavedBufferAttribute?b.get(l.data).__webglBuffer:b.get(l).__webglBuffer;void 0!==l&&(a.deleteBuffer(l),k instanceof THREE.InterleavedBufferAttribute?b.delete(k.data):b.delete(k))}g.removeEventListener("dispose",d);delete e[g.id];c.memory.geometries--}var e={};this.get=function(a){var b=a.geometry;if(void 0!==e[b.id])return e[b.id];b.addEventListener("dispose",
|
|
|
+d);b instanceof THREE.BufferGeometry?e[b.id]=b:b instanceof THREE.Geometry&&(void 0===a._bufferGeometry&&(a._bufferGeometry=(new THREE.BufferGeometry).setFromObject(a)),e[b.id]=a._bufferGeometry);c.memory.geometries++;return e[b.id]}};
|
|
|
+THREE.WebGLObjects=function(a,b,c){function d(a){a.target.traverse(function(a){a.removeEventListener("remove",d);(a instanceof THREE.Mesh||a instanceof THREE.PointCloud||a instanceof THREE.Line)&&delete g[a.id];delete a._modelViewMatrix;delete a._normalMatrix;b.delete(a)})}function e(a,b){return b[0]-a[0]}var g={},f=new Float32Array(8),h=new THREE.WebGLGeometries(a,b,c);this.objects=g;this.geometries=h;this.init=function(a){var c=b.get(a);void 0===c.__webglInit&&(c.__webglInit=!0,a._modelViewMatrix=
|
|
|
new THREE.Matrix4,a._normalMatrix=new THREE.Matrix3,a.addEventListener("removed",d));void 0===c.__webglActive&&(c.__webglActive=!0,a instanceof THREE.Mesh||a instanceof THREE.Line||a instanceof THREE.PointCloud)&&(g[a.id]={id:a.id,object:a,z:0})};this.getAttributeBuffer=function(a){return a instanceof THREE.InterleavedBufferAttribute?b.get(a.data).__webglBuffer:b.get(a).__webglBuffer};this.update=function(c){for(var d=0,g=c.length;d<g;d++){var p=c[d].object;if(!1!==p.material.visible){var m=p,p=h.get(m);
|
|
|
m.geometry instanceof THREE.Geometry&&p.updateFromObject(m);if(void 0!==m.morphTargetInfluences){for(var q=[],r=m.morphTargetInfluences,s=0,u=r.length;s<u;s++)q.push([r[s],s]);q.sort(e);8<q.length&&(q.length=8);s=0;for(u=q.length;s<u;s++)f[s]=q[s][0],p.addAttribute("morphTarget"+s,p.morphAttributes[q[s][1]]);m=m.material;void 0!==m.program?(m=m.program.getUniforms(),null!==m.morphTargetInfluences&&a.uniform1fv(m.morphTargetInfluences,f)):console.warn("TOFIX: material.program is undefined")}p=p.attributes;
|
|
|
m=void 0;for(m in p)if(r=p[m],q="index"===m?a.ELEMENT_ARRAY_BUFFER:a.ARRAY_BUFFER,r=r instanceof THREE.InterleavedBufferAttribute?r.data:r,s=b.get(r),void 0===s.__webglBuffer){s.__webglBuffer=a.createBuffer();a.bindBuffer(q,s.__webglBuffer);u=a.STATIC_DRAW;if(r instanceof THREE.DynamicBufferAttribute||r instanceof THREE.InstancedBufferAttribute&&!0===r.dynamic||r instanceof THREE.InterleavedBuffer&&!0===r.dynamic)u=a.DYNAMIC_DRAW;a.bufferData(q,r.array,u);s.version=r.version}else s.version!==r.version&&
|