提交 837fa7f2 编写于 作者: M Mr.doob

Updated builds.

上级 052f81ab
...@@ -7472,6 +7472,7 @@ THREE.Object3D = function () { ...@@ -7472,6 +7472,7 @@ THREE.Object3D = function () {
this.receiveShadow = false; this.receiveShadow = false;
this.frustumCulled = true; this.frustumCulled = true;
this.renderOrder = 0;
this.userData = {}; this.userData = {};
...@@ -20973,7 +20974,11 @@ THREE.WebGLRenderer = function ( parameters ) { ...@@ -20973,7 +20974,11 @@ THREE.WebGLRenderer = function ( parameters ) {
function painterSortStable ( a, b ) { function painterSortStable ( a, b ) {
if ( a.material.id !== b.material.id ) { if ( a.renderOrder !== b.renderOrder ) {
return a.renderOrder - b.renderOrder;
} else if ( a.material.id !== b.material.id ) {
return a.material.id - b.material.id; return a.material.id - b.material.id;
...@@ -20991,7 +20996,11 @@ THREE.WebGLRenderer = function ( parameters ) { ...@@ -20991,7 +20996,11 @@ THREE.WebGLRenderer = function ( parameters ) {
function reversePainterSortStable ( a, b ) { function reversePainterSortStable ( a, b ) {
if ( a.z !== b.z ) { if ( a.renderOrder !== b.renderOrder ) {
return a.renderOrder - b.renderOrder;
} if ( a.z !== b.z ) {
return b.z - a.z; return b.z - a.z;
......
...@@ -157,7 +157,7 @@ c[a].push(b)},hasEventListener:function(a,b){if(void 0===this._listeners)return! ...@@ -157,7 +157,7 @@ c[a].push(b)},hasEventListener:function(a,b){if(void 0===this._listeners)return!
(this.ray.origin.copy(c.position),this.ray.direction.set(b.x,b.y,.5).unproject(c).sub(c.position).normalize()):c instanceof a.OrthographicCamera?(this.ray.origin.set(b.x,b.y,-1).unproject(c),this.ray.direction.set(0,0,-1).transformDirection(c.matrixWorld)):a.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(a,e){var f=[];c(a,this,f,e);f.sort(b);return f},intersectObjects:function(d,e){var f=[];if(!1===d instanceof Array)return a.warn("THREE.Raycaster.intersectObjects: objects is not an Array."), (this.ray.origin.copy(c.position),this.ray.direction.set(b.x,b.y,.5).unproject(c).sub(c.position).normalize()):c instanceof a.OrthographicCamera?(this.ray.origin.set(b.x,b.y,-1).unproject(c),this.ray.direction.set(0,0,-1).transformDirection(c.matrixWorld)):a.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(a,e){var f=[];c(a,this,f,e);f.sort(b);return f},intersectObjects:function(d,e){var f=[];if(!1===d instanceof Array)return a.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),
f;for(var g=0,h=d.length;g<h;g++)c(d[g],this,f,e);f.sort(b);return f}}})(THREE); f;for(var g=0,h=d.length;g<h;g++)c(d[g],this,f,e);f.sort(b);return f}}})(THREE);
THREE.Object3D=function(){Object.defineProperty(this,"id",{value:THREE.Object3DIdCount++});this.uuid=THREE.Math.generateUUID();this.name="";this.type="Object3D";this.parent=void 0;this.children=[];this.up=THREE.Object3D.DefaultUp.clone();var a=new THREE.Vector3,b=new THREE.Euler,c=new THREE.Quaternion,d=new THREE.Vector3(1,1,1);b.onChange(function(){c.setFromEuler(b,!1)});c.onChange(function(){b.setFromQuaternion(c,void 0,!1)});Object.defineProperties(this,{position:{enumerable:!0,value:a},rotation:{enumerable:!0, THREE.Object3D=function(){Object.defineProperty(this,"id",{value:THREE.Object3DIdCount++});this.uuid=THREE.Math.generateUUID();this.name="";this.type="Object3D";this.parent=void 0;this.children=[];this.up=THREE.Object3D.DefaultUp.clone();var a=new THREE.Vector3,b=new THREE.Euler,c=new THREE.Quaternion,d=new THREE.Vector3(1,1,1);b.onChange(function(){c.setFromEuler(b,!1)});c.onChange(function(){b.setFromQuaternion(c,void 0,!1)});Object.defineProperties(this,{position:{enumerable:!0,value:a},rotation:{enumerable:!0,
value:b},quaternion:{enumerable:!0,value:c},scale:{enumerable:!0,value:d}});this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixAutoUpdate=!0;this.matrixWorldNeedsUpdate=!1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this.userData={}};THREE.Object3D.DefaultUp=new THREE.Vector3(0,1,0); value:b},quaternion:{enumerable:!0,value:c},scale:{enumerable:!0,value:d}});this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixAutoUpdate=!0;this.matrixWorldNeedsUpdate=!1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this.renderOrder=0;this.userData={}};THREE.Object3D.DefaultUp=new THREE.Vector3(0,1,0);
THREE.Object3D.prototype={constructor:THREE.Object3D,get eulerOrder(){THREE.warn("THREE.Object3D: .eulerOrder has been moved to .rotation.order.");return this.rotation.order},set eulerOrder(a){THREE.warn("THREE.Object3D: .eulerOrder has been moved to .rotation.order.");this.rotation.order=a},get useQuaternion(){THREE.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set useQuaternion(a){THREE.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}, THREE.Object3D.prototype={constructor:THREE.Object3D,get eulerOrder(){THREE.warn("THREE.Object3D: .eulerOrder has been moved to .rotation.order.");return this.rotation.order},set eulerOrder(a){THREE.warn("THREE.Object3D: .eulerOrder has been moved to .rotation.order.");this.rotation.order=a},get useQuaternion(){THREE.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set useQuaternion(a){THREE.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},
applyMatrix:function(a){this.matrix.multiplyMatrices(a,this.matrix);this.matrix.decompose(this.position,this.quaternion,this.scale)},setRotationFromAxisAngle:function(a,b){this.quaternion.setFromAxisAngle(a,b)},setRotationFromEuler:function(a){this.quaternion.setFromEuler(a,!0)},setRotationFromMatrix:function(a){this.quaternion.setFromRotationMatrix(a)},setRotationFromQuaternion:function(a){this.quaternion.copy(a)},rotateOnAxis:function(){var a=new THREE.Quaternion;return function(b,c){a.setFromAxisAngle(b, applyMatrix:function(a){this.matrix.multiplyMatrices(a,this.matrix);this.matrix.decompose(this.position,this.quaternion,this.scale)},setRotationFromAxisAngle:function(a,b){this.quaternion.setFromAxisAngle(a,b)},setRotationFromEuler:function(a){this.quaternion.setFromEuler(a,!0)},setRotationFromMatrix:function(a){this.quaternion.setFromRotationMatrix(a)},setRotationFromQuaternion:function(a){this.quaternion.copy(a)},rotateOnAxis:function(){var a=new THREE.Quaternion;return function(b,c){a.setFromAxisAngle(b,
c);this.quaternion.multiply(a);return this}}(),rotateX:function(){var a=new THREE.Vector3(1,0,0);return function(b){return this.rotateOnAxis(a,b)}}(),rotateY:function(){var a=new THREE.Vector3(0,1,0);return function(b){return this.rotateOnAxis(a,b)}}(),rotateZ:function(){var a=new THREE.Vector3(0,0,1);return function(b){return this.rotateOnAxis(a,b)}}(),translateOnAxis:function(){var a=new THREE.Vector3;return function(b,c){a.copy(b).applyQuaternion(this.quaternion);this.position.add(a.multiplyScalar(c)); c);this.quaternion.multiply(a);return this}}(),rotateX:function(){var a=new THREE.Vector3(1,0,0);return function(b){return this.rotateOnAxis(a,b)}}(),rotateY:function(){var a=new THREE.Vector3(0,1,0);return function(b){return this.rotateOnAxis(a,b)}}(),rotateZ:function(){var a=new THREE.Vector3(0,0,1);return function(b){return this.rotateOnAxis(a,b)}}(),translateOnAxis:function(){var a=new THREE.Vector3;return function(b,c){a.copy(b).applyQuaternion(this.quaternion);this.position.add(a.multiplyScalar(c));
...@@ -439,138 +439,139 @@ THREE.ShaderChunk.logdepthbuf_vertex,"}"].join("\n"),fragmentShader:["uniform sa ...@@ -439,138 +439,139 @@ THREE.ShaderChunk.logdepthbuf_vertex,"}"].join("\n"),fragmentShader:["uniform sa
THREE.ShaderChunk.logdepthbuf_fragment,"\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tgl_FragData[ 0 ] = pack_depth( gl_FragDepthEXT );\n\t#else\n\t\tgl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n\t#endif\n}"].join("\n")}}; THREE.ShaderChunk.logdepthbuf_fragment,"\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tgl_FragData[ 0 ] = pack_depth( gl_FragDepthEXT );\n\t#else\n\t\tgl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n\t#endif\n}"].join("\n")}};
THREE.WebGLRenderer=function(a){function b(a){var b=a.geometry;a=a.material;var c=b.vertices.length;if(a.attributes){void 0===b.__webglCustomAttributesList&&(b.__webglCustomAttributesList=[]);for(var d in a.attributes){var e=a.attributes[d];if(!e.__webglInitialized||e.createUniqueBuffers){e.__webglInitialized=!0;var f=1;"v2"===e.type?f=2:"v3"===e.type?f=3:"v4"===e.type?f=4:"c"===e.type&&(f=3);e.size=f;e.array=new Float32Array(c*f);e.buffer=l.createBuffer();e.buffer.belongsToAttribute=d;e.needsUpdate= THREE.WebGLRenderer=function(a){function b(a){var b=a.geometry;a=a.material;var c=b.vertices.length;if(a.attributes){void 0===b.__webglCustomAttributesList&&(b.__webglCustomAttributesList=[]);for(var d in a.attributes){var e=a.attributes[d];if(!e.__webglInitialized||e.createUniqueBuffers){e.__webglInitialized=!0;var f=1;"v2"===e.type?f=2:"v3"===e.type?f=3:"v4"===e.type?f=4:"c"===e.type&&(f=3);e.size=f;e.array=new Float32Array(c*f);e.buffer=l.createBuffer();e.buffer.belongsToAttribute=d;e.needsUpdate=
!0}b.__webglCustomAttributesList.push(e)}}}function c(a,b){return a.material instanceof THREE.MeshFaceMaterial?a.material.materials[b.materialIndex]:a.material}function d(a,b,c,d){c=c.attributes;var e=b.attributes;b=b.attributesKeys;for(var h=0,k=b.length;h<k;h++){var m=b[h],p=e[m];if(0<=p){var n=c[m];void 0!==n?(m=n.itemSize,l.bindBuffer(l.ARRAY_BUFFER,n.buffer),f(p),l.vertexAttribPointer(p,m,l.FLOAT,!1,0,d*m*4)):void 0!==a.defaultAttributeValues&&(2===a.defaultAttributeValues[m].length?l.vertexAttrib2fv(p, !0}b.__webglCustomAttributesList.push(e)}}}function c(a,b){return a.material instanceof THREE.MeshFaceMaterial?a.material.materials[b.materialIndex]:a.material}function d(a,b,c,d){c=c.attributes;var e=b.attributes;b=b.attributesKeys;for(var h=0,k=b.length;h<k;h++){var m=b[h],p=e[m];if(0<=p){var n=c[m];void 0!==n?(m=n.itemSize,l.bindBuffer(l.ARRAY_BUFFER,n.buffer),f(p),l.vertexAttribPointer(p,m,l.FLOAT,!1,0,d*m*4)):void 0!==a.defaultAttributeValues&&(2===a.defaultAttributeValues[m].length?l.vertexAttrib2fv(p,
a.defaultAttributeValues[m]):3===a.defaultAttributeValues[m].length&&l.vertexAttrib3fv(p,a.defaultAttributeValues[m]))}}g()}function e(){for(var a=0,b=ob.length;a<b;a++)ob[a]=0}function f(a){ob[a]=1;0===Qa[a]&&(l.enableVertexAttribArray(a),Qa[a]=1)}function g(){for(var a=0,b=Qa.length;a<b;a++)Qa[a]!==ob[a]&&(l.disableVertexAttribArray(a),Qa[a]=0)}function h(a,b){return a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==b.z?a.z-b.z:a.id-b.id}function k(a,b){return a.z!==b.z?b.z-a.z:a.id- a.defaultAttributeValues[m]):3===a.defaultAttributeValues[m].length&&l.vertexAttrib3fv(p,a.defaultAttributeValues[m]))}}g()}function e(){for(var a=0,b=ob.length;a<b;a++)ob[a]=0}function f(a){ob[a]=1;0===Qa[a]&&(l.enableVertexAttribArray(a),Qa[a]=1)}function g(){for(var a=0,b=Qa.length;a<b;a++)Qa[a]!==ob[a]&&(l.disableVertexAttribArray(a),Qa[a]=0)}function h(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==b.z?a.z-
b.id}function p(a,b){return b[0]-a[0]}function n(a){if(!1!==a.visible){if(!(a instanceof THREE.Scene||a instanceof THREE.Group)){void 0===a.__webglInit&&(a.__webglInit=!0,a._modelViewMatrix=new THREE.Matrix4,a._normalMatrix=new THREE.Matrix3,a.addEventListener("removed",kc));var c=a.geometry;if(void 0!==c&&void 0===c.__webglInit)if(c.__webglInit=!0,c.addEventListener("dispose",lc),c instanceof THREE.BufferGeometry)B.info.memory.geometries++;else if(a instanceof THREE.Mesh)t(a,c);else if(a instanceof b.z:a.id-b.id}function k(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function p(a,b){return b[0]-a[0]}function n(a){if(!1!==a.visible){if(!(a instanceof THREE.Scene||a instanceof THREE.Group)){void 0===a.__webglInit&&(a.__webglInit=!0,a._modelViewMatrix=new THREE.Matrix4,a._normalMatrix=new THREE.Matrix3,a.addEventListener("removed",kc));var c=a.geometry;if(void 0!==c&&void 0===c.__webglInit)if(c.__webglInit=!0,c.addEventListener("dispose",lc),
THREE.Line){if(void 0===c.__webglVertexBuffer){c.__webglVertexBuffer=l.createBuffer();c.__webglColorBuffer=l.createBuffer();c.__webglLineDistanceBuffer=l.createBuffer();B.info.memory.geometries++;var d=c.vertices.length;c.__vertexArray=new Float32Array(3*d);c.__colorArray=new Float32Array(3*d);c.__lineDistanceArray=new Float32Array(1*d);c.__webglLineCount=d;b(a);c.verticesNeedUpdate=!0;c.colorsNeedUpdate=!0;c.lineDistancesNeedUpdate=!0}}else a instanceof THREE.PointCloud&&void 0===c.__webglVertexBuffer&& c instanceof THREE.BufferGeometry)B.info.memory.geometries++;else if(a instanceof THREE.Mesh)t(a,c);else if(a instanceof THREE.Line){if(void 0===c.__webglVertexBuffer){c.__webglVertexBuffer=l.createBuffer();c.__webglColorBuffer=l.createBuffer();c.__webglLineDistanceBuffer=l.createBuffer();B.info.memory.geometries++;var d=c.vertices.length;c.__vertexArray=new Float32Array(3*d);c.__colorArray=new Float32Array(3*d);c.__lineDistanceArray=new Float32Array(1*d);c.__webglLineCount=d;b(a);c.verticesNeedUpdate=
(c.__webglVertexBuffer=l.createBuffer(),c.__webglColorBuffer=l.createBuffer(),B.info.memory.geometries++,d=c.vertices.length,c.__vertexArray=new Float32Array(3*d),c.__colorArray=new Float32Array(3*d),c.__sortArray=[],c.__webglParticleCount=d,b(a),c.verticesNeedUpdate=!0,c.colorsNeedUpdate=!0);if(void 0===a.__webglActive)if(a.__webglActive=!0,a instanceof THREE.Mesh)if(c instanceof THREE.BufferGeometry)r(ya,c,a);else{if(c instanceof THREE.Geometry)for(var c=fb[c.id],d=0,e=c.length;d<e;d++)r(ya,c[d], !0;c.colorsNeedUpdate=!0;c.lineDistancesNeedUpdate=!0}}else a instanceof THREE.PointCloud&&void 0===c.__webglVertexBuffer&&(c.__webglVertexBuffer=l.createBuffer(),c.__webglColorBuffer=l.createBuffer(),B.info.memory.geometries++,d=c.vertices.length,c.__vertexArray=new Float32Array(3*d),c.__colorArray=new Float32Array(3*d),c.__sortArray=[],c.__webglParticleCount=d,b(a),c.verticesNeedUpdate=!0,c.colorsNeedUpdate=!0);if(void 0===a.__webglActive)if(a.__webglActive=!0,a instanceof THREE.Mesh)if(c instanceof
a)}else a instanceof THREE.Line||a instanceof THREE.PointCloud?r(ya,c,a):(a instanceof THREE.ImmediateRenderObject||a.immediateRenderCallback)&&Ma.push({id:null,object:a,opaque:null,transparent:null,z:0});if(a instanceof THREE.Light)xa.push(a);else if(a instanceof THREE.Sprite)Da.push(a);else if(a instanceof THREE.LensFlare)pb.push(a);else if((c=ya[a.id])&&(!1===a.frustumCulled||!0===hb.intersectsObject(a)))for(d=0,e=c.length;d<e;d++){var f=c[d],g=f,h=g.object,k=g.buffer,m=h.geometry,h=h.material; THREE.BufferGeometry)r(ya,c,a);else{if(c instanceof THREE.Geometry)for(var c=fb[c.id],d=0,e=c.length;d<e;d++)r(ya,c[d],a)}else a instanceof THREE.Line||a instanceof THREE.PointCloud?r(ya,c,a):(a instanceof THREE.ImmediateRenderObject||a.immediateRenderCallback)&&Ma.push({id:null,object:a,opaque:null,transparent:null,z:0});if(a instanceof THREE.Light)xa.push(a);else if(a instanceof THREE.Sprite)Da.push(a);else if(a instanceof THREE.LensFlare)pb.push(a);else if((c=ya[a.id])&&(!1===a.frustumCulled||
h instanceof THREE.MeshFaceMaterial?(h=h.materials[m instanceof THREE.BufferGeometry?0:k.materialIndex],g.material=h,h.transparent?Ra.push(g):Ea.push(g)):h&&(g.material=h,h.transparent?Ra.push(g):Ea.push(g));f.render=!0;!0===B.sortObjects&&(Aa.setFromMatrixPosition(a.matrixWorld),Aa.applyProjection(ub),f.z=Aa.z)}}d=0;for(e=a.children.length;d<e;d++)n(a.children[d])}}function q(a,b,c,d,e,f){for(var g,h=0,l=a.length;h<l;h++){g=a[h];var k=g.object,m=g.buffer;A(k,b);if(f)g=f;else{g=g.material;if(!g)continue; !0===hb.intersectsObject(a)))for(d=0,e=c.length;d<e;d++){var f=c[d],g=f,h=g.object,k=g.buffer,m=h.geometry,h=h.material;h instanceof THREE.MeshFaceMaterial?(h=h.materials[m instanceof THREE.BufferGeometry?0:k.materialIndex],g.material=h,h.transparent?Ra.push(g):Ea.push(g)):h&&(g.material=h,h.transparent?Ra.push(g):Ea.push(g));f.render=!0;!0===B.sortObjects&&(Aa.setFromMatrixPosition(a.matrixWorld),Aa.applyProjection(ub),f.z=Aa.z)}}d=0;for(e=a.children.length;d<e;d++)n(a.children[d])}}function q(a,
e&&B.setBlending(g.blending,g.blendEquation,g.blendSrc,g.blendDst,g.blendEquationAlpha,g.blendSrcAlpha,g.blendDstAlpha);B.setDepthTest(g.depthTest);B.setDepthWrite(g.depthWrite);E(g.polygonOffset,g.polygonOffsetFactor,g.polygonOffsetUnits)}B.setMaterialFaces(g);m instanceof THREE.BufferGeometry?B.renderBufferDirect(b,c,d,g,m,k):B.renderBuffer(b,c,d,g,m,k)}}function m(a,b,c,d,e,f,g){for(var h,l=0,k=a.length;l<k;l++){h=a[l];var m=h.object;if(m.visible){if(g)h=g;else{h=h[b];if(!h)continue;f&&B.setBlending(h.blending, b,c,d,e,f){for(var g,h=0,l=a.length;h<l;h++){g=a[h];var k=g.object,m=g.buffer;A(k,b);if(f)g=f;else{g=g.material;if(!g)continue;e&&B.setBlending(g.blending,g.blendEquation,g.blendSrc,g.blendDst,g.blendEquationAlpha,g.blendSrcAlpha,g.blendDstAlpha);B.setDepthTest(g.depthTest);B.setDepthWrite(g.depthWrite);E(g.polygonOffset,g.polygonOffsetFactor,g.polygonOffsetUnits)}B.setMaterialFaces(g);m instanceof THREE.BufferGeometry?B.renderBufferDirect(b,c,d,g,m,k):B.renderBuffer(b,c,d,g,m,k)}}function m(a,b,
h.blendEquation,h.blendSrc,h.blendDst,h.blendEquationAlpha,h.blendSrcAlpha,h.blendDstAlpha);B.setDepthTest(h.depthTest);B.setDepthWrite(h.depthWrite);E(h.polygonOffset,h.polygonOffsetFactor,h.polygonOffsetUnits)}B.renderImmediateObject(c,d,e,h,m)}}}function s(a){var b=a.object.material;b.transparent?(a.transparent=b,a.opaque=null):(a.opaque=b,a.transparent=null)}function t(a,b){var d=a.material,e=!1;if(void 0===fb[b.id]||!0===b.groupsNeedUpdate){delete ya[a.id];for(var f=fb,g=b.id,d=d instanceof THREE.MeshFaceMaterial, c,d,e,f,g){for(var h,l=0,k=a.length;l<k;l++){h=a[l];var m=h.object;if(m.visible){if(g)h=g;else{h=h[b];if(!h)continue;f&&B.setBlending(h.blending,h.blendEquation,h.blendSrc,h.blendDst,h.blendEquationAlpha,h.blendSrcAlpha,h.blendDstAlpha);B.setDepthTest(h.depthTest);B.setDepthWrite(h.depthWrite);E(h.polygonOffset,h.polygonOffsetFactor,h.polygonOffsetUnits)}B.renderImmediateObject(c,d,e,h,m)}}}function s(a){var b=a.object.material;b.transparent?(a.transparent=b,a.opaque=null):(a.opaque=b,a.transparent=
h=aa.get("OES_element_index_uint")?4294967296:65535,k,e={},m=b.morphTargets.length,p=b.morphNormals.length,n,q={},s=[],t=0,u=b.faces.length;t<u;t++){k=b.faces[t];var v=d?k.materialIndex:0;v in e||(e[v]={hash:v,counter:0});k=e[v].hash+"_"+e[v].counter;k in q||(n={id:mc++,faces3:[],materialIndex:v,vertices:0,numMorphTargets:m,numMorphNormals:p},q[k]=n,s.push(n));q[k].vertices+3>h&&(e[v].counter+=1,k=e[v].hash+"_"+e[v].counter,k in q||(n={id:mc++,faces3:[],materialIndex:v,vertices:0,numMorphTargets:m, null)}function t(a,b){var d=a.material,e=!1;if(void 0===fb[b.id]||!0===b.groupsNeedUpdate){delete ya[a.id];for(var f=fb,g=b.id,d=d instanceof THREE.MeshFaceMaterial,h=aa.get("OES_element_index_uint")?4294967296:65535,k,e={},m=b.morphTargets.length,p=b.morphNormals.length,n,q={},s=[],t=0,u=b.faces.length;t<u;t++){k=b.faces[t];var v=d?k.materialIndex:0;v in e||(e[v]={hash:v,counter:0});k=e[v].hash+"_"+e[v].counter;k in q||(n={id:mc++,faces3:[],materialIndex:v,vertices:0,numMorphTargets:m,numMorphNormals:p},
numMorphNormals:p},q[k]=n,s.push(n)));q[k].faces3.push(t);q[k].vertices+=3}f[g]=s;b.groupsNeedUpdate=!1}f=fb[b.id];g=0;for(d=f.length;g<d;g++){h=f[g];if(void 0===h.__webglVertexBuffer){e=h;e.__webglVertexBuffer=l.createBuffer();e.__webglNormalBuffer=l.createBuffer();e.__webglTangentBuffer=l.createBuffer();e.__webglColorBuffer=l.createBuffer();e.__webglUVBuffer=l.createBuffer();e.__webglUV2Buffer=l.createBuffer();e.__webglSkinIndicesBuffer=l.createBuffer();e.__webglSkinWeightsBuffer=l.createBuffer(); q[k]=n,s.push(n));q[k].vertices+3>h&&(e[v].counter+=1,k=e[v].hash+"_"+e[v].counter,k in q||(n={id:mc++,faces3:[],materialIndex:v,vertices:0,numMorphTargets:m,numMorphNormals:p},q[k]=n,s.push(n)));q[k].faces3.push(t);q[k].vertices+=3}f[g]=s;b.groupsNeedUpdate=!1}f=fb[b.id];g=0;for(d=f.length;g<d;g++){h=f[g];if(void 0===h.__webglVertexBuffer){e=h;e.__webglVertexBuffer=l.createBuffer();e.__webglNormalBuffer=l.createBuffer();e.__webglTangentBuffer=l.createBuffer();e.__webglColorBuffer=l.createBuffer();
e.__webglFaceBuffer=l.createBuffer();e.__webglLineBuffer=l.createBuffer();if(p=e.numMorphTargets)for(e.__webglMorphTargetsBuffers=[],m=0;m<p;m++)e.__webglMorphTargetsBuffers.push(l.createBuffer());if(p=e.numMorphNormals)for(e.__webglMorphNormalsBuffers=[],m=0;m<p;m++)e.__webglMorphNormalsBuffers.push(l.createBuffer());B.info.memory.geometries++;e=h;t=a;u=t.geometry;p=e.faces3;m=3*p.length;q=1*p.length;s=3*p.length;p=c(t,e);e.__vertexArray=new Float32Array(3*m);e.__normalArray=new Float32Array(3*m); e.__webglUVBuffer=l.createBuffer();e.__webglUV2Buffer=l.createBuffer();e.__webglSkinIndicesBuffer=l.createBuffer();e.__webglSkinWeightsBuffer=l.createBuffer();e.__webglFaceBuffer=l.createBuffer();e.__webglLineBuffer=l.createBuffer();if(p=e.numMorphTargets)for(e.__webglMorphTargetsBuffers=[],m=0;m<p;m++)e.__webglMorphTargetsBuffers.push(l.createBuffer());if(p=e.numMorphNormals)for(e.__webglMorphNormalsBuffers=[],m=0;m<p;m++)e.__webglMorphNormalsBuffers.push(l.createBuffer());B.info.memory.geometries++;
e.__colorArray=new Float32Array(3*m);e.__uvArray=new Float32Array(2*m);1<u.faceVertexUvs.length&&(e.__uv2Array=new Float32Array(2*m));u.hasTangents&&(e.__tangentArray=new Float32Array(4*m));t.geometry.skinWeights.length&&t.geometry.skinIndices.length&&(e.__skinIndexArray=new Float32Array(4*m),e.__skinWeightArray=new Float32Array(4*m));t=null!==aa.get("OES_element_index_uint")&&21845<q?Uint32Array:Uint16Array;e.__typeArray=t;e.__faceArray=new t(3*q);e.__lineArray=new t(2*s);if(u=e.numMorphTargets)for(e.__morphTargetsArrays= e=h;t=a;u=t.geometry;p=e.faces3;m=3*p.length;q=1*p.length;s=3*p.length;p=c(t,e);e.__vertexArray=new Float32Array(3*m);e.__normalArray=new Float32Array(3*m);e.__colorArray=new Float32Array(3*m);e.__uvArray=new Float32Array(2*m);1<u.faceVertexUvs.length&&(e.__uv2Array=new Float32Array(2*m));u.hasTangents&&(e.__tangentArray=new Float32Array(4*m));t.geometry.skinWeights.length&&t.geometry.skinIndices.length&&(e.__skinIndexArray=new Float32Array(4*m),e.__skinWeightArray=new Float32Array(4*m));t=null!==
[],t=0;t<u;t++)e.__morphTargetsArrays.push(new Float32Array(3*m));if(u=e.numMorphNormals)for(e.__morphNormalsArrays=[],t=0;t<u;t++)e.__morphNormalsArrays.push(new Float32Array(3*m));e.__webglFaceCount=3*q;e.__webglLineCount=2*s;if(p.attributes)for(q in void 0===e.__webglCustomAttributesList&&(e.__webglCustomAttributesList=[]),q=void 0,p.attributes){var s=p.attributes[q],t={},w;for(w in s)t[w]=s[w];if(!t.__webglInitialized||t.createUniqueBuffers)t.__webglInitialized=!0,u=1,"v2"===t.type?u=2:"v3"=== aa.get("OES_element_index_uint")&&21845<q?Uint32Array:Uint16Array;e.__typeArray=t;e.__faceArray=new t(3*q);e.__lineArray=new t(2*s);if(u=e.numMorphTargets)for(e.__morphTargetsArrays=[],t=0;t<u;t++)e.__morphTargetsArrays.push(new Float32Array(3*m));if(u=e.numMorphNormals)for(e.__morphNormalsArrays=[],t=0;t<u;t++)e.__morphNormalsArrays.push(new Float32Array(3*m));e.__webglFaceCount=3*q;e.__webglLineCount=2*s;if(p.attributes)for(q in void 0===e.__webglCustomAttributesList&&(e.__webglCustomAttributesList=
t.type?u=3:"v4"===t.type?u=4:"c"===t.type&&(u=3),t.size=u,t.array=new Float32Array(m*u),t.buffer=l.createBuffer(),t.buffer.belongsToAttribute=q,s.needsUpdate=!0,t.__original=s;e.__webglCustomAttributesList.push(t)}e.__inittedArrays=!0;b.verticesNeedUpdate=!0;b.morphTargetsNeedUpdate=!0;b.elementsNeedUpdate=!0;b.uvsNeedUpdate=!0;b.normalsNeedUpdate=!0;b.tangentsNeedUpdate=!0;e=b.colorsNeedUpdate=!0}else e=!1;(e||void 0===a.__webglActive)&&r(ya,h,a)}a.__webglActive=!0}function r(a,b,c){var d=c.id;a[d]= []),q=void 0,p.attributes){var s=p.attributes[q],t={},w;for(w in s)t[w]=s[w];if(!t.__webglInitialized||t.createUniqueBuffers)t.__webglInitialized=!0,u=1,"v2"===t.type?u=2:"v3"===t.type?u=3:"v4"===t.type?u=4:"c"===t.type&&(u=3),t.size=u,t.array=new Float32Array(m*u),t.buffer=l.createBuffer(),t.buffer.belongsToAttribute=q,s.needsUpdate=!0,t.__original=s;e.__webglCustomAttributesList.push(t)}e.__inittedArrays=!0;b.verticesNeedUpdate=!0;b.morphTargetsNeedUpdate=!0;b.elementsNeedUpdate=!0;b.uvsNeedUpdate=
a[d]||[];a[d].push({id:d,buffer:b,object:c,material:null,z:0})}function u(a){var b=a.geometry;if(b instanceof THREE.BufferGeometry)for(var d=b.attributes,e=b.attributesKeys,f=0,g=e.length;f<g;f++){var h=e[f],k=d[h],m="index"===h?l.ELEMENT_ARRAY_BUFFER:l.ARRAY_BUFFER;void 0===k.buffer?(k.buffer=l.createBuffer(),l.bindBuffer(m,k.buffer),l.bufferData(m,k.array,k instanceof THREE.DynamicBufferAttribute?l.DYNAMIC_DRAW:l.STATIC_DRAW),k.needsUpdate=!1):!0===k.needsUpdate&&(l.bindBuffer(m,k.buffer),void 0=== !0;b.normalsNeedUpdate=!0;b.tangentsNeedUpdate=!0;e=b.colorsNeedUpdate=!0}else e=!1;(e||void 0===a.__webglActive)&&r(ya,h,a)}a.__webglActive=!0}function r(a,b,c){var d=c.id;a[d]=a[d]||[];a[d].push({id:d,buffer:b,object:c,material:null,z:0})}function u(a){var b=a.geometry;if(b instanceof THREE.BufferGeometry)for(var d=b.attributes,e=b.attributesKeys,f=0,g=e.length;f<g;f++){var h=e[f],k=d[h],m="index"===h?l.ELEMENT_ARRAY_BUFFER:l.ARRAY_BUFFER;void 0===k.buffer?(k.buffer=l.createBuffer(),l.bindBuffer(m,
k.updateRange||-1===k.updateRange.count?l.bufferSubData(m,0,k.array):0===k.updateRange.count?console.error("THREE.WebGLRenderer.updateObject: using updateRange for THREE.DynamicBufferAttribute and marked as needsUpdate but count is 0, ensure you are using set methods or updating manually."):(l.bufferSubData(m,k.updateRange.offset*k.array.BYTES_PER_ELEMENT,k.array.subarray(k.updateRange.offset,k.updateRange.offset+k.updateRange.count)),k.updateRange.count=0),k.needsUpdate=!1)}else if(a instanceof THREE.Mesh){!0=== k.buffer),l.bufferData(m,k.array,k instanceof THREE.DynamicBufferAttribute?l.DYNAMIC_DRAW:l.STATIC_DRAW),k.needsUpdate=!1):!0===k.needsUpdate&&(l.bindBuffer(m,k.buffer),void 0===k.updateRange||-1===k.updateRange.count?l.bufferSubData(m,0,k.array):0===k.updateRange.count?console.error("THREE.WebGLRenderer.updateObject: using updateRange for THREE.DynamicBufferAttribute and marked as needsUpdate but count is 0, ensure you are using set methods or updating manually."):(l.bufferSubData(m,k.updateRange.offset*
b.groupsNeedUpdate&&t(a,b);for(var p=fb[b.id],f=0,n=p.length;f<n;f++){var q=p[f],r=c(a,q),s=r.attributes&&v(r);if(b.verticesNeedUpdate||b.morphTargetsNeedUpdate||b.elementsNeedUpdate||b.uvsNeedUpdate||b.normalsNeedUpdate||b.colorsNeedUpdate||b.tangentsNeedUpdate||s){var u=q,w=a,C=l.DYNAMIC_DRAW,A=!b.dynamic,F=r;if(u.__inittedArrays){var G=F&&void 0!==F.shading&&F.shading===THREE.SmoothShading,y=void 0,z=void 0,E=void 0,B=void 0,L=void 0,P=void 0,O=void 0,K=void 0,M=void 0,S=void 0,Q=void 0,J=void 0, k.array.BYTES_PER_ELEMENT,k.array.subarray(k.updateRange.offset,k.updateRange.offset+k.updateRange.count)),k.updateRange.count=0),k.needsUpdate=!1)}else if(a instanceof THREE.Mesh){!0===b.groupsNeedUpdate&&t(a,b);for(var p=fb[b.id],f=0,n=p.length;f<n;f++){var q=p[f],r=c(a,q),s=r.attributes&&v(r);if(b.verticesNeedUpdate||b.morphTargetsNeedUpdate||b.elementsNeedUpdate||b.uvsNeedUpdate||b.normalsNeedUpdate||b.colorsNeedUpdate||b.tangentsNeedUpdate||s){var u=q,w=a,C=l.DYNAMIC_DRAW,A=!b.dynamic,F=r;if(u.__inittedArrays){var G=
I=void 0,N=void 0,V=void 0,ta=void 0,ya=void 0,Ma=void 0,xa=void 0,aa=void 0,Ea=void 0,ca=void 0,Da=void 0,Ra=void 0,ga=void 0,R=void 0,la=void 0,fa=void 0,ja=void 0,X=void 0,pb=void 0,pa=void 0,ma=void 0,cb=void 0,Fa=void 0,Aa=void 0,Ga=void 0,Xa=void 0,ka=void 0,qa=void 0,Sa=0,Ta=0,qb=0,ua=0,La=0,Ya=0,Ba=0,ib=0,Na=0,ha=0,na=0,H=0,za=void 0,Za=u.__vertexArray,Qa=u.__uvArray,rb=u.__uv2Array,Ua=u.__normalArray,oa=u.__tangentArray,Ha=u.__colorArray,Ia=u.__skinIndexArray,Ja=u.__skinWeightArray,nc=u.__morphTargetsArrays, F&&void 0!==F.shading&&F.shading===THREE.SmoothShading,y=void 0,z=void 0,E=void 0,B=void 0,L=void 0,P=void 0,O=void 0,K=void 0,M=void 0,S=void 0,Q=void 0,J=void 0,I=void 0,N=void 0,V=void 0,ta=void 0,ya=void 0,Ma=void 0,xa=void 0,aa=void 0,Ea=void 0,ca=void 0,Da=void 0,Ra=void 0,ga=void 0,R=void 0,la=void 0,fa=void 0,ja=void 0,X=void 0,pb=void 0,pa=void 0,ma=void 0,cb=void 0,Fa=void 0,Aa=void 0,Ga=void 0,Xa=void 0,ka=void 0,qa=void 0,Sa=0,Ta=0,qb=0,ua=0,La=0,Ya=0,Ba=0,ib=0,Na=0,ha=0,na=0,H=0,za=void 0,
Ab=u.__morphNormalsArrays,sb=u.__webglCustomAttributesList,D=void 0,ab=u.__faceArray,$a=u.__lineArray,ba=w.geometry,jb=ba.elementsNeedUpdate,xb=ba.uvsNeedUpdate,Fb=ba.normalsNeedUpdate,ob=ba.tangentsNeedUpdate,Nb=ba.colorsNeedUpdate,vb=ba.morphTargetsNeedUpdate,Bb=ba.vertices,Z=u.faces3,va=ba.faces,Ib=ba.faceVertexUvs[0],Va=ba.faceVertexUvs[1],gb=ba.skinIndices,Ka=ba.skinWeights,tb=ba.morphTargets,Gb=ba.morphNormals;if(ba.verticesNeedUpdate){y=0;for(z=Z.length;y<z;y++)B=va[Z[y]],J=Bb[B.a],I=Bb[B.b], Za=u.__vertexArray,Qa=u.__uvArray,rb=u.__uv2Array,Ua=u.__normalArray,oa=u.__tangentArray,Ha=u.__colorArray,Ia=u.__skinIndexArray,Ja=u.__skinWeightArray,nc=u.__morphTargetsArrays,Ab=u.__morphNormalsArrays,sb=u.__webglCustomAttributesList,D=void 0,ab=u.__faceArray,$a=u.__lineArray,ba=w.geometry,jb=ba.elementsNeedUpdate,xb=ba.uvsNeedUpdate,Fb=ba.normalsNeedUpdate,ob=ba.tangentsNeedUpdate,Nb=ba.colorsNeedUpdate,vb=ba.morphTargetsNeedUpdate,Bb=ba.vertices,Z=u.faces3,va=ba.faces,Ib=ba.faceVertexUvs[0],
N=Bb[B.c],Za[Ta]=J.x,Za[Ta+1]=J.y,Za[Ta+2]=J.z,Za[Ta+3]=I.x,Za[Ta+4]=I.y,Za[Ta+5]=I.z,Za[Ta+6]=N.x,Za[Ta+7]=N.y,Za[Ta+8]=N.z,Ta+=9;l.bindBuffer(l.ARRAY_BUFFER,u.__webglVertexBuffer);l.bufferData(l.ARRAY_BUFFER,Za,C)}if(vb)for(Fa=0,Aa=tb.length;Fa<Aa;Fa++){y=na=0;for(z=Z.length;y<z;y++)ka=Z[y],B=va[ka],J=tb[Fa].vertices[B.a],I=tb[Fa].vertices[B.b],N=tb[Fa].vertices[B.c],Ga=nc[Fa],Ga[na]=J.x,Ga[na+1]=J.y,Ga[na+2]=J.z,Ga[na+3]=I.x,Ga[na+4]=I.y,Ga[na+5]=I.z,Ga[na+6]=N.x,Ga[na+7]=N.y,Ga[na+8]=N.z,F.morphNormals&& Va=ba.faceVertexUvs[1],gb=ba.skinIndices,Ka=ba.skinWeights,tb=ba.morphTargets,Gb=ba.morphNormals;if(ba.verticesNeedUpdate){y=0;for(z=Z.length;y<z;y++)B=va[Z[y]],J=Bb[B.a],I=Bb[B.b],N=Bb[B.c],Za[Ta]=J.x,Za[Ta+1]=J.y,Za[Ta+2]=J.z,Za[Ta+3]=I.x,Za[Ta+4]=I.y,Za[Ta+5]=I.z,Za[Ta+6]=N.x,Za[Ta+7]=N.y,Za[Ta+8]=N.z,Ta+=9;l.bindBuffer(l.ARRAY_BUFFER,u.__webglVertexBuffer);l.bufferData(l.ARRAY_BUFFER,Za,C)}if(vb)for(Fa=0,Aa=tb.length;Fa<Aa;Fa++){y=na=0;for(z=Z.length;y<z;y++)ka=Z[y],B=va[ka],J=tb[Fa].vertices[B.a],
(G?(qa=Gb[Fa].vertexNormals[ka],Ma=qa.a,xa=qa.b,aa=qa.c):aa=xa=Ma=Gb[Fa].faceNormals[ka],Xa=Ab[Fa],Xa[na]=Ma.x,Xa[na+1]=Ma.y,Xa[na+2]=Ma.z,Xa[na+3]=xa.x,Xa[na+4]=xa.y,Xa[na+5]=xa.z,Xa[na+6]=aa.x,Xa[na+7]=aa.y,Xa[na+8]=aa.z),na+=9;l.bindBuffer(l.ARRAY_BUFFER,u.__webglMorphTargetsBuffers[Fa]);l.bufferData(l.ARRAY_BUFFER,nc[Fa],C);F.morphNormals&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglMorphNormalsBuffers[Fa]),l.bufferData(l.ARRAY_BUFFER,Ab[Fa],C))}if(Ka.length){y=0;for(z=Z.length;y<z;y++)B=va[Z[y]],Ra= I=tb[Fa].vertices[B.b],N=tb[Fa].vertices[B.c],Ga=nc[Fa],Ga[na]=J.x,Ga[na+1]=J.y,Ga[na+2]=J.z,Ga[na+3]=I.x,Ga[na+4]=I.y,Ga[na+5]=I.z,Ga[na+6]=N.x,Ga[na+7]=N.y,Ga[na+8]=N.z,F.morphNormals&&(G?(qa=Gb[Fa].vertexNormals[ka],Ma=qa.a,xa=qa.b,aa=qa.c):aa=xa=Ma=Gb[Fa].faceNormals[ka],Xa=Ab[Fa],Xa[na]=Ma.x,Xa[na+1]=Ma.y,Xa[na+2]=Ma.z,Xa[na+3]=xa.x,Xa[na+4]=xa.y,Xa[na+5]=xa.z,Xa[na+6]=aa.x,Xa[na+7]=aa.y,Xa[na+8]=aa.z),na+=9;l.bindBuffer(l.ARRAY_BUFFER,u.__webglMorphTargetsBuffers[Fa]);l.bufferData(l.ARRAY_BUFFER,
Ka[B.a],ga=Ka[B.b],R=Ka[B.c],Ja[ha]=Ra.x,Ja[ha+1]=Ra.y,Ja[ha+2]=Ra.z,Ja[ha+3]=Ra.w,Ja[ha+4]=ga.x,Ja[ha+5]=ga.y,Ja[ha+6]=ga.z,Ja[ha+7]=ga.w,Ja[ha+8]=R.x,Ja[ha+9]=R.y,Ja[ha+10]=R.z,Ja[ha+11]=R.w,la=gb[B.a],fa=gb[B.b],ja=gb[B.c],Ia[ha]=la.x,Ia[ha+1]=la.y,Ia[ha+2]=la.z,Ia[ha+3]=la.w,Ia[ha+4]=fa.x,Ia[ha+5]=fa.y,Ia[ha+6]=fa.z,Ia[ha+7]=fa.w,Ia[ha+8]=ja.x,Ia[ha+9]=ja.y,Ia[ha+10]=ja.z,Ia[ha+11]=ja.w,ha+=12;0<ha&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglSkinIndicesBuffer),l.bufferData(l.ARRAY_BUFFER,Ia,C),l.bindBuffer(l.ARRAY_BUFFER, nc[Fa],C);F.morphNormals&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglMorphNormalsBuffers[Fa]),l.bufferData(l.ARRAY_BUFFER,Ab[Fa],C))}if(Ka.length){y=0;for(z=Z.length;y<z;y++)B=va[Z[y]],Ra=Ka[B.a],ga=Ka[B.b],R=Ka[B.c],Ja[ha]=Ra.x,Ja[ha+1]=Ra.y,Ja[ha+2]=Ra.z,Ja[ha+3]=Ra.w,Ja[ha+4]=ga.x,Ja[ha+5]=ga.y,Ja[ha+6]=ga.z,Ja[ha+7]=ga.w,Ja[ha+8]=R.x,Ja[ha+9]=R.y,Ja[ha+10]=R.z,Ja[ha+11]=R.w,la=gb[B.a],fa=gb[B.b],ja=gb[B.c],Ia[ha]=la.x,Ia[ha+1]=la.y,Ia[ha+2]=la.z,Ia[ha+3]=la.w,Ia[ha+4]=fa.x,Ia[ha+5]=fa.y,Ia[ha+6]=fa.z,
u.__webglSkinWeightsBuffer),l.bufferData(l.ARRAY_BUFFER,Ja,C))}if(Nb){y=0;for(z=Z.length;y<z;y++)B=va[Z[y]],O=B.vertexColors,K=B.color,3===O.length&&F.vertexColors===THREE.VertexColors?(Ea=O[0],ca=O[1],Da=O[2]):Da=ca=Ea=K,Ha[Na]=Ea.r,Ha[Na+1]=Ea.g,Ha[Na+2]=Ea.b,Ha[Na+3]=ca.r,Ha[Na+4]=ca.g,Ha[Na+5]=ca.b,Ha[Na+6]=Da.r,Ha[Na+7]=Da.g,Ha[Na+8]=Da.b,Na+=9;0<Na&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,Ha,C))}if(ob&&ba.hasTangents){y=0;for(z=Z.length;y<z;y++)B=va[Z[y]], Ia[ha+7]=fa.w,Ia[ha+8]=ja.x,Ia[ha+9]=ja.y,Ia[ha+10]=ja.z,Ia[ha+11]=ja.w,ha+=12;0<ha&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglSkinIndicesBuffer),l.bufferData(l.ARRAY_BUFFER,Ia,C),l.bindBuffer(l.ARRAY_BUFFER,u.__webglSkinWeightsBuffer),l.bufferData(l.ARRAY_BUFFER,Ja,C))}if(Nb){y=0;for(z=Z.length;y<z;y++)B=va[Z[y]],O=B.vertexColors,K=B.color,3===O.length&&F.vertexColors===THREE.VertexColors?(Ea=O[0],ca=O[1],Da=O[2]):Da=ca=Ea=K,Ha[Na]=Ea.r,Ha[Na+1]=Ea.g,Ha[Na+2]=Ea.b,Ha[Na+3]=ca.r,Ha[Na+4]=ca.g,Ha[Na+5]=
M=B.vertexTangents,V=M[0],ta=M[1],ya=M[2],oa[Ba]=V.x,oa[Ba+1]=V.y,oa[Ba+2]=V.z,oa[Ba+3]=V.w,oa[Ba+4]=ta.x,oa[Ba+5]=ta.y,oa[Ba+6]=ta.z,oa[Ba+7]=ta.w,oa[Ba+8]=ya.x,oa[Ba+9]=ya.y,oa[Ba+10]=ya.z,oa[Ba+11]=ya.w,Ba+=12;l.bindBuffer(l.ARRAY_BUFFER,u.__webglTangentBuffer);l.bufferData(l.ARRAY_BUFFER,oa,C)}if(Fb){y=0;for(z=Z.length;y<z;y++)if(B=va[Z[y]],L=B.vertexNormals,P=B.normal,3===L.length&&G)for(X=0;3>X;X++)pa=L[X],Ua[Ya]=pa.x,Ua[Ya+1]=pa.y,Ua[Ya+2]=pa.z,Ya+=3;else for(X=0;3>X;X++)Ua[Ya]=P.x,Ua[Ya+1]= ca.b,Ha[Na+6]=Da.r,Ha[Na+7]=Da.g,Ha[Na+8]=Da.b,Na+=9;0<Na&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,Ha,C))}if(ob&&ba.hasTangents){y=0;for(z=Z.length;y<z;y++)B=va[Z[y]],M=B.vertexTangents,V=M[0],ta=M[1],ya=M[2],oa[Ba]=V.x,oa[Ba+1]=V.y,oa[Ba+2]=V.z,oa[Ba+3]=V.w,oa[Ba+4]=ta.x,oa[Ba+5]=ta.y,oa[Ba+6]=ta.z,oa[Ba+7]=ta.w,oa[Ba+8]=ya.x,oa[Ba+9]=ya.y,oa[Ba+10]=ya.z,oa[Ba+11]=ya.w,Ba+=12;l.bindBuffer(l.ARRAY_BUFFER,u.__webglTangentBuffer);l.bufferData(l.ARRAY_BUFFER,oa,
P.y,Ua[Ya+2]=P.z,Ya+=3;l.bindBuffer(l.ARRAY_BUFFER,u.__webglNormalBuffer);l.bufferData(l.ARRAY_BUFFER,Ua,C)}if(xb&&Ib){y=0;for(z=Z.length;y<z;y++)if(E=Z[y],S=Ib[E],void 0!==S)for(X=0;3>X;X++)ma=S[X],Qa[qb]=ma.x,Qa[qb+1]=ma.y,qb+=2;0<qb&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglUVBuffer),l.bufferData(l.ARRAY_BUFFER,Qa,C))}if(xb&&Va){y=0;for(z=Z.length;y<z;y++)if(E=Z[y],Q=Va[E],void 0!==Q)for(X=0;3>X;X++)cb=Q[X],rb[ua]=cb.x,rb[ua+1]=cb.y,ua+=2;0<ua&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglUV2Buffer),l.bufferData(l.ARRAY_BUFFER, C)}if(Fb){y=0;for(z=Z.length;y<z;y++)if(B=va[Z[y]],L=B.vertexNormals,P=B.normal,3===L.length&&G)for(X=0;3>X;X++)pa=L[X],Ua[Ya]=pa.x,Ua[Ya+1]=pa.y,Ua[Ya+2]=pa.z,Ya+=3;else for(X=0;3>X;X++)Ua[Ya]=P.x,Ua[Ya+1]=P.y,Ua[Ya+2]=P.z,Ya+=3;l.bindBuffer(l.ARRAY_BUFFER,u.__webglNormalBuffer);l.bufferData(l.ARRAY_BUFFER,Ua,C)}if(xb&&Ib){y=0;for(z=Z.length;y<z;y++)if(E=Z[y],S=Ib[E],void 0!==S)for(X=0;3>X;X++)ma=S[X],Qa[qb]=ma.x,Qa[qb+1]=ma.y,qb+=2;0<qb&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglUVBuffer),l.bufferData(l.ARRAY_BUFFER,
rb,C))}if(jb){y=0;for(z=Z.length;y<z;y++)ab[La]=Sa,ab[La+1]=Sa+1,ab[La+2]=Sa+2,La+=3,$a[ib]=Sa,$a[ib+1]=Sa+1,$a[ib+2]=Sa,$a[ib+3]=Sa+2,$a[ib+4]=Sa+1,$a[ib+5]=Sa+2,ib+=6,Sa+=3;l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,u.__webglFaceBuffer);l.bufferData(l.ELEMENT_ARRAY_BUFFER,ab,C);l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,u.__webglLineBuffer);l.bufferData(l.ELEMENT_ARRAY_BUFFER,$a,C)}if(sb)for(X=0,pb=sb.length;X<pb;X++)if(D=sb[X],D.__original.needsUpdate){H=0;if(1===D.size)if(void 0===D.boundTo||"vertices"===D.boundTo)for(y= Qa,C))}if(xb&&Va){y=0;for(z=Z.length;y<z;y++)if(E=Z[y],Q=Va[E],void 0!==Q)for(X=0;3>X;X++)cb=Q[X],rb[ua]=cb.x,rb[ua+1]=cb.y,ua+=2;0<ua&&(l.bindBuffer(l.ARRAY_BUFFER,u.__webglUV2Buffer),l.bufferData(l.ARRAY_BUFFER,rb,C))}if(jb){y=0;for(z=Z.length;y<z;y++)ab[La]=Sa,ab[La+1]=Sa+1,ab[La+2]=Sa+2,La+=3,$a[ib]=Sa,$a[ib+1]=Sa+1,$a[ib+2]=Sa,$a[ib+3]=Sa+2,$a[ib+4]=Sa+1,$a[ib+5]=Sa+2,ib+=6,Sa+=3;l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,u.__webglFaceBuffer);l.bufferData(l.ELEMENT_ARRAY_BUFFER,ab,C);l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,
0,z=Z.length;y<z;y++)B=va[Z[y]],D.array[H]=D.value[B.a],D.array[H+1]=D.value[B.b],D.array[H+2]=D.value[B.c],H+=3;else{if("faces"===D.boundTo)for(y=0,z=Z.length;y<z;y++)za=D.value[Z[y]],D.array[H]=za,D.array[H+1]=za,D.array[H+2]=za,H+=3}else if(2===D.size)if(void 0===D.boundTo||"vertices"===D.boundTo)for(y=0,z=Z.length;y<z;y++)B=va[Z[y]],J=D.value[B.a],I=D.value[B.b],N=D.value[B.c],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=I.x,D.array[H+3]=I.y,D.array[H+4]=N.x,D.array[H+5]=N.y,H+=6;else{if("faces"=== u.__webglLineBuffer);l.bufferData(l.ELEMENT_ARRAY_BUFFER,$a,C)}if(sb)for(X=0,pb=sb.length;X<pb;X++)if(D=sb[X],D.__original.needsUpdate){H=0;if(1===D.size)if(void 0===D.boundTo||"vertices"===D.boundTo)for(y=0,z=Z.length;y<z;y++)B=va[Z[y]],D.array[H]=D.value[B.a],D.array[H+1]=D.value[B.b],D.array[H+2]=D.value[B.c],H+=3;else{if("faces"===D.boundTo)for(y=0,z=Z.length;y<z;y++)za=D.value[Z[y]],D.array[H]=za,D.array[H+1]=za,D.array[H+2]=za,H+=3}else if(2===D.size)if(void 0===D.boundTo||"vertices"===D.boundTo)for(y=
D.boundTo)for(y=0,z=Z.length;y<z;y++)N=I=J=za=D.value[Z[y]],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=I.x,D.array[H+3]=I.y,D.array[H+4]=N.x,D.array[H+5]=N.y,H+=6}else if(3===D.size){var U;U="c"===D.type?["r","g","b"]:["x","y","z"];if(void 0===D.boundTo||"vertices"===D.boundTo)for(y=0,z=Z.length;y<z;y++)B=va[Z[y]],J=D.value[B.a],I=D.value[B.b],N=D.value[B.c],D.array[H]=J[U[0]],D.array[H+1]=J[U[1]],D.array[H+2]=J[U[2]],D.array[H+3]=I[U[0]],D.array[H+4]=I[U[1]],D.array[H+5]=I[U[2]],D.array[H+6]=N[U[0]], 0,z=Z.length;y<z;y++)B=va[Z[y]],J=D.value[B.a],I=D.value[B.b],N=D.value[B.c],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=I.x,D.array[H+3]=I.y,D.array[H+4]=N.x,D.array[H+5]=N.y,H+=6;else{if("faces"===D.boundTo)for(y=0,z=Z.length;y<z;y++)N=I=J=za=D.value[Z[y]],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=I.x,D.array[H+3]=I.y,D.array[H+4]=N.x,D.array[H+5]=N.y,H+=6}else if(3===D.size){var U;U="c"===D.type?["r","g","b"]:["x","y","z"];if(void 0===D.boundTo||"vertices"===D.boundTo)for(y=0,z=Z.length;y<
D.array[H+7]=N[U[1]],D.array[H+8]=N[U[2]],H+=9;else if("faces"===D.boundTo)for(y=0,z=Z.length;y<z;y++)N=I=J=za=D.value[Z[y]],D.array[H]=J[U[0]],D.array[H+1]=J[U[1]],D.array[H+2]=J[U[2]],D.array[H+3]=I[U[0]],D.array[H+4]=I[U[1]],D.array[H+5]=I[U[2]],D.array[H+6]=N[U[0]],D.array[H+7]=N[U[1]],D.array[H+8]=N[U[2]],H+=9;else if("faceVertices"===D.boundTo)for(y=0,z=Z.length;y<z;y++)za=D.value[Z[y]],J=za[0],I=za[1],N=za[2],D.array[H]=J[U[0]],D.array[H+1]=J[U[1]],D.array[H+2]=J[U[2]],D.array[H+3]=I[U[0]], z;y++)B=va[Z[y]],J=D.value[B.a],I=D.value[B.b],N=D.value[B.c],D.array[H]=J[U[0]],D.array[H+1]=J[U[1]],D.array[H+2]=J[U[2]],D.array[H+3]=I[U[0]],D.array[H+4]=I[U[1]],D.array[H+5]=I[U[2]],D.array[H+6]=N[U[0]],D.array[H+7]=N[U[1]],D.array[H+8]=N[U[2]],H+=9;else if("faces"===D.boundTo)for(y=0,z=Z.length;y<z;y++)N=I=J=za=D.value[Z[y]],D.array[H]=J[U[0]],D.array[H+1]=J[U[1]],D.array[H+2]=J[U[2]],D.array[H+3]=I[U[0]],D.array[H+4]=I[U[1]],D.array[H+5]=I[U[2]],D.array[H+6]=N[U[0]],D.array[H+7]=N[U[1]],D.array[H+
D.array[H+4]=I[U[1]],D.array[H+5]=I[U[2]],D.array[H+6]=N[U[0]],D.array[H+7]=N[U[1]],D.array[H+8]=N[U[2]],H+=9}else if(4===D.size)if(void 0===D.boundTo||"vertices"===D.boundTo)for(y=0,z=Z.length;y<z;y++)B=va[Z[y]],J=D.value[B.a],I=D.value[B.b],N=D.value[B.c],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=J.z,D.array[H+3]=J.w,D.array[H+4]=I.x,D.array[H+5]=I.y,D.array[H+6]=I.z,D.array[H+7]=I.w,D.array[H+8]=N.x,D.array[H+9]=N.y,D.array[H+10]=N.z,D.array[H+11]=N.w,H+=12;else if("faces"===D.boundTo)for(y= 8]=N[U[2]],H+=9;else if("faceVertices"===D.boundTo)for(y=0,z=Z.length;y<z;y++)za=D.value[Z[y]],J=za[0],I=za[1],N=za[2],D.array[H]=J[U[0]],D.array[H+1]=J[U[1]],D.array[H+2]=J[U[2]],D.array[H+3]=I[U[0]],D.array[H+4]=I[U[1]],D.array[H+5]=I[U[2]],D.array[H+6]=N[U[0]],D.array[H+7]=N[U[1]],D.array[H+8]=N[U[2]],H+=9}else if(4===D.size)if(void 0===D.boundTo||"vertices"===D.boundTo)for(y=0,z=Z.length;y<z;y++)B=va[Z[y]],J=D.value[B.a],I=D.value[B.b],N=D.value[B.c],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+
0,z=Z.length;y<z;y++)N=I=J=za=D.value[Z[y]],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=J.z,D.array[H+3]=J.w,D.array[H+4]=I.x,D.array[H+5]=I.y,D.array[H+6]=I.z,D.array[H+7]=I.w,D.array[H+8]=N.x,D.array[H+9]=N.y,D.array[H+10]=N.z,D.array[H+11]=N.w,H+=12;else if("faceVertices"===D.boundTo)for(y=0,z=Z.length;y<z;y++)za=D.value[Z[y]],J=za[0],I=za[1],N=za[2],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=J.z,D.array[H+3]=J.w,D.array[H+4]=I.x,D.array[H+5]=I.y,D.array[H+6]=I.z,D.array[H+7]=I.w,D.array[H+ 2]=J.z,D.array[H+3]=J.w,D.array[H+4]=I.x,D.array[H+5]=I.y,D.array[H+6]=I.z,D.array[H+7]=I.w,D.array[H+8]=N.x,D.array[H+9]=N.y,D.array[H+10]=N.z,D.array[H+11]=N.w,H+=12;else if("faces"===D.boundTo)for(y=0,z=Z.length;y<z;y++)N=I=J=za=D.value[Z[y]],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=J.z,D.array[H+3]=J.w,D.array[H+4]=I.x,D.array[H+5]=I.y,D.array[H+6]=I.z,D.array[H+7]=I.w,D.array[H+8]=N.x,D.array[H+9]=N.y,D.array[H+10]=N.z,D.array[H+11]=N.w,H+=12;else if("faceVertices"===D.boundTo)for(y=0,z=
8]=N.x,D.array[H+9]=N.y,D.array[H+10]=N.z,D.array[H+11]=N.w,H+=12;l.bindBuffer(l.ARRAY_BUFFER,D.buffer);l.bufferData(l.ARRAY_BUFFER,D.array,C)}A&&(delete u.__inittedArrays,delete u.__colorArray,delete u.__normalArray,delete u.__tangentArray,delete u.__uvArray,delete u.__uv2Array,delete u.__faceArray,delete u.__vertexArray,delete u.__lineArray,delete u.__skinIndexArray,delete u.__skinWeightArray)}}}b.verticesNeedUpdate=!1;b.morphTargetsNeedUpdate=!1;b.elementsNeedUpdate=!1;b.uvsNeedUpdate=!1;b.normalsNeedUpdate= Z.length;y<z;y++)za=D.value[Z[y]],J=za[0],I=za[1],N=za[2],D.array[H]=J.x,D.array[H+1]=J.y,D.array[H+2]=J.z,D.array[H+3]=J.w,D.array[H+4]=I.x,D.array[H+5]=I.y,D.array[H+6]=I.z,D.array[H+7]=I.w,D.array[H+8]=N.x,D.array[H+9]=N.y,D.array[H+10]=N.z,D.array[H+11]=N.w,H+=12;l.bindBuffer(l.ARRAY_BUFFER,D.buffer);l.bufferData(l.ARRAY_BUFFER,D.array,C)}A&&(delete u.__inittedArrays,delete u.__colorArray,delete u.__normalArray,delete u.__tangentArray,delete u.__uvArray,delete u.__uv2Array,delete u.__faceArray,
!1;b.colorsNeedUpdate=!1;b.tangentsNeedUpdate=!1;r.attributes&&x(r)}else if(a instanceof THREE.Line){r=c(a,b);s=r.attributes&&v(r);if(b.verticesNeedUpdate||b.colorsNeedUpdate||b.lineDistancesNeedUpdate||s){var Cb=l.DYNAMIC_DRAW,T,$,Y,Ca,W,Db,Vb=b.vertices,Jb=b.colors,kb=b.lineDistances,wa=Vb.length,yb=Jb.length,mb=kb.length,bb=b.__vertexArray,wb=b.__colorArray,lb=b.__lineDistanceArray,nb=b.colorsNeedUpdate,Eb=b.lineDistancesNeedUpdate,Wb=b.__webglCustomAttributesList,Kb,Wa,ra,Lb,Oa,da;if(b.verticesNeedUpdate){for(T= delete u.__vertexArray,delete u.__lineArray,delete u.__skinIndexArray,delete u.__skinWeightArray)}}}b.verticesNeedUpdate=!1;b.morphTargetsNeedUpdate=!1;b.elementsNeedUpdate=!1;b.uvsNeedUpdate=!1;b.normalsNeedUpdate=!1;b.colorsNeedUpdate=!1;b.tangentsNeedUpdate=!1;r.attributes&&x(r)}else if(a instanceof THREE.Line){r=c(a,b);s=r.attributes&&v(r);if(b.verticesNeedUpdate||b.colorsNeedUpdate||b.lineDistancesNeedUpdate||s){var Cb=l.DYNAMIC_DRAW,T,$,Y,Ca,W,Db,Vb=b.vertices,Jb=b.colors,kb=b.lineDistances,
0;T<wa;T++)Ca=Vb[T],W=3*T,bb[W]=Ca.x,bb[W+1]=Ca.y,bb[W+2]=Ca.z;l.bindBuffer(l.ARRAY_BUFFER,b.__webglVertexBuffer);l.bufferData(l.ARRAY_BUFFER,bb,Cb)}if(nb){for($=0;$<yb;$++)Db=Jb[$],W=3*$,wb[W]=Db.r,wb[W+1]=Db.g,wb[W+2]=Db.b;l.bindBuffer(l.ARRAY_BUFFER,b.__webglColorBuffer);l.bufferData(l.ARRAY_BUFFER,wb,Cb)}if(Eb){for(Y=0;Y<mb;Y++)lb[Y]=kb[Y];l.bindBuffer(l.ARRAY_BUFFER,b.__webglLineDistanceBuffer);l.bufferData(l.ARRAY_BUFFER,lb,Cb)}if(Wb)for(Kb=0,Wa=Wb.length;Kb<Wa;Kb++)if(da=Wb[Kb],da.needsUpdate&& wa=Vb.length,yb=Jb.length,mb=kb.length,bb=b.__vertexArray,wb=b.__colorArray,lb=b.__lineDistanceArray,nb=b.colorsNeedUpdate,Eb=b.lineDistancesNeedUpdate,Wb=b.__webglCustomAttributesList,Kb,Wa,ra,Lb,Oa,da;if(b.verticesNeedUpdate){for(T=0;T<wa;T++)Ca=Vb[T],W=3*T,bb[W]=Ca.x,bb[W+1]=Ca.y,bb[W+2]=Ca.z;l.bindBuffer(l.ARRAY_BUFFER,b.__webglVertexBuffer);l.bufferData(l.ARRAY_BUFFER,bb,Cb)}if(nb){for($=0;$<yb;$++)Db=Jb[$],W=3*$,wb[W]=Db.r,wb[W+1]=Db.g,wb[W+2]=Db.b;l.bindBuffer(l.ARRAY_BUFFER,b.__webglColorBuffer);
(void 0===da.boundTo||"vertices"===da.boundTo)){W=0;Lb=da.value.length;if(1===da.size)for(ra=0;ra<Lb;ra++)da.array[ra]=da.value[ra];else if(2===da.size)for(ra=0;ra<Lb;ra++)Oa=da.value[ra],da.array[W]=Oa.x,da.array[W+1]=Oa.y,W+=2;else if(3===da.size)if("c"===da.type)for(ra=0;ra<Lb;ra++)Oa=da.value[ra],da.array[W]=Oa.r,da.array[W+1]=Oa.g,da.array[W+2]=Oa.b,W+=3;else for(ra=0;ra<Lb;ra++)Oa=da.value[ra],da.array[W]=Oa.x,da.array[W+1]=Oa.y,da.array[W+2]=Oa.z,W+=3;else if(4===da.size)for(ra=0;ra<Lb;ra++)Oa= l.bufferData(l.ARRAY_BUFFER,wb,Cb)}if(Eb){for(Y=0;Y<mb;Y++)lb[Y]=kb[Y];l.bindBuffer(l.ARRAY_BUFFER,b.__webglLineDistanceBuffer);l.bufferData(l.ARRAY_BUFFER,lb,Cb)}if(Wb)for(Kb=0,Wa=Wb.length;Kb<Wa;Kb++)if(da=Wb[Kb],da.needsUpdate&&(void 0===da.boundTo||"vertices"===da.boundTo)){W=0;Lb=da.value.length;if(1===da.size)for(ra=0;ra<Lb;ra++)da.array[ra]=da.value[ra];else if(2===da.size)for(ra=0;ra<Lb;ra++)Oa=da.value[ra],da.array[W]=Oa.x,da.array[W+1]=Oa.y,W+=2;else if(3===da.size)if("c"===da.type)for(ra=
da.value[ra],da.array[W]=Oa.x,da.array[W+1]=Oa.y,da.array[W+2]=Oa.z,da.array[W+3]=Oa.w,W+=4;l.bindBuffer(l.ARRAY_BUFFER,da.buffer);l.bufferData(l.ARRAY_BUFFER,da.array,Cb);da.needsUpdate=!1}}b.verticesNeedUpdate=!1;b.colorsNeedUpdate=!1;b.lineDistancesNeedUpdate=!1;r.attributes&&x(r)}else if(a instanceof THREE.PointCloud){r=c(a,b);s=r.attributes&&v(r);if(b.verticesNeedUpdate||b.colorsNeedUpdate||s){var eb=l.DYNAMIC_DRAW,Xb,Yb,bc,ia,cc,hb=b.vertices,ub=hb.length,Ob=b.colors,Zb=Ob.length,dc=b.__vertexArray, 0;ra<Lb;ra++)Oa=da.value[ra],da.array[W]=Oa.r,da.array[W+1]=Oa.g,da.array[W+2]=Oa.b,W+=3;else for(ra=0;ra<Lb;ra++)Oa=da.value[ra],da.array[W]=Oa.x,da.array[W+1]=Oa.y,da.array[W+2]=Oa.z,W+=3;else if(4===da.size)for(ra=0;ra<Lb;ra++)Oa=da.value[ra],da.array[W]=Oa.x,da.array[W+1]=Oa.y,da.array[W+2]=Oa.z,da.array[W+3]=Oa.w,W+=4;l.bindBuffer(l.ARRAY_BUFFER,da.buffer);l.bufferData(l.ARRAY_BUFFER,da.array,Cb);da.needsUpdate=!1}}b.verticesNeedUpdate=!1;b.colorsNeedUpdate=!1;b.lineDistancesNeedUpdate=!1;r.attributes&&
ec=b.__colorArray,$b=b.colorsNeedUpdate,Hb=b.__webglCustomAttributesList,fc,zb,sa,Mb,Pa,ea;if(b.verticesNeedUpdate){for(Xb=0;Xb<ub;Xb++)bc=hb[Xb],ia=3*Xb,dc[ia]=bc.x,dc[ia+1]=bc.y,dc[ia+2]=bc.z;l.bindBuffer(l.ARRAY_BUFFER,b.__webglVertexBuffer);l.bufferData(l.ARRAY_BUFFER,dc,eb)}if($b){for(Yb=0;Yb<Zb;Yb++)cc=Ob[Yb],ia=3*Yb,ec[ia]=cc.r,ec[ia+1]=cc.g,ec[ia+2]=cc.b;l.bindBuffer(l.ARRAY_BUFFER,b.__webglColorBuffer);l.bufferData(l.ARRAY_BUFFER,ec,eb)}if(Hb)for(fc=0,zb=Hb.length;fc<zb;fc++){ea=Hb[fc];if(ea.needsUpdate&& x(r)}else if(a instanceof THREE.PointCloud){r=c(a,b);s=r.attributes&&v(r);if(b.verticesNeedUpdate||b.colorsNeedUpdate||s){var eb=l.DYNAMIC_DRAW,Xb,Yb,bc,ia,cc,hb=b.vertices,ub=hb.length,Ob=b.colors,Zb=Ob.length,dc=b.__vertexArray,ec=b.__colorArray,$b=b.colorsNeedUpdate,Hb=b.__webglCustomAttributesList,fc,zb,sa,Mb,Pa,ea;if(b.verticesNeedUpdate){for(Xb=0;Xb<ub;Xb++)bc=hb[Xb],ia=3*Xb,dc[ia]=bc.x,dc[ia+1]=bc.y,dc[ia+2]=bc.z;l.bindBuffer(l.ARRAY_BUFFER,b.__webglVertexBuffer);l.bufferData(l.ARRAY_BUFFER,
(void 0===ea.boundTo||"vertices"===ea.boundTo))if(Mb=ea.value.length,ia=0,1===ea.size)for(sa=0;sa<Mb;sa++)ea.array[sa]=ea.value[sa];else if(2===ea.size)for(sa=0;sa<Mb;sa++)Pa=ea.value[sa],ea.array[ia]=Pa.x,ea.array[ia+1]=Pa.y,ia+=2;else if(3===ea.size)if("c"===ea.type)for(sa=0;sa<Mb;sa++)Pa=ea.value[sa],ea.array[ia]=Pa.r,ea.array[ia+1]=Pa.g,ea.array[ia+2]=Pa.b,ia+=3;else for(sa=0;sa<Mb;sa++)Pa=ea.value[sa],ea.array[ia]=Pa.x,ea.array[ia+1]=Pa.y,ea.array[ia+2]=Pa.z,ia+=3;else if(4===ea.size)for(sa= dc,eb)}if($b){for(Yb=0;Yb<Zb;Yb++)cc=Ob[Yb],ia=3*Yb,ec[ia]=cc.r,ec[ia+1]=cc.g,ec[ia+2]=cc.b;l.bindBuffer(l.ARRAY_BUFFER,b.__webglColorBuffer);l.bufferData(l.ARRAY_BUFFER,ec,eb)}if(Hb)for(fc=0,zb=Hb.length;fc<zb;fc++){ea=Hb[fc];if(ea.needsUpdate&&(void 0===ea.boundTo||"vertices"===ea.boundTo))if(Mb=ea.value.length,ia=0,1===ea.size)for(sa=0;sa<Mb;sa++)ea.array[sa]=ea.value[sa];else if(2===ea.size)for(sa=0;sa<Mb;sa++)Pa=ea.value[sa],ea.array[ia]=Pa.x,ea.array[ia+1]=Pa.y,ia+=2;else if(3===ea.size)if("c"===
0;sa<Mb;sa++)Pa=ea.value[sa],ea.array[ia]=Pa.x,ea.array[ia+1]=Pa.y,ea.array[ia+2]=Pa.z,ea.array[ia+3]=Pa.w,ia+=4;l.bindBuffer(l.ARRAY_BUFFER,ea.buffer);l.bufferData(l.ARRAY_BUFFER,ea.array,eb);ea.needsUpdate=!1}}b.verticesNeedUpdate=!1;b.colorsNeedUpdate=!1;r.attributes&&x(r)}}function v(a){for(var b in a.attributes)if(a.attributes[b].needsUpdate)return!0;return!1}function x(a){for(var b in a.attributes)a.attributes[b].needsUpdate=!1}function C(a,b,c,d,e){var f,g,h,k;Nb=0;if(d.needsUpdate){d.program&& ea.type)for(sa=0;sa<Mb;sa++)Pa=ea.value[sa],ea.array[ia]=Pa.r,ea.array[ia+1]=Pa.g,ea.array[ia+2]=Pa.b,ia+=3;else for(sa=0;sa<Mb;sa++)Pa=ea.value[sa],ea.array[ia]=Pa.x,ea.array[ia+1]=Pa.y,ea.array[ia+2]=Pa.z,ia+=3;else if(4===ea.size)for(sa=0;sa<Mb;sa++)Pa=ea.value[sa],ea.array[ia]=Pa.x,ea.array[ia+1]=Pa.y,ea.array[ia+2]=Pa.z,ea.array[ia+3]=Pa.w,ia+=4;l.bindBuffer(l.ARRAY_BUFFER,ea.buffer);l.bufferData(l.ARRAY_BUFFER,ea.array,eb);ea.needsUpdate=!1}}b.verticesNeedUpdate=!1;b.colorsNeedUpdate=!1;r.attributes&&
oc(d);d.addEventListener("dispose",pc);var m=Fc[d.type];if(m){var p=THREE.ShaderLib[m];d.__webglShader={uniforms:THREE.UniformsUtils.clone(p.uniforms),vertexShader:p.vertexShader,fragmentShader:p.fragmentShader}}else d.__webglShader={uniforms:d.uniforms,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader};for(var n=0,q=0,r=0,t=0,s=0,u=b.length;s<u;s++){var v=b[s];v.onlyShadow||!1===v.visible||(v instanceof THREE.DirectionalLight&&n++,v instanceof THREE.PointLight&&q++,v instanceof THREE.SpotLight&& x(r)}}function v(a){for(var b in a.attributes)if(a.attributes[b].needsUpdate)return!0;return!1}function x(a){for(var b in a.attributes)a.attributes[b].needsUpdate=!1}function C(a,b,c,d,e){var f,g,h,k;Nb=0;if(d.needsUpdate){d.program&&oc(d);d.addEventListener("dispose",pc);var m=Fc[d.type];if(m){var p=THREE.ShaderLib[m];d.__webglShader={uniforms:THREE.UniformsUtils.clone(p.uniforms),vertexShader:p.vertexShader,fragmentShader:p.fragmentShader}}else d.__webglShader={uniforms:d.uniforms,vertexShader:d.vertexShader,
r++,v instanceof THREE.HemisphereLight&&t++)}f=n;g=q;h=r;k=t;for(var x,C=0,A=0,G=b.length;A<G;A++){var E=b[A];E.castShadow&&(E instanceof THREE.SpotLight&&C++,E instanceof THREE.DirectionalLight&&!E.shadowCascade&&C++)}x=C;var J;if(Ob&&e&&e.skeleton&&e.skeleton.useVertexTexture)J=1024;else{var I=l.getParameter(l.MAX_VERTEX_UNIFORM_VECTORS),N=Math.floor((I-20)/4);void 0!==e&&e instanceof THREE.SkinnedMesh&&(N=Math.min(e.skeleton.bones.length,N),N<e.skeleton.bones.length&&THREE.warn("WebGLRenderer: too many bones - "+ fragmentShader:d.fragmentShader};for(var n=0,q=0,r=0,t=0,s=0,u=b.length;s<u;s++){var v=b[s];v.onlyShadow||!1===v.visible||(v instanceof THREE.DirectionalLight&&n++,v instanceof THREE.PointLight&&q++,v instanceof THREE.SpotLight&&r++,v instanceof THREE.HemisphereLight&&t++)}f=n;g=q;h=r;k=t;for(var x,C=0,A=0,G=b.length;A<G;A++){var E=b[A];E.castShadow&&(E instanceof THREE.SpotLight&&C++,E instanceof THREE.DirectionalLight&&!E.shadowCascade&&C++)}x=C;var J;if(Ob&&e&&e.skeleton&&e.skeleton.useVertexTexture)J=
e.skeleton.bones.length+", this GPU supports just "+N+" (try OpenGL instead of ANGLE)"));J=N}var P={precision:V,supportsVertexTextures:Zb,map:!!d.map,envMap:!!d.envMap,envMapMode:d.envMap&&d.envMap.mapping,lightMap:!!d.lightMap,bumpMap:!!d.bumpMap,normalMap:!!d.normalMap,specularMap:!!d.specularMap,alphaMap:!!d.alphaMap,combine:d.combine,vertexColors:d.vertexColors,fog:c,useFog:d.fog,fogExp:c instanceof THREE.FogExp2,sizeAttenuation:d.sizeAttenuation,logarithmicDepthBuffer:pa,skinning:d.skinning, 1024;else{var I=l.getParameter(l.MAX_VERTEX_UNIFORM_VECTORS),N=Math.floor((I-20)/4);void 0!==e&&e instanceof THREE.SkinnedMesh&&(N=Math.min(e.skeleton.bones.length,N),N<e.skeleton.bones.length&&THREE.warn("WebGLRenderer: too many bones - "+e.skeleton.bones.length+", this GPU supports just "+N+" (try OpenGL instead of ANGLE)"));J=N}var P={precision:V,supportsVertexTextures:Zb,map:!!d.map,envMap:!!d.envMap,envMapMode:d.envMap&&d.envMap.mapping,lightMap:!!d.lightMap,bumpMap:!!d.bumpMap,normalMap:!!d.normalMap,
maxBones:J,useVertexTexture:Ob&&e&&e.skeleton&&e.skeleton.useVertexTexture,morphTargets:d.morphTargets,morphNormals:d.morphNormals,maxMorphTargets:B.maxMorphTargets,maxMorphNormals:B.maxMorphNormals,maxDirLights:f,maxPointLights:g,maxSpotLights:h,maxHemiLights:k,maxShadows:x,shadowMapEnabled:B.shadowMapEnabled&&e.receiveShadow&&0<x,shadowMapType:B.shadowMapType,shadowMapDebug:B.shadowMapDebug,shadowMapCascade:B.shadowMapCascade,alphaTest:d.alphaTest,metal:d.metal,wrapAround:d.wrapAround,doubleSided:d.side=== specularMap:!!d.specularMap,alphaMap:!!d.alphaMap,combine:d.combine,vertexColors:d.vertexColors,fog:c,useFog:d.fog,fogExp:c instanceof THREE.FogExp2,sizeAttenuation:d.sizeAttenuation,logarithmicDepthBuffer:pa,skinning:d.skinning,maxBones:J,useVertexTexture:Ob&&e&&e.skeleton&&e.skeleton.useVertexTexture,morphTargets:d.morphTargets,morphNormals:d.morphNormals,maxMorphTargets:B.maxMorphTargets,maxMorphNormals:B.maxMorphNormals,maxDirLights:f,maxPointLights:g,maxSpotLights:h,maxHemiLights:k,maxShadows:x,
THREE.DoubleSide,flipSided:d.side===THREE.BackSide},M=[];m?M.push(m):(M.push(d.fragmentShader),M.push(d.vertexShader));if(void 0!==d.defines)for(var K in d.defines)M.push(K),M.push(d.defines[K]);for(K in P)M.push(K),M.push(P[K]);for(var Q=M.join(),ta,ya=0,Ma=cb.length;ya<Ma;ya++){var xa=cb[ya];if(xa.code===Q){ta=xa;ta.usedTimes++;break}}void 0===ta&&(ta=new THREE.WebGLProgram(B,Q,d,P),cb.push(ta),B.info.memory.programs=cb.length);d.program=ta;var aa=ta.attributes;if(d.morphTargets){d.numSupportedMorphTargets= shadowMapEnabled:B.shadowMapEnabled&&e.receiveShadow&&0<x,shadowMapType:B.shadowMapType,shadowMapDebug:B.shadowMapDebug,shadowMapCascade:B.shadowMapCascade,alphaTest:d.alphaTest,metal:d.metal,wrapAround:d.wrapAround,doubleSided:d.side===THREE.DoubleSide,flipSided:d.side===THREE.BackSide},M=[];m?M.push(m):(M.push(d.fragmentShader),M.push(d.vertexShader));if(void 0!==d.defines)for(var K in d.defines)M.push(K),M.push(d.defines[K]);for(K in P)M.push(K),M.push(P[K]);for(var Q=M.join(),ta,ya=0,Ma=cb.length;ya<
0;for(var Ea,ca="morphTarget",Da=0;Da<B.maxMorphTargets;Da++)Ea=ca+Da,0<=aa[Ea]&&d.numSupportedMorphTargets++}if(d.morphNormals)for(d.numSupportedMorphNormals=0,ca="morphNormal",Da=0;Da<B.maxMorphNormals;Da++)Ea=ca+Da,0<=aa[Ea]&&d.numSupportedMorphNormals++;d.uniformsList=[];for(var Ra in d.__webglShader.uniforms){var ja=d.program.uniforms[Ra];ja&&d.uniformsList.push([d.__webglShader.uniforms[Ra],ja])}d.needsUpdate=!1}d.morphTargets&&!e.__webglMorphTargetInfluences&&(e.__webglMorphTargetInfluences= Ma;ya++){var xa=cb[ya];if(xa.code===Q){ta=xa;ta.usedTimes++;break}}void 0===ta&&(ta=new THREE.WebGLProgram(B,Q,d,P),cb.push(ta),B.info.memory.programs=cb.length);d.program=ta;var aa=ta.attributes;if(d.morphTargets){d.numSupportedMorphTargets=0;for(var Ea,ca="morphTarget",Da=0;Da<B.maxMorphTargets;Da++)Ea=ca+Da,0<=aa[Ea]&&d.numSupportedMorphTargets++}if(d.morphNormals)for(d.numSupportedMorphNormals=0,ca="morphNormal",Da=0;Da<B.maxMorphNormals;Da++)Ea=ca+Da,0<=aa[Ea]&&d.numSupportedMorphNormals++;d.uniformsList=
new Float32Array(B.maxMorphTargets));var pb=!1,ma=!1,qa=!1,ua=d.program,ga=ua.uniforms,R=d.__webglShader.uniforms;ua.id!==$b&&(l.useProgram(ua.program),$b=ua.id,qa=ma=pb=!0);d.id!==xb&&(-1===xb&&(qa=!0),xb=d.id,ma=!0);if(pb||a!==Fb)l.uniformMatrix4fv(ga.projectionMatrix,!1,a.projectionMatrix.elements),pa&&l.uniform1f(ga.logDepthBufFC,2/(Math.log(a.far+1)/Math.LN2)),a!==Fb&&(Fb=a),(d instanceof THREE.ShaderMaterial||d instanceof THREE.MeshPhongMaterial||d.envMap)&&null!==ga.cameraPosition&&(Aa.setFromMatrixPosition(a.matrixWorld), [];for(var Ra in d.__webglShader.uniforms){var ja=d.program.uniforms[Ra];ja&&d.uniformsList.push([d.__webglShader.uniforms[Ra],ja])}d.needsUpdate=!1}d.morphTargets&&!e.__webglMorphTargetInfluences&&(e.__webglMorphTargetInfluences=new Float32Array(B.maxMorphTargets));var pb=!1,ma=!1,qa=!1,ua=d.program,ga=ua.uniforms,R=d.__webglShader.uniforms;ua.id!==$b&&(l.useProgram(ua.program),$b=ua.id,qa=ma=pb=!0);d.id!==xb&&(-1===xb&&(qa=!0),xb=d.id,ma=!0);if(pb||a!==Fb)l.uniformMatrix4fv(ga.projectionMatrix,
l.uniform3f(ga.cameraPosition,Aa.x,Aa.y,Aa.z)),(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshBasicMaterial||d instanceof THREE.ShaderMaterial||d.skinning)&&null!==ga.viewMatrix&&l.uniformMatrix4fv(ga.viewMatrix,!1,a.matrixWorldInverse.elements);if(d.skinning)if(e.bindMatrix&&null!==ga.bindMatrix&&l.uniformMatrix4fv(ga.bindMatrix,!1,e.bindMatrix.elements),e.bindMatrixInverse&&null!==ga.bindMatrixInverse&&l.uniformMatrix4fv(ga.bindMatrixInverse, !1,a.projectionMatrix.elements),pa&&l.uniform1f(ga.logDepthBufFC,2/(Math.log(a.far+1)/Math.LN2)),a!==Fb&&(Fb=a),(d instanceof THREE.ShaderMaterial||d instanceof THREE.MeshPhongMaterial||d.envMap)&&null!==ga.cameraPosition&&(Aa.setFromMatrixPosition(a.matrixWorld),l.uniform3f(ga.cameraPosition,Aa.x,Aa.y,Aa.z)),(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshBasicMaterial||d instanceof THREE.ShaderMaterial||d.skinning)&&null!==ga.viewMatrix&&l.uniformMatrix4fv(ga.viewMatrix,
!1,e.bindMatrixInverse.elements),Ob&&e.skeleton&&e.skeleton.useVertexTexture){if(null!==ga.boneTexture){var La=y();l.uniform1i(ga.boneTexture,La);B.setTexture(e.skeleton.boneTexture,La)}null!==ga.boneTextureWidth&&l.uniform1i(ga.boneTextureWidth,e.skeleton.boneTextureWidth);null!==ga.boneTextureHeight&&l.uniform1i(ga.boneTextureHeight,e.skeleton.boneTextureHeight)}else e.skeleton&&e.skeleton.boneMatrices&&null!==ga.boneGlobalMatrices&&l.uniformMatrix4fv(ga.boneGlobalMatrices,!1,e.skeleton.boneMatrices); !1,a.matrixWorldInverse.elements);if(d.skinning)if(e.bindMatrix&&null!==ga.bindMatrix&&l.uniformMatrix4fv(ga.bindMatrix,!1,e.bindMatrix.elements),e.bindMatrixInverse&&null!==ga.bindMatrixInverse&&l.uniformMatrix4fv(ga.bindMatrixInverse,!1,e.bindMatrixInverse.elements),Ob&&e.skeleton&&e.skeleton.useVertexTexture){if(null!==ga.boneTexture){var La=y();l.uniform1i(ga.boneTexture,La);B.setTexture(e.skeleton.boneTexture,La)}null!==ga.boneTextureWidth&&l.uniform1i(ga.boneTextureWidth,e.skeleton.boneTextureWidth);
if(ma){c&&d.fog&&(R.fogColor.value=c.color,c instanceof THREE.Fog?(R.fogNear.value=c.near,R.fogFar.value=c.far):c instanceof THREE.FogExp2&&(R.fogDensity.value=c.density));if(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d.lights){if(Gb){var qa=!0,fa,db,X,Qa=0,eb=0,fb=0,Wa,Fa,ob,Ga,Xa,ka=qc,hb=ka.directional.colors,Sa=ka.directional.positions,Ta=ka.point.colors,qb=ka.point.positions,yb=ka.point.distances,zb=ka.point.decays,Ya=ka.spot.colors,Ba=ka.spot.positions,ib= null!==ga.boneTextureHeight&&l.uniform1i(ga.boneTextureHeight,e.skeleton.boneTextureHeight)}else e.skeleton&&e.skeleton.boneMatrices&&null!==ga.boneGlobalMatrices&&l.uniformMatrix4fv(ga.boneGlobalMatrices,!1,e.skeleton.boneMatrices);if(ma){c&&d.fog&&(R.fogColor.value=c.color,c instanceof THREE.Fog?(R.fogNear.value=c.near,R.fogFar.value=c.far):c instanceof THREE.FogExp2&&(R.fogDensity.value=c.density));if(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d.lights){if(Gb){var qa=
ka.spot.distances,Na=ka.spot.directions,ha=ka.spot.anglesCos,na=ka.spot.exponents,H=ka.spot.decays,za=ka.hemi.skyColors,Za=ka.hemi.groundColors,mb=ka.hemi.positions,rb=0,Ua=0,oa=0,Ha=0,Ia=0,Ja=0,nb=0,Ab=0,sb=0,D=0,ab=0,$a=0;fa=0;for(db=b.length;fa<db;fa++)X=b[fa],X.onlyShadow||(Wa=X.color,Ga=X.intensity,Xa=X.distance,X instanceof THREE.AmbientLight?X.visible&&(Qa+=Wa.r,eb+=Wa.g,fb+=Wa.b):X instanceof THREE.DirectionalLight?(Ia+=1,X.visible&&(la.setFromMatrixPosition(X.matrixWorld),Aa.setFromMatrixPosition(X.target.matrixWorld), !0,fa,db,X,Qa=0,eb=0,fb=0,Wa,Fa,ob,Ga,Xa,ka=qc,hb=ka.directional.colors,Sa=ka.directional.positions,Ta=ka.point.colors,qb=ka.point.positions,yb=ka.point.distances,zb=ka.point.decays,Ya=ka.spot.colors,Ba=ka.spot.positions,ib=ka.spot.distances,Na=ka.spot.directions,ha=ka.spot.anglesCos,na=ka.spot.exponents,H=ka.spot.decays,za=ka.hemi.skyColors,Za=ka.hemi.groundColors,mb=ka.hemi.positions,rb=0,Ua=0,oa=0,Ha=0,Ia=0,Ja=0,nb=0,Ab=0,sb=0,D=0,ab=0,$a=0;fa=0;for(db=b.length;fa<db;fa++)X=b[fa],X.onlyShadow||
la.sub(Aa),la.normalize(),sb=3*rb,Sa[sb]=la.x,Sa[sb+1]=la.y,Sa[sb+2]=la.z,F(hb,sb,Wa,Ga),rb+=1)):X instanceof THREE.PointLight?(Ja+=1,X.visible&&(D=3*Ua,F(Ta,D,Wa,Ga),Aa.setFromMatrixPosition(X.matrixWorld),qb[D]=Aa.x,qb[D+1]=Aa.y,qb[D+2]=Aa.z,yb[Ua]=Xa,zb[Ua]=0===X.distance?0:X.decay,Ua+=1)):X instanceof THREE.SpotLight?(nb+=1,X.visible&&(ab=3*oa,F(Ya,ab,Wa,Ga),la.setFromMatrixPosition(X.matrixWorld),Ba[ab]=la.x,Ba[ab+1]=la.y,Ba[ab+2]=la.z,ib[oa]=Xa,Aa.setFromMatrixPosition(X.target.matrixWorld), (Wa=X.color,Ga=X.intensity,Xa=X.distance,X instanceof THREE.AmbientLight?X.visible&&(Qa+=Wa.r,eb+=Wa.g,fb+=Wa.b):X instanceof THREE.DirectionalLight?(Ia+=1,X.visible&&(la.setFromMatrixPosition(X.matrixWorld),Aa.setFromMatrixPosition(X.target.matrixWorld),la.sub(Aa),la.normalize(),sb=3*rb,Sa[sb]=la.x,Sa[sb+1]=la.y,Sa[sb+2]=la.z,F(hb,sb,Wa,Ga),rb+=1)):X instanceof THREE.PointLight?(Ja+=1,X.visible&&(D=3*Ua,F(Ta,D,Wa,Ga),Aa.setFromMatrixPosition(X.matrixWorld),qb[D]=Aa.x,qb[D+1]=Aa.y,qb[D+2]=Aa.z,yb[Ua]=
la.sub(Aa),la.normalize(),Na[ab]=la.x,Na[ab+1]=la.y,Na[ab+2]=la.z,ha[oa]=Math.cos(X.angle),na[oa]=X.exponent,H[oa]=0===X.distance?0:X.decay,oa+=1)):X instanceof THREE.HemisphereLight&&(Ab+=1,X.visible&&(la.setFromMatrixPosition(X.matrixWorld),la.normalize(),$a=3*Ha,mb[$a]=la.x,mb[$a+1]=la.y,mb[$a+2]=la.z,Fa=X.color,ob=X.groundColor,F(za,$a,Fa,Ga),F(Za,$a,ob,Ga),Ha+=1)));fa=3*rb;for(db=Math.max(hb.length,3*Ia);fa<db;fa++)hb[fa]=0;fa=3*Ua;for(db=Math.max(Ta.length,3*Ja);fa<db;fa++)Ta[fa]=0;fa=3*oa; Xa,zb[Ua]=0===X.distance?0:X.decay,Ua+=1)):X instanceof THREE.SpotLight?(nb+=1,X.visible&&(ab=3*oa,F(Ya,ab,Wa,Ga),la.setFromMatrixPosition(X.matrixWorld),Ba[ab]=la.x,Ba[ab+1]=la.y,Ba[ab+2]=la.z,ib[oa]=Xa,Aa.setFromMatrixPosition(X.target.matrixWorld),la.sub(Aa),la.normalize(),Na[ab]=la.x,Na[ab+1]=la.y,Na[ab+2]=la.z,ha[oa]=Math.cos(X.angle),na[oa]=X.exponent,H[oa]=0===X.distance?0:X.decay,oa+=1)):X instanceof THREE.HemisphereLight&&(Ab+=1,X.visible&&(la.setFromMatrixPosition(X.matrixWorld),la.normalize(),
for(db=Math.max(Ya.length,3*nb);fa<db;fa++)Ya[fa]=0;fa=3*Ha;for(db=Math.max(za.length,3*Ab);fa<db;fa++)za[fa]=0;fa=3*Ha;for(db=Math.max(Za.length,3*Ab);fa<db;fa++)Za[fa]=0;ka.directional.length=rb;ka.point.length=Ua;ka.spot.length=oa;ka.hemi.length=Ha;ka.ambient[0]=Qa;ka.ambient[1]=eb;ka.ambient[2]=fb;Gb=!1}if(qa){var ba=qc;R.ambientLightColor.value=ba.ambient;R.directionalLightColor.value=ba.directional.colors;R.directionalLightDirection.value=ba.directional.positions;R.pointLightColor.value=ba.point.colors; $a=3*Ha,mb[$a]=la.x,mb[$a+1]=la.y,mb[$a+2]=la.z,Fa=X.color,ob=X.groundColor,F(za,$a,Fa,Ga),F(Za,$a,ob,Ga),Ha+=1)));fa=3*rb;for(db=Math.max(hb.length,3*Ia);fa<db;fa++)hb[fa]=0;fa=3*Ua;for(db=Math.max(Ta.length,3*Ja);fa<db;fa++)Ta[fa]=0;fa=3*oa;for(db=Math.max(Ya.length,3*nb);fa<db;fa++)Ya[fa]=0;fa=3*Ha;for(db=Math.max(za.length,3*Ab);fa<db;fa++)za[fa]=0;fa=3*Ha;for(db=Math.max(Za.length,3*Ab);fa<db;fa++)Za[fa]=0;ka.directional.length=rb;ka.point.length=Ua;ka.spot.length=oa;ka.hemi.length=Ha;ka.ambient[0]=
R.pointLightPosition.value=ba.point.positions;R.pointLightDistance.value=ba.point.distances;R.pointLightDecay.value=ba.point.decays;R.spotLightColor.value=ba.spot.colors;R.spotLightPosition.value=ba.spot.positions;R.spotLightDistance.value=ba.spot.distances;R.spotLightDirection.value=ba.spot.directions;R.spotLightAngleCos.value=ba.spot.anglesCos;R.spotLightExponent.value=ba.spot.exponents;R.spotLightDecay.value=ba.spot.decays;R.hemisphereLightSkyColor.value=ba.hemi.skyColors;R.hemisphereLightGroundColor.value= Qa;ka.ambient[1]=eb;ka.ambient[2]=fb;Gb=!1}if(qa){var ba=qc;R.ambientLightColor.value=ba.ambient;R.directionalLightColor.value=ba.directional.colors;R.directionalLightDirection.value=ba.directional.positions;R.pointLightColor.value=ba.point.colors;R.pointLightPosition.value=ba.point.positions;R.pointLightDistance.value=ba.point.distances;R.pointLightDecay.value=ba.point.decays;R.spotLightColor.value=ba.spot.colors;R.spotLightPosition.value=ba.spot.positions;R.spotLightDistance.value=ba.spot.distances;
ba.hemi.groundColors;R.hemisphereLightDirection.value=ba.hemi.positions;w(R,!0)}else w(R,!1)}if(d instanceof THREE.MeshBasicMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshPhongMaterial){R.opacity.value=d.opacity;R.diffuse.value=d.color;R.map.value=d.map;R.lightMap.value=d.lightMap;R.specularMap.value=d.specularMap;R.alphaMap.value=d.alphaMap;d.bumpMap&&(R.bumpMap.value=d.bumpMap,R.bumpScale.value=d.bumpScale);d.normalMap&&(R.normalMap.value=d.normalMap,R.normalScale.value.copy(d.normalScale)); R.spotLightDirection.value=ba.spot.directions;R.spotLightAngleCos.value=ba.spot.anglesCos;R.spotLightExponent.value=ba.spot.exponents;R.spotLightDecay.value=ba.spot.decays;R.hemisphereLightSkyColor.value=ba.hemi.skyColors;R.hemisphereLightGroundColor.value=ba.hemi.groundColors;R.hemisphereLightDirection.value=ba.hemi.positions;w(R,!0)}else w(R,!1)}if(d instanceof THREE.MeshBasicMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshPhongMaterial){R.opacity.value=d.opacity;R.diffuse.value=
var jb;d.map?jb=d.map:d.specularMap?jb=d.specularMap:d.normalMap?jb=d.normalMap:d.bumpMap?jb=d.bumpMap:d.alphaMap&&(jb=d.alphaMap);if(void 0!==jb){var ub=jb.offset,Pb=jb.repeat;R.offsetRepeat.value.set(ub.x,ub.y,Pb.x,Pb.y)}R.envMap.value=d.envMap;R.flipEnvMap.value=d.envMap instanceof THREE.WebGLRenderTargetCube?1:-1;R.reflectivity.value=d.reflectivity;R.refractionRatio.value=d.refractionRatio}if(d instanceof THREE.LineBasicMaterial)R.diffuse.value=d.color,R.opacity.value=d.opacity;else if(d instanceof d.color;R.map.value=d.map;R.lightMap.value=d.lightMap;R.specularMap.value=d.specularMap;R.alphaMap.value=d.alphaMap;d.bumpMap&&(R.bumpMap.value=d.bumpMap,R.bumpScale.value=d.bumpScale);d.normalMap&&(R.normalMap.value=d.normalMap,R.normalScale.value.copy(d.normalScale));var jb;d.map?jb=d.map:d.specularMap?jb=d.specularMap:d.normalMap?jb=d.normalMap:d.bumpMap?jb=d.bumpMap:d.alphaMap&&(jb=d.alphaMap);if(void 0!==jb){var ub=jb.offset,Pb=jb.repeat;R.offsetRepeat.value.set(ub.x,ub.y,Pb.x,Pb.y)}R.envMap.value=
THREE.LineDashedMaterial)R.diffuse.value=d.color,R.opacity.value=d.opacity,R.dashSize.value=d.dashSize,R.totalSize.value=d.dashSize+d.gapSize,R.scale.value=d.scale;else if(d instanceof THREE.PointCloudMaterial){if(R.psColor.value=d.color,R.opacity.value=d.opacity,R.size.value=d.size,R.scale.value=O.height/2,R.map.value=d.map,null!==d.map){var Qb=d.map.offset,Rb=d.map.repeat;R.offsetRepeat.value.set(Qb.x,Qb.y,Rb.x,Rb.y)}}else d instanceof THREE.MeshPhongMaterial?(R.shininess.value=d.shininess,R.emissive.value= d.envMap;R.flipEnvMap.value=d.envMap instanceof THREE.WebGLRenderTargetCube?1:-1;R.reflectivity.value=d.reflectivity;R.refractionRatio.value=d.refractionRatio}if(d instanceof THREE.LineBasicMaterial)R.diffuse.value=d.color,R.opacity.value=d.opacity;else if(d instanceof THREE.LineDashedMaterial)R.diffuse.value=d.color,R.opacity.value=d.opacity,R.dashSize.value=d.dashSize,R.totalSize.value=d.dashSize+d.gapSize,R.scale.value=d.scale;else if(d instanceof THREE.PointCloudMaterial){if(R.psColor.value=d.color,
d.emissive,R.specular.value=d.specular,d.wrapAround&&R.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshLambertMaterial?(R.emissive.value=d.emissive,d.wrapAround&&R.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshDepthMaterial?(R.mNear.value=a.near,R.mFar.value=a.far,R.opacity.value=d.opacity):d instanceof THREE.MeshNormalMaterial&&(R.opacity.value=d.opacity);if(e.receiveShadow&&!d._shadowPass&&R.shadowMatrix)for(var vb=0,Bb=0,Z=b.length;Bb<Z;Bb++){var va=b[Bb];va.castShadow&&(va instanceof R.opacity.value=d.opacity,R.size.value=d.size,R.scale.value=O.height/2,R.map.value=d.map,null!==d.map){var Qb=d.map.offset,Rb=d.map.repeat;R.offsetRepeat.value.set(Qb.x,Qb.y,Rb.x,Rb.y)}}else d instanceof THREE.MeshPhongMaterial?(R.shininess.value=d.shininess,R.emissive.value=d.emissive,R.specular.value=d.specular,d.wrapAround&&R.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshLambertMaterial?(R.emissive.value=d.emissive,d.wrapAround&&R.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshDepthMaterial?
THREE.SpotLight||va instanceof THREE.DirectionalLight&&!va.shadowCascade)&&(R.shadowMap.value[vb]=va.shadowMap,R.shadowMapSize.value[vb]=va.shadowMapSize,R.shadowMatrix.value[vb]=va.shadowMatrix,R.shadowDarkness.value[vb]=va.shadowDarkness,R.shadowBias.value[vb]=va.shadowBias,vb++)}for(var Ib=d.uniformsList,Va,gb,Ka,tb=0,ac=Ib.length;tb<ac;tb++){var U=Ib[tb][0];if(!1!==U.needsUpdate){var Cb=U.type,T=U.value,$=Ib[tb][1];switch(Cb){case "1i":l.uniform1i($,T);break;case "1f":l.uniform1f($,T);break;case "2f":l.uniform2f($, (R.mNear.value=a.near,R.mFar.value=a.far,R.opacity.value=d.opacity):d instanceof THREE.MeshNormalMaterial&&(R.opacity.value=d.opacity);if(e.receiveShadow&&!d._shadowPass&&R.shadowMatrix)for(var vb=0,Bb=0,Z=b.length;Bb<Z;Bb++){var va=b[Bb];va.castShadow&&(va instanceof THREE.SpotLight||va instanceof THREE.DirectionalLight&&!va.shadowCascade)&&(R.shadowMap.value[vb]=va.shadowMap,R.shadowMapSize.value[vb]=va.shadowMapSize,R.shadowMatrix.value[vb]=va.shadowMatrix,R.shadowDarkness.value[vb]=va.shadowDarkness,
T[0],T[1]);break;case "3f":l.uniform3f($,T[0],T[1],T[2]);break;case "4f":l.uniform4f($,T[0],T[1],T[2],T[3]);break;case "1iv":l.uniform1iv($,T);break;case "3iv":l.uniform3iv($,T);break;case "1fv":l.uniform1fv($,T);break;case "2fv":l.uniform2fv($,T);break;case "3fv":l.uniform3fv($,T);break;case "4fv":l.uniform4fv($,T);break;case "Matrix3fv":l.uniformMatrix3fv($,!1,T);break;case "Matrix4fv":l.uniformMatrix4fv($,!1,T);break;case "i":l.uniform1i($,T);break;case "f":l.uniform1f($,T);break;case "v2":l.uniform2f($, R.shadowBias.value[vb]=va.shadowBias,vb++)}for(var Ib=d.uniformsList,Va,gb,Ka,tb=0,ac=Ib.length;tb<ac;tb++){var U=Ib[tb][0];if(!1!==U.needsUpdate){var Cb=U.type,T=U.value,$=Ib[tb][1];switch(Cb){case "1i":l.uniform1i($,T);break;case "1f":l.uniform1f($,T);break;case "2f":l.uniform2f($,T[0],T[1]);break;case "3f":l.uniform3f($,T[0],T[1],T[2]);break;case "4f":l.uniform4f($,T[0],T[1],T[2],T[3]);break;case "1iv":l.uniform1iv($,T);break;case "3iv":l.uniform3iv($,T);break;case "1fv":l.uniform1fv($,T);break;
T.x,T.y);break;case "v3":l.uniform3f($,T.x,T.y,T.z);break;case "v4":l.uniform4f($,T.x,T.y,T.z,T.w);break;case "c":l.uniform3f($,T.r,T.g,T.b);break;case "iv1":l.uniform1iv($,T);break;case "iv":l.uniform3iv($,T);break;case "fv1":l.uniform1fv($,T);break;case "fv":l.uniform3fv($,T);break;case "v2v":void 0===U._array&&(U._array=new Float32Array(2*T.length));for(var Y=0,Ca=T.length;Y<Ca;Y++)Ka=2*Y,U._array[Ka]=T[Y].x,U._array[Ka+1]=T[Y].y;l.uniform2fv($,U._array);break;case "v3v":void 0===U._array&&(U._array= case "2fv":l.uniform2fv($,T);break;case "3fv":l.uniform3fv($,T);break;case "4fv":l.uniform4fv($,T);break;case "Matrix3fv":l.uniformMatrix3fv($,!1,T);break;case "Matrix4fv":l.uniformMatrix4fv($,!1,T);break;case "i":l.uniform1i($,T);break;case "f":l.uniform1f($,T);break;case "v2":l.uniform2f($,T.x,T.y);break;case "v3":l.uniform3f($,T.x,T.y,T.z);break;case "v4":l.uniform4f($,T.x,T.y,T.z,T.w);break;case "c":l.uniform3f($,T.r,T.g,T.b);break;case "iv1":l.uniform1iv($,T);break;case "iv":l.uniform3iv($,T);
new Float32Array(3*T.length));Y=0;for(Ca=T.length;Y<Ca;Y++)Ka=3*Y,U._array[Ka]=T[Y].x,U._array[Ka+1]=T[Y].y,U._array[Ka+2]=T[Y].z;l.uniform3fv($,U._array);break;case "v4v":void 0===U._array&&(U._array=new Float32Array(4*T.length));Y=0;for(Ca=T.length;Y<Ca;Y++)Ka=4*Y,U._array[Ka]=T[Y].x,U._array[Ka+1]=T[Y].y,U._array[Ka+2]=T[Y].z,U._array[Ka+3]=T[Y].w;l.uniform4fv($,U._array);break;case "m3":l.uniformMatrix3fv($,!1,T.elements);break;case "m3v":void 0===U._array&&(U._array=new Float32Array(9*T.length)); break;case "fv1":l.uniform1fv($,T);break;case "fv":l.uniform3fv($,T);break;case "v2v":void 0===U._array&&(U._array=new Float32Array(2*T.length));for(var Y=0,Ca=T.length;Y<Ca;Y++)Ka=2*Y,U._array[Ka]=T[Y].x,U._array[Ka+1]=T[Y].y;l.uniform2fv($,U._array);break;case "v3v":void 0===U._array&&(U._array=new Float32Array(3*T.length));Y=0;for(Ca=T.length;Y<Ca;Y++)Ka=3*Y,U._array[Ka]=T[Y].x,U._array[Ka+1]=T[Y].y,U._array[Ka+2]=T[Y].z;l.uniform3fv($,U._array);break;case "v4v":void 0===U._array&&(U._array=new Float32Array(4*
Y=0;for(Ca=T.length;Y<Ca;Y++)T[Y].flattenToArrayOffset(U._array,9*Y);l.uniformMatrix3fv($,!1,U._array);break;case "m4":l.uniformMatrix4fv($,!1,T.elements);break;case "m4v":void 0===U._array&&(U._array=new Float32Array(16*T.length));Y=0;for(Ca=T.length;Y<Ca;Y++)T[Y].flattenToArrayOffset(U._array,16*Y);l.uniformMatrix4fv($,!1,U._array);break;case "t":Va=T;gb=y();l.uniform1i($,gb);if(!Va)continue;if(Va instanceof THREE.CubeTexture||Va.image instanceof Array&&6===Va.image.length){var W=Va,Db=gb;if(6=== T.length));Y=0;for(Ca=T.length;Y<Ca;Y++)Ka=4*Y,U._array[Ka]=T[Y].x,U._array[Ka+1]=T[Y].y,U._array[Ka+2]=T[Y].z,U._array[Ka+3]=T[Y].w;l.uniform4fv($,U._array);break;case "m3":l.uniformMatrix3fv($,!1,T.elements);break;case "m3v":void 0===U._array&&(U._array=new Float32Array(9*T.length));Y=0;for(Ca=T.length;Y<Ca;Y++)T[Y].flattenToArrayOffset(U._array,9*Y);l.uniformMatrix3fv($,!1,U._array);break;case "m4":l.uniformMatrix4fv($,!1,T.elements);break;case "m4v":void 0===U._array&&(U._array=new Float32Array(16*
W.image.length)if(W.needsUpdate){W.image.__webglTextureCube||(W.addEventListener("dispose",Hb),W.image.__webglTextureCube=l.createTexture(),B.info.memory.textures++);l.activeTexture(l.TEXTURE0+Db);l.bindTexture(l.TEXTURE_CUBE_MAP,W.image.__webglTextureCube);l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,W.flipY);for(var Vb=W instanceof THREE.CompressedTexture,Jb=W.image[0]instanceof THREE.DataTexture,kb=[],wa=0;6>wa;wa++)kb[wa]=!B.autoScaleCubemaps||Vb||Jb?Jb?W.image[wa].image:W.image[wa]:L(W.image[wa],Gc); T.length));Y=0;for(Ca=T.length;Y<Ca;Y++)T[Y].flattenToArrayOffset(U._array,16*Y);l.uniformMatrix4fv($,!1,U._array);break;case "t":Va=T;gb=y();l.uniform1i($,gb);if(!Va)continue;if(Va instanceof THREE.CubeTexture||Va.image instanceof Array&&6===Va.image.length){var W=Va,Db=gb;if(6===W.image.length)if(W.needsUpdate){W.image.__webglTextureCube||(W.addEventListener("dispose",Hb),W.image.__webglTextureCube=l.createTexture(),B.info.memory.textures++);l.activeTexture(l.TEXTURE0+Db);l.bindTexture(l.TEXTURE_CUBE_MAP,
var Sb=kb[0],Tb=THREE.Math.isPowerOfTwo(Sb.width)&&THREE.Math.isPowerOfTwo(Sb.height),bb=S(W.format),wb=S(W.type);z(l.TEXTURE_CUBE_MAP,W,Tb);for(wa=0;6>wa;wa++)if(Vb)for(var lb,Ub=kb[wa].mipmaps,Eb=0,Wb=Ub.length;Eb<Wb;Eb++)lb=Ub[Eb],W.format!==THREE.RGBAFormat&&W.format!==THREE.RGBFormat?-1<rc().indexOf(bb)?l.compressedTexImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+wa,Eb,bb,lb.width,lb.height,0,lb.data):THREE.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setCubeTexture()"): W.image.__webglTextureCube);l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,W.flipY);for(var Vb=W instanceof THREE.CompressedTexture,Jb=W.image[0]instanceof THREE.DataTexture,kb=[],wa=0;6>wa;wa++)kb[wa]=!B.autoScaleCubemaps||Vb||Jb?Jb?W.image[wa].image:W.image[wa]:L(W.image[wa],Gc);var Sb=kb[0],Tb=THREE.Math.isPowerOfTwo(Sb.width)&&THREE.Math.isPowerOfTwo(Sb.height),bb=S(W.format),wb=S(W.type);z(l.TEXTURE_CUBE_MAP,W,Tb);for(wa=0;6>wa;wa++)if(Vb)for(var lb,Ub=kb[wa].mipmaps,Eb=0,Wb=Ub.length;Eb<Wb;Eb++)lb=Ub[Eb],
l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+wa,Eb,bb,lb.width,lb.height,0,bb,wb,lb.data);else Jb?l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+wa,0,bb,kb[wa].width,kb[wa].height,0,bb,wb,kb[wa].data):l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+wa,0,bb,bb,wb,kb[wa]);W.generateMipmaps&&Tb&&l.generateMipmap(l.TEXTURE_CUBE_MAP);W.needsUpdate=!1;if(W.onUpdate)W.onUpdate()}else l.activeTexture(l.TEXTURE0+Db),l.bindTexture(l.TEXTURE_CUBE_MAP,W.image.__webglTextureCube)}else if(Va instanceof THREE.WebGLRenderTargetCube){var Kb= W.format!==THREE.RGBAFormat&&W.format!==THREE.RGBFormat?-1<rc().indexOf(bb)?l.compressedTexImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+wa,Eb,bb,lb.width,lb.height,0,lb.data):THREE.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setCubeTexture()"):l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+wa,Eb,bb,lb.width,lb.height,0,bb,wb,lb.data);else Jb?l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+wa,0,bb,kb[wa].width,kb[wa].height,0,bb,wb,kb[wa].data):l.texImage2D(l.TEXTURE_CUBE_MAP_POSITIVE_X+
Va;l.activeTexture(l.TEXTURE0+gb);l.bindTexture(l.TEXTURE_CUBE_MAP,Kb.__webglTexture)}else B.setTexture(Va,gb);break;case "tv":void 0===U._array&&(U._array=[]);Y=0;for(Ca=U.value.length;Y<Ca;Y++)U._array[Y]=y();l.uniform1iv($,U._array);Y=0;for(Ca=U.value.length;Y<Ca;Y++)Va=U.value[Y],gb=U._array[Y],Va&&B.setTexture(Va,gb);break;default:THREE.warn("THREE.WebGLRenderer: Unknown uniform type: "+Cb)}}}}l.uniformMatrix4fv(ga.modelViewMatrix,!1,e._modelViewMatrix.elements);ga.normalMatrix&&l.uniformMatrix3fv(ga.normalMatrix, wa,0,bb,bb,wb,kb[wa]);W.generateMipmaps&&Tb&&l.generateMipmap(l.TEXTURE_CUBE_MAP);W.needsUpdate=!1;if(W.onUpdate)W.onUpdate()}else l.activeTexture(l.TEXTURE0+Db),l.bindTexture(l.TEXTURE_CUBE_MAP,W.image.__webglTextureCube)}else if(Va instanceof THREE.WebGLRenderTargetCube){var Kb=Va;l.activeTexture(l.TEXTURE0+gb);l.bindTexture(l.TEXTURE_CUBE_MAP,Kb.__webglTexture)}else B.setTexture(Va,gb);break;case "tv":void 0===U._array&&(U._array=[]);Y=0;for(Ca=U.value.length;Y<Ca;Y++)U._array[Y]=y();l.uniform1iv($,
!1,e._normalMatrix.elements);null!==ga.modelMatrix&&l.uniformMatrix4fv(ga.modelMatrix,!1,e.matrixWorld.elements);return ua}function w(a,b){a.ambientLightColor.needsUpdate=b;a.directionalLightColor.needsUpdate=b;a.directionalLightDirection.needsUpdate=b;a.pointLightColor.needsUpdate=b;a.pointLightPosition.needsUpdate=b;a.pointLightDistance.needsUpdate=b;a.pointLightDecay.needsUpdate=b;a.spotLightColor.needsUpdate=b;a.spotLightPosition.needsUpdate=b;a.spotLightDistance.needsUpdate=b;a.spotLightDirection.needsUpdate= U._array);Y=0;for(Ca=U.value.length;Y<Ca;Y++)Va=U.value[Y],gb=U._array[Y],Va&&B.setTexture(Va,gb);break;default:THREE.warn("THREE.WebGLRenderer: Unknown uniform type: "+Cb)}}}}l.uniformMatrix4fv(ga.modelViewMatrix,!1,e._modelViewMatrix.elements);ga.normalMatrix&&l.uniformMatrix3fv(ga.normalMatrix,!1,e._normalMatrix.elements);null!==ga.modelMatrix&&l.uniformMatrix4fv(ga.modelMatrix,!1,e.matrixWorld.elements);return ua}function w(a,b){a.ambientLightColor.needsUpdate=b;a.directionalLightColor.needsUpdate=
b;a.spotLightAngleCos.needsUpdate=b;a.spotLightExponent.needsUpdate=b;a.spotLightDecay.needsUpdate=b;a.hemisphereLightSkyColor.needsUpdate=b;a.hemisphereLightGroundColor.needsUpdate=b;a.hemisphereLightDirection.needsUpdate=b}function y(){var a=Nb;a>=sc&&THREE.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+sc);Nb+=1;return a}function A(a,b){a._modelViewMatrix.multiplyMatrices(b.matrixWorldInverse,a.matrixWorld);a._normalMatrix.getNormalMatrix(a._modelViewMatrix)} b;a.directionalLightDirection.needsUpdate=b;a.pointLightColor.needsUpdate=b;a.pointLightPosition.needsUpdate=b;a.pointLightDistance.needsUpdate=b;a.pointLightDecay.needsUpdate=b;a.spotLightColor.needsUpdate=b;a.spotLightPosition.needsUpdate=b;a.spotLightDistance.needsUpdate=b;a.spotLightDirection.needsUpdate=b;a.spotLightAngleCos.needsUpdate=b;a.spotLightExponent.needsUpdate=b;a.spotLightDecay.needsUpdate=b;a.hemisphereLightSkyColor.needsUpdate=b;a.hemisphereLightGroundColor.needsUpdate=b;a.hemisphereLightDirection.needsUpdate=
function F(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function G(a){a*=P;a!==tc&&(l.lineWidth(a),tc=a)}function E(a,b,c){uc!==a&&(a?l.enable(l.POLYGON_OFFSET_FILL):l.disable(l.POLYGON_OFFSET_FILL),uc=a);!a||vc===b&&wc===c||(l.polygonOffset(b,c),vc=b,wc=c)}function z(a,b,c){c?(l.texParameteri(a,l.TEXTURE_WRAP_S,S(b.wrapS)),l.texParameteri(a,l.TEXTURE_WRAP_T,S(b.wrapT)),l.texParameteri(a,l.TEXTURE_MAG_FILTER,S(b.magFilter)),l.texParameteri(a,l.TEXTURE_MIN_FILTER,S(b.minFilter))):(l.texParameteri(a, b}function y(){var a=Nb;a>=sc&&THREE.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+sc);Nb+=1;return a}function A(a,b){a._modelViewMatrix.multiplyMatrices(b.matrixWorldInverse,a.matrixWorld);a._normalMatrix.getNormalMatrix(a._modelViewMatrix)}function F(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function G(a){a*=P;a!==tc&&(l.lineWidth(a),tc=a)}function E(a,b,c){uc!==a&&(a?l.enable(l.POLYGON_OFFSET_FILL):l.disable(l.POLYGON_OFFSET_FILL),uc=a);!a||vc===b&&wc===
l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(a,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),b.wrapS===THREE.ClampToEdgeWrapping&&b.wrapT===THREE.ClampToEdgeWrapping||THREE.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping. ( "+b.sourceFile+" )"),l.texParameteri(a,l.TEXTURE_MAG_FILTER,K(b.magFilter)),l.texParameteri(a,l.TEXTURE_MIN_FILTER,K(b.minFilter)),b.minFilter!==THREE.NearestFilter&&b.minFilter!==THREE.LinearFilter&&THREE.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter. ( "+ c||(l.polygonOffset(b,c),vc=b,wc=c)}function z(a,b,c){c?(l.texParameteri(a,l.TEXTURE_WRAP_S,S(b.wrapS)),l.texParameteri(a,l.TEXTURE_WRAP_T,S(b.wrapT)),l.texParameteri(a,l.TEXTURE_MAG_FILTER,S(b.magFilter)),l.texParameteri(a,l.TEXTURE_MIN_FILTER,S(b.minFilter))):(l.texParameteri(a,l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(a,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),b.wrapS===THREE.ClampToEdgeWrapping&&b.wrapT===THREE.ClampToEdgeWrapping||THREE.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping. ( "+
b.sourceFile+" )"));(c=aa.get("EXT_texture_filter_anisotropic"))&&b.type!==THREE.FloatType&&b.type!==THREE.HalfFloatType&&(1<b.anisotropy||b.__oldAnisotropy)&&(l.texParameterf(a,c.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(b.anisotropy,B.getMaxAnisotropy())),b.__oldAnisotropy=b.anisotropy)}function L(a,b){if(a.width>b||a.height>b){var c=b/Math.max(a.width,a.height),d=document.createElement("canvas");d.width=Math.floor(a.width*c);d.height=Math.floor(a.height*c);d.getContext("2d").drawImage(a,0,0,a.width, b.sourceFile+" )"),l.texParameteri(a,l.TEXTURE_MAG_FILTER,K(b.magFilter)),l.texParameteri(a,l.TEXTURE_MIN_FILTER,K(b.minFilter)),b.minFilter!==THREE.NearestFilter&&b.minFilter!==THREE.LinearFilter&&THREE.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter. ( "+b.sourceFile+" )"));(c=aa.get("EXT_texture_filter_anisotropic"))&&b.type!==THREE.FloatType&&b.type!==THREE.HalfFloatType&&(1<b.anisotropy||b.__oldAnisotropy)&&
a.height,0,0,d.width,d.height);THREE.warn("THREE.WebGLRenderer: image is too big ("+a.width+"x"+a.height+"). Resized to "+d.width+"x"+d.height,a);return d}return a}function J(a,b){l.bindRenderbuffer(l.RENDERBUFFER,a);b.depthBuffer&&!b.stencilBuffer?(l.renderbufferStorage(l.RENDERBUFFER,l.DEPTH_COMPONENT16,b.width,b.height),l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_ATTACHMENT,l.RENDERBUFFER,a)):b.depthBuffer&&b.stencilBuffer?(l.renderbufferStorage(l.RENDERBUFFER,l.DEPTH_STENCIL,b.width,b.height), (l.texParameterf(a,c.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(b.anisotropy,B.getMaxAnisotropy())),b.__oldAnisotropy=b.anisotropy)}function L(a,b){if(a.width>b||a.height>b){var c=b/Math.max(a.width,a.height),d=document.createElement("canvas");d.width=Math.floor(a.width*c);d.height=Math.floor(a.height*c);d.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,d.width,d.height);THREE.warn("THREE.WebGLRenderer: image is too big ("+a.width+"x"+a.height+"). Resized to "+d.width+"x"+d.height,a);return d}return a}
l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_STENCIL_ATTACHMENT,l.RENDERBUFFER,a)):l.renderbufferStorage(l.RENDERBUFFER,l.RGBA4,b.width,b.height)}function M(a){a instanceof THREE.WebGLRenderTargetCube?(l.bindTexture(l.TEXTURE_CUBE_MAP,a.__webglTexture),l.generateMipmap(l.TEXTURE_CUBE_MAP),l.bindTexture(l.TEXTURE_CUBE_MAP,null)):(l.bindTexture(l.TEXTURE_2D,a.__webglTexture),l.generateMipmap(l.TEXTURE_2D),l.bindTexture(l.TEXTURE_2D,null))}function K(a){return a===THREE.NearestFilter||a===THREE.NearestMipMapNearestFilter|| function J(a,b){l.bindRenderbuffer(l.RENDERBUFFER,a);b.depthBuffer&&!b.stencilBuffer?(l.renderbufferStorage(l.RENDERBUFFER,l.DEPTH_COMPONENT16,b.width,b.height),l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_ATTACHMENT,l.RENDERBUFFER,a)):b.depthBuffer&&b.stencilBuffer?(l.renderbufferStorage(l.RENDERBUFFER,l.DEPTH_STENCIL,b.width,b.height),l.framebufferRenderbuffer(l.FRAMEBUFFER,l.DEPTH_STENCIL_ATTACHMENT,l.RENDERBUFFER,a)):l.renderbufferStorage(l.RENDERBUFFER,l.RGBA4,b.width,b.height)}function M(a){a instanceof
a===THREE.NearestMipMapLinearFilter?l.NEAREST:l.LINEAR}function S(a){var b;if(a===THREE.RepeatWrapping)return l.REPEAT;if(a===THREE.ClampToEdgeWrapping)return l.CLAMP_TO_EDGE;if(a===THREE.MirroredRepeatWrapping)return l.MIRRORED_REPEAT;if(a===THREE.NearestFilter)return l.NEAREST;if(a===THREE.NearestMipMapNearestFilter)return l.NEAREST_MIPMAP_NEAREST;if(a===THREE.NearestMipMapLinearFilter)return l.NEAREST_MIPMAP_LINEAR;if(a===THREE.LinearFilter)return l.LINEAR;if(a===THREE.LinearMipMapNearestFilter)return l.LINEAR_MIPMAP_NEAREST; THREE.WebGLRenderTargetCube?(l.bindTexture(l.TEXTURE_CUBE_MAP,a.__webglTexture),l.generateMipmap(l.TEXTURE_CUBE_MAP),l.bindTexture(l.TEXTURE_CUBE_MAP,null)):(l.bindTexture(l.TEXTURE_2D,a.__webglTexture),l.generateMipmap(l.TEXTURE_2D),l.bindTexture(l.TEXTURE_2D,null))}function K(a){return a===THREE.NearestFilter||a===THREE.NearestMipMapNearestFilter||a===THREE.NearestMipMapLinearFilter?l.NEAREST:l.LINEAR}function S(a){var b;if(a===THREE.RepeatWrapping)return l.REPEAT;if(a===THREE.ClampToEdgeWrapping)return l.CLAMP_TO_EDGE;
if(a===THREE.LinearMipMapLinearFilter)return l.LINEAR_MIPMAP_LINEAR;if(a===THREE.UnsignedByteType)return l.UNSIGNED_BYTE;if(a===THREE.UnsignedShort4444Type)return l.UNSIGNED_SHORT_4_4_4_4;if(a===THREE.UnsignedShort5551Type)return l.UNSIGNED_SHORT_5_5_5_1;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.MirroredRepeatWrapping)return l.MIRRORED_REPEAT;if(a===THREE.NearestFilter)return l.NEAREST;if(a===THREE.NearestMipMapNearestFilter)return l.NEAREST_MIPMAP_NEAREST;if(a===THREE.NearestMipMapLinearFilter)return l.NEAREST_MIPMAP_LINEAR;if(a===THREE.LinearFilter)return l.LINEAR;if(a===THREE.LinearMipMapNearestFilter)return l.LINEAR_MIPMAP_NEAREST;if(a===THREE.LinearMipMapLinearFilter)return l.LINEAR_MIPMAP_LINEAR;if(a===THREE.UnsignedByteType)return l.UNSIGNED_BYTE;if(a===THREE.UnsignedShort4444Type)return l.UNSIGNED_SHORT_4_4_4_4;
if(a===THREE.FloatType)return l.FLOAT;b=aa.get("OES_texture_half_float");if(null!==b&&a===THREE.HalfFloatType)return b.HALF_FLOAT_OES;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.UnsignedShort5551Type)return l.UNSIGNED_SHORT_5_5_5_1;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;b=aa.get("OES_texture_half_float");if(null!==b&&a===THREE.HalfFloatType)return b.HALF_FLOAT_OES;if(a===THREE.AlphaFormat)return l.ALPHA;
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.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.SrcAlphaSaturateFactor)return l.SRC_ALPHA_SATURATE;b=aa.get("WEBGL_compressed_texture_s3tc");if(null!==b){if(a===THREE.RGB_S3TC_DXT1_Format)return b.COMPRESSED_RGB_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT1_Format)return b.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT3_Format)return b.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(a===THREE.RGBA_S3TC_DXT5_Format)return b.COMPRESSED_RGBA_S3TC_DXT5_EXT}b=aa.get("WEBGL_compressed_texture_pvrtc");if(null!==b){if(a===THREE.RGB_PVRTC_4BPPV1_Format)return b.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; 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;b=aa.get("WEBGL_compressed_texture_s3tc");if(null!==b){if(a===THREE.RGB_S3TC_DXT1_Format)return b.COMPRESSED_RGB_S3TC_DXT1_EXT;
if(a===THREE.RGB_PVRTC_2BPPV1_Format)return b.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(a===THREE.RGBA_PVRTC_4BPPV1_Format)return b.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(a===THREE.RGBA_PVRTC_2BPPV1_Format)return b.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}b=aa.get("EXT_blend_minmax");if(null!==b){if(a===THREE.MinEquation)return b.MIN_EXT;if(a===THREE.MaxEquation)return b.MAX_EXT}return 0}console.log("THREE.WebGLRenderer",THREE.REVISION);a=a||{};var O=void 0!==a.canvas?a.canvas:document.createElement("canvas"),N=void 0!== if(a===THREE.RGBA_S3TC_DXT1_Format)return b.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT3_Format)return b.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(a===THREE.RGBA_S3TC_DXT5_Format)return b.COMPRESSED_RGBA_S3TC_DXT5_EXT}b=aa.get("WEBGL_compressed_texture_pvrtc");if(null!==b){if(a===THREE.RGB_PVRTC_4BPPV1_Format)return b.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(a===THREE.RGB_PVRTC_2BPPV1_Format)return b.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(a===THREE.RGBA_PVRTC_4BPPV1_Format)return b.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
a.context?a.context:null,P=1,V=void 0!==a.precision?a.precision:"highp",I=void 0!==a.alpha?a.alpha:!1,ma=void 0!==a.depth?a.depth:!0,ca=void 0!==a.stencil?a.stencil:!0,qa=void 0!==a.antialias?a.antialias:!1,Q=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,ua=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,pa=void 0!==a.logarithmicDepthBuffer?a.logarithmicDepthBuffer:!1,ja=new THREE.Color(0),ta=0,xa=[],ya={},Ma=[],Ea=[],Ra=[],Da=[],pb=[];this.domElement=O;this.context=null;this.sortObjects= if(a===THREE.RGBA_PVRTC_2BPPV1_Format)return b.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}b=aa.get("EXT_blend_minmax");if(null!==b){if(a===THREE.MinEquation)return b.MIN_EXT;if(a===THREE.MaxEquation)return b.MAX_EXT}return 0}console.log("THREE.WebGLRenderer",THREE.REVISION);a=a||{};var O=void 0!==a.canvas?a.canvas:document.createElement("canvas"),N=void 0!==a.context?a.context:null,P=1,V=void 0!==a.precision?a.precision:"highp",I=void 0!==a.alpha?a.alpha:!1,ma=void 0!==a.depth?a.depth:!0,ca=void 0!==a.stencil?
this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.gammaFactor=2;this.shadowMapEnabled=this.gammaOutput=this.gammaInput=!1;this.shadowMapType=THREE.PCFShadowMap;this.shadowMapCullFace=THREE.CullFaceFront;this.shadowMapCascade=this.shadowMapDebug=!1;this.maxMorphTargets=8;this.maxMorphNormals=4;this.autoScaleCubemaps=!0;this.info={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};var B=this,cb=[],$b=null,yb=null,xb=-1,La="", a.stencil:!0,qa=void 0!==a.antialias?a.antialias:!1,Q=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,ua=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,pa=void 0!==a.logarithmicDepthBuffer?a.logarithmicDepthBuffer:!1,ja=new THREE.Color(0),ta=0,xa=[],ya={},Ma=[],Ea=[],Ra=[],Da=[],pb=[];this.domElement=O;this.context=null;this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.gammaFactor=2;this.shadowMapEnabled=this.gammaOutput=this.gammaInput=
Fb=null,Nb=0,zb=-1,Pb=-1,Qb=-1,Rb=-1,ac=-1,Sb=-1,Tb=-1,Ub=-1,gc=-1,hc=-1,ic=-1,uc=null,vc=null,wc=null,tc=null,mb=0,nb=0,Wa=O.width,eb=O.height,xc=0,yc=0,ob=new Uint8Array(16),Qa=new Uint8Array(16),hb=new THREE.Frustum,ub=new THREE.Matrix4;new THREE.Matrix4;var Aa=new THREE.Vector3,la=new THREE.Vector3,Gb=!0,qc={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[],decays:[]},spot:{length:0,colors:[],positions:[],distances:[],directions:[], !1;this.shadowMapType=THREE.PCFShadowMap;this.shadowMapCullFace=THREE.CullFaceFront;this.shadowMapCascade=this.shadowMapDebug=!1;this.maxMorphTargets=8;this.maxMorphNormals=4;this.autoScaleCubemaps=!0;this.info={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};var B=this,cb=[],$b=null,yb=null,xb=-1,La="",Fb=null,Nb=0,zb=-1,Pb=-1,Qb=-1,Rb=-1,ac=-1,Sb=-1,Tb=-1,Ub=-1,gc=-1,hc=-1,ic=-1,uc=null,vc=null,wc=null,tc=null,mb=0,nb=0,Wa=O.width,eb=O.height,xc=0,yc=0,
anglesCos:[],exponents:[],decays:[]},hemi:{length:0,skyColors:[],groundColors:[],positions:[]}},l;try{var zc={alpha:I,depth:ma,stencil:ca,antialias:qa,premultipliedAlpha:Q,preserveDrawingBuffer:ua};l=N||O.getContext("webgl",zc)||O.getContext("experimental-webgl",zc);if(null===l){if(null!==O.getContext("webgl"))throw"Error creating WebGL context with your selected attributes.";throw"Error creating WebGL context.";}O.addEventListener("webglcontextlost",function(a){a.preventDefault();Ac();Bc();ya={}}, ob=new Uint8Array(16),Qa=new Uint8Array(16),hb=new THREE.Frustum,ub=new THREE.Matrix4;new THREE.Matrix4;var Aa=new THREE.Vector3,la=new THREE.Vector3,Gb=!0,qc={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[],decays:[]},spot:{length:0,colors:[],positions:[],distances:[],directions:[],anglesCos:[],exponents:[],decays:[]},hemi:{length:0,skyColors:[],groundColors:[],positions:[]}},l;try{var zc={alpha:I,depth:ma,stencil:ca,antialias:qa,
!1)}catch(Hc){THREE.error("THREE.WebGLRenderer: "+Hc)}void 0===l.getShaderPrecisionFormat&&(l.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}});var aa=new THREE.WebGLExtensions(l);aa.get("OES_texture_float");aa.get("OES_texture_float_linear");aa.get("OES_texture_half_float");aa.get("OES_texture_half_float_linear");aa.get("OES_standard_derivatives");pa&&aa.get("EXT_frag_depth");var jc=function(a,b,c,d){!0===Q&&(a*=d,b*=d,c*=d);l.clearColor(a,b,c,d)},Bc=function(){l.clearColor(0, premultipliedAlpha:Q,preserveDrawingBuffer:ua};l=N||O.getContext("webgl",zc)||O.getContext("experimental-webgl",zc);if(null===l){if(null!==O.getContext("webgl"))throw"Error creating WebGL context with your selected attributes.";throw"Error creating WebGL context.";}O.addEventListener("webglcontextlost",function(a){a.preventDefault();Ac();Bc();ya={}},!1)}catch(Hc){THREE.error("THREE.WebGLRenderer: "+Hc)}void 0===l.getShaderPrecisionFormat&&(l.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,
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(mb,nb,Wa,eb);jc(ja.r,ja.g,ja.b,ta)},Ac=function(){Fb=$b=null;Pb=zb=ic=hc=Qb=-1;La="";xb=-1;Gb=!0;for(var a=0;a<Qa.length;a++)Qa[a]=0};Bc();this.context=l;var sc=l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS),Ic=l.getParameter(l.MAX_VERTEX_TEXTURE_IMAGE_UNITS), precision:1}});var aa=new THREE.WebGLExtensions(l);aa.get("OES_texture_float");aa.get("OES_texture_float_linear");aa.get("OES_texture_half_float");aa.get("OES_texture_half_float_linear");aa.get("OES_standard_derivatives");pa&&aa.get("EXT_frag_depth");var jc=function(a,b,c,d){!0===Q&&(a*=d,b*=d,c*=d);l.clearColor(a,b,c,d)},Bc=function(){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);
Jc=l.getParameter(l.MAX_TEXTURE_SIZE),Gc=l.getParameter(l.MAX_CUBE_MAP_TEXTURE_SIZE),Zb=0<Ic,Ob=Zb&&aa.get("OES_texture_float"),Kc=l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.HIGH_FLOAT),Lc=l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.LOW_FLOAT);var Mc=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.HIGH_FLOAT),Nc=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.LOW_FLOAT);var rc= l.blendEquation(l.FUNC_ADD);l.blendFunc(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA);l.viewport(mb,nb,Wa,eb);jc(ja.r,ja.g,ja.b,ta)},Ac=function(){Fb=$b=null;Pb=zb=ic=hc=Qb=-1;La="";xb=-1;Gb=!0;for(var a=0;a<Qa.length;a++)Qa[a]=0};Bc();this.context=l;var sc=l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS),Ic=l.getParameter(l.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Jc=l.getParameter(l.MAX_TEXTURE_SIZE),Gc=l.getParameter(l.MAX_CUBE_MAP_TEXTURE_SIZE),Zb=0<Ic,Ob=Zb&&aa.get("OES_texture_float"),Kc=l.getShaderPrecisionFormat(l.VERTEX_SHADER,
function(){var a;return function(){if(void 0!==a)return a;a=[];if(aa.get("WEBGL_compressed_texture_pvrtc")||aa.get("WEBGL_compressed_texture_s3tc"))for(var b=l.getParameter(l.COMPRESSED_TEXTURE_FORMATS),c=0;c<b.length;c++)a.push(b[c]);return a}}(),Oc=0<Kc.precision&&0<Mc.precision,Cc=0<Lc.precision&&0<Nc.precision;"highp"!==V||Oc||(Cc?(V="mediump",THREE.warn("THREE.WebGLRenderer: highp not supported, using mediump.")):(V="lowp",THREE.warn("THREE.WebGLRenderer: highp and mediump not supported, using lowp."))); l.HIGH_FLOAT),Lc=l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.VERTEX_SHADER,l.LOW_FLOAT);var Mc=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.HIGH_FLOAT),Nc=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.LOW_FLOAT);var rc=function(){var a;return function(){if(void 0!==a)return a;a=[];if(aa.get("WEBGL_compressed_texture_pvrtc")||aa.get("WEBGL_compressed_texture_s3tc"))for(var b=l.getParameter(l.COMPRESSED_TEXTURE_FORMATS),
"mediump"!==V||Cc||(V="lowp",THREE.warn("THREE.WebGLRenderer: mediump not supported, using lowp."));var Pc=new THREE.ShadowMapPlugin(this,xa,ya,Ma),Qc=new THREE.SpritePlugin(this,Da),Rc=new THREE.LensFlarePlugin(this,pb);this.getContext=function(){return l};this.forceContextLoss=function(){aa.get("WEBGL_lose_context").loseContext()};this.supportsVertexTextures=function(){return Zb};this.supportsFloatTextures=function(){return aa.get("OES_texture_float")};this.supportsHalfFloatTextures=function(){return aa.get("OES_texture_half_float")}; c=0;c<b.length;c++)a.push(b[c]);return a}}(),Oc=0<Kc.precision&&0<Mc.precision,Cc=0<Lc.precision&&0<Nc.precision;"highp"!==V||Oc||(Cc?(V="mediump",THREE.warn("THREE.WebGLRenderer: highp not supported, using mediump.")):(V="lowp",THREE.warn("THREE.WebGLRenderer: highp and mediump not supported, using lowp.")));"mediump"!==V||Cc||(V="lowp",THREE.warn("THREE.WebGLRenderer: mediump not supported, using lowp."));var Pc=new THREE.ShadowMapPlugin(this,xa,ya,Ma),Qc=new THREE.SpritePlugin(this,Da),Rc=new THREE.LensFlarePlugin(this,
this.supportsStandardDerivatives=function(){return aa.get("OES_standard_derivatives")};this.supportsCompressedTextureS3TC=function(){return aa.get("WEBGL_compressed_texture_s3tc")};this.supportsCompressedTexturePVRTC=function(){return aa.get("WEBGL_compressed_texture_pvrtc")};this.supportsBlendMinMax=function(){return aa.get("EXT_blend_minmax")};this.getMaxAnisotropy=function(){var a;return function(){if(void 0!==a)return a;var b=aa.get("EXT_texture_filter_anisotropic");return a=null!==b?l.getParameter(b.MAX_TEXTURE_MAX_ANISOTROPY_EXT): pb);this.getContext=function(){return l};this.forceContextLoss=function(){aa.get("WEBGL_lose_context").loseContext()};this.supportsVertexTextures=function(){return Zb};this.supportsFloatTextures=function(){return aa.get("OES_texture_float")};this.supportsHalfFloatTextures=function(){return aa.get("OES_texture_half_float")};this.supportsStandardDerivatives=function(){return aa.get("OES_standard_derivatives")};this.supportsCompressedTextureS3TC=function(){return aa.get("WEBGL_compressed_texture_s3tc")};
0}}();this.getPrecision=function(){return V};this.getPixelRatio=function(){return P};this.setPixelRatio=function(a){P=a};this.setSize=function(a,b,c){O.width=a*P;O.height=b*P;!1!==c&&(O.style.width=a+"px",O.style.height=b+"px");this.setViewport(0,0,a,b)};this.setViewport=function(a,b,c,d){mb=a*P;nb=b*P;Wa=c*P;eb=d*P;l.viewport(mb,nb,Wa,eb)};this.setScissor=function(a,b,c,d){l.scissor(a*P,b*P,c*P,d*P)};this.enableScissorTest=function(a){a?l.enable(l.SCISSOR_TEST):l.disable(l.SCISSOR_TEST)};this.getClearColor= this.supportsCompressedTexturePVRTC=function(){return aa.get("WEBGL_compressed_texture_pvrtc")};this.supportsBlendMinMax=function(){return aa.get("EXT_blend_minmax")};this.getMaxAnisotropy=function(){var a;return function(){if(void 0!==a)return a;var b=aa.get("EXT_texture_filter_anisotropic");return a=null!==b?l.getParameter(b.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}}();this.getPrecision=function(){return V};this.getPixelRatio=function(){return P};this.setPixelRatio=function(a){P=a};this.setSize=function(a,
function(){return ja};this.setClearColor=function(a,b){ja.set(a);ta=void 0!==b?b:1;jc(ja.r,ja.g,ja.b,ta)};this.getClearAlpha=function(){return ta};this.setClearAlpha=function(a){ta=a;jc(ja.r,ja.g,ja.b,ta)};this.clear=function(a,b,c){var d=0;if(void 0===a||a)d|=l.COLOR_BUFFER_BIT;if(void 0===b||b)d|=l.DEPTH_BUFFER_BIT;if(void 0===c||c)d|=l.STENCIL_BUFFER_BIT;l.clear(d)};this.clearColor=function(){l.clear(l.COLOR_BUFFER_BIT)};this.clearDepth=function(){l.clear(l.DEPTH_BUFFER_BIT)};this.clearStencil= b,c){O.width=a*P;O.height=b*P;!1!==c&&(O.style.width=a+"px",O.style.height=b+"px");this.setViewport(0,0,a,b)};this.setViewport=function(a,b,c,d){mb=a*P;nb=b*P;Wa=c*P;eb=d*P;l.viewport(mb,nb,Wa,eb)};this.setScissor=function(a,b,c,d){l.scissor(a*P,b*P,c*P,d*P)};this.enableScissorTest=function(a){a?l.enable(l.SCISSOR_TEST):l.disable(l.SCISSOR_TEST)};this.getClearColor=function(){return ja};this.setClearColor=function(a,b){ja.set(a);ta=void 0!==b?b:1;jc(ja.r,ja.g,ja.b,ta)};this.getClearAlpha=function(){return ta};
function(){l.clear(l.STENCIL_BUFFER_BIT)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.resetGLState=Ac;var kc=function(a){a.target.traverse(function(a){a.removeEventListener("remove",kc);if(a instanceof THREE.Mesh||a instanceof THREE.PointCloud||a instanceof THREE.Line)delete ya[a.id];else if(a instanceof THREE.ImmediateRenderObject||a.immediateRenderCallback)for(var b=Ma,c=b.length-1;0<=c;c--)b[c].object===a&&b.splice(c,1);delete a.__webglInit;delete a._modelViewMatrix; this.setClearAlpha=function(a){ta=a;jc(ja.r,ja.g,ja.b,ta)};this.clear=function(a,b,c){var d=0;if(void 0===a||a)d|=l.COLOR_BUFFER_BIT;if(void 0===b||b)d|=l.DEPTH_BUFFER_BIT;if(void 0===c||c)d|=l.STENCIL_BUFFER_BIT;l.clear(d)};this.clearColor=function(){l.clear(l.COLOR_BUFFER_BIT)};this.clearDepth=function(){l.clear(l.DEPTH_BUFFER_BIT)};this.clearStencil=function(){l.clear(l.STENCIL_BUFFER_BIT)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.resetGLState=Ac;var kc=
delete a._normalMatrix;delete a.__webglActive})},lc=function(a){a=a.target;a.removeEventListener("dispose",lc);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)}B.info.memory.geometries--}else if(b=fb[a.id],void 0!==b){for(var c=0,d=b.length;c<d;c++){var e=b[c];if(void 0!==e.numMorphTargets){for(var f=0,g=e.numMorphTargets;f<g;f++)l.deleteBuffer(e.__webglMorphTargetsBuffers[f]); function(a){a.target.traverse(function(a){a.removeEventListener("remove",kc);if(a instanceof THREE.Mesh||a instanceof THREE.PointCloud||a instanceof THREE.Line)delete ya[a.id];else if(a instanceof THREE.ImmediateRenderObject||a.immediateRenderCallback)for(var b=Ma,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})},lc=function(a){a=a.target;a.removeEventListener("dispose",lc);delete a.__webglInit;if(a instanceof
delete e.__webglMorphTargetsBuffers}if(void 0!==e.numMorphNormals){f=0;for(g=e.numMorphNormals;f<g;f++)l.deleteBuffer(e.__webglMorphNormalsBuffers[f]);delete e.__webglMorphNormalsBuffers}Dc(e)}delete fb[a.id]}else Dc(a);La=""},Hb=function(a){a=a.target;a.removeEventListener("dispose",Hb);a.image&&a.image.__webglTextureCube?(l.deleteTexture(a.image.__webglTextureCube),delete a.image.__webglTextureCube):void 0!==a.__webglInit&&(l.deleteTexture(a.__webglTexture),delete a.__webglTexture,delete a.__webglInit); THREE.BufferGeometry){for(var b in a.attributes){var c=a.attributes[b];void 0!==c.buffer&&(l.deleteBuffer(c.buffer),delete c.buffer)}B.info.memory.geometries--}else if(b=fb[a.id],void 0!==b){for(var c=0,d=b.length;c<d;c++){var e=b[c];if(void 0!==e.numMorphTargets){for(var f=0,g=e.numMorphTargets;f<g;f++)l.deleteBuffer(e.__webglMorphTargetsBuffers[f]);delete e.__webglMorphTargetsBuffers}if(void 0!==e.numMorphNormals){f=0;for(g=e.numMorphNormals;f<g;f++)l.deleteBuffer(e.__webglMorphNormalsBuffers[f]);
B.info.memory.textures--},Ec=function(a){a=a.target;a.removeEventListener("dispose",Ec);if(a&&void 0!==a.__webglTexture){l.deleteTexture(a.__webglTexture);delete a.__webglTexture;if(a instanceof THREE.WebGLRenderTargetCube)for(var b=0;6>b;b++)l.deleteFramebuffer(a.__webglFramebuffer[b]),l.deleteRenderbuffer(a.__webglRenderbuffer[b]);else l.deleteFramebuffer(a.__webglFramebuffer),l.deleteRenderbuffer(a.__webglRenderbuffer);delete a.__webglFramebuffer;delete a.__webglRenderbuffer}B.info.memory.textures--}, delete e.__webglMorphNormalsBuffers}Dc(e)}delete fb[a.id]}else Dc(a);La=""},Hb=function(a){a=a.target;a.removeEventListener("dispose",Hb);a.image&&a.image.__webglTextureCube?(l.deleteTexture(a.image.__webglTextureCube),delete a.image.__webglTextureCube):void 0!==a.__webglInit&&(l.deleteTexture(a.__webglTexture),delete a.__webglTexture,delete a.__webglInit);B.info.memory.textures--},Ec=function(a){a=a.target;a.removeEventListener("dispose",Ec);if(a&&void 0!==a.__webglTexture){l.deleteTexture(a.__webglTexture);
pc=function(a){a=a.target;a.removeEventListener("dispose",pc);oc(a)},Dc=function(a){for(var b="__webglVertexBuffer __webglNormalBuffer __webglTangentBuffer __webglColorBuffer __webglUVBuffer __webglUV2Buffer __webglSkinIndicesBuffer __webglSkinWeightsBuffer __webglFaceBuffer __webglLineBuffer __webglLineDistanceBuffer".split(" "),c=0,d=b.length;c<d;c++){var e=b[c];void 0!==a[e]&&(l.deleteBuffer(a[e]),delete a[e])}if(void 0!==a.__webglCustomAttributesList){for(e in a.__webglCustomAttributesList)l.deleteBuffer(a.__webglCustomAttributesList[e].buffer); delete a.__webglTexture;if(a instanceof THREE.WebGLRenderTargetCube)for(var b=0;6>b;b++)l.deleteFramebuffer(a.__webglFramebuffer[b]),l.deleteRenderbuffer(a.__webglRenderbuffer[b]);else l.deleteFramebuffer(a.__webglFramebuffer),l.deleteRenderbuffer(a.__webglRenderbuffer);delete a.__webglFramebuffer;delete a.__webglRenderbuffer}B.info.memory.textures--},pc=function(a){a=a.target;a.removeEventListener("dispose",pc);oc(a)},Dc=function(a){for(var b="__webglVertexBuffer __webglNormalBuffer __webglTangentBuffer __webglColorBuffer __webglUVBuffer __webglUV2Buffer __webglSkinIndicesBuffer __webglSkinWeightsBuffer __webglFaceBuffer __webglLineBuffer __webglLineDistanceBuffer".split(" "),
delete a.__webglCustomAttributesList}B.info.memory.geometries--},oc=function(a){var b=a.program.program;if(void 0!==b){a.program=void 0;var c,d,e=!1;a=0;for(c=cb.length;a<c;a++)if(d=cb[a],d.program===b){d.usedTimes--;0===d.usedTimes&&(e=!0);break}if(!0===e){e=[];a=0;for(c=cb.length;a<c;a++)d=cb[a],d.program!==b&&e.push(d);cb=e;l.deleteProgram(b);B.info.memory.programs--}}};this.renderBufferImmediate=function(a,b,c){e();a.hasPositions&&!a.__webglVertexBuffer&&(a.__webglVertexBuffer=l.createBuffer()); c=0,d=b.length;c<d;c++){var e=b[c];void 0!==a[e]&&(l.deleteBuffer(a[e]),delete a[e])}if(void 0!==a.__webglCustomAttributesList){for(e in a.__webglCustomAttributesList)l.deleteBuffer(a.__webglCustomAttributesList[e].buffer);delete a.__webglCustomAttributesList}B.info.memory.geometries--},oc=function(a){var b=a.program.program;if(void 0!==b){a.program=void 0;var c,d,e=!1;a=0;for(c=cb.length;a<c;a++)if(d=cb[a],d.program===b){d.usedTimes--;0===d.usedTimes&&(e=!0);break}if(!0===e){e=[];a=0;for(c=cb.length;a<
a.hasNormals&&!a.__webglNormalBuffer&&(a.__webglNormalBuffer=l.createBuffer());a.hasUvs&&!a.__webglUvBuffer&&(a.__webglUvBuffer=l.createBuffer());a.hasColors&&!a.__webglColorBuffer&&(a.__webglColorBuffer=l.createBuffer());a.hasPositions&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglVertexBuffer),l.bufferData(l.ARRAY_BUFFER,a.positionArray,l.DYNAMIC_DRAW),f(b.attributes.position),l.vertexAttribPointer(b.attributes.position,3,l.FLOAT,!1,0,0));if(a.hasNormals){l.bindBuffer(l.ARRAY_BUFFER,a.__webglNormalBuffer); c;a++)d=cb[a],d.program!==b&&e.push(d);cb=e;l.deleteProgram(b);B.info.memory.programs--}}};this.renderBufferImmediate=function(a,b,c){e();a.hasPositions&&!a.__webglVertexBuffer&&(a.__webglVertexBuffer=l.createBuffer());a.hasNormals&&!a.__webglNormalBuffer&&(a.__webglNormalBuffer=l.createBuffer());a.hasUvs&&!a.__webglUvBuffer&&(a.__webglUvBuffer=l.createBuffer());a.hasColors&&!a.__webglColorBuffer&&(a.__webglColorBuffer=l.createBuffer());a.hasPositions&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglVertexBuffer),
if(c.shading===THREE.FlatShading){var d,h,k,m,p,n,q,r,t,s,u,v=3*a.count;for(u=0;u<v;u+=9)s=a.normalArray,d=s[u],h=s[u+1],k=s[u+2],m=s[u+3],n=s[u+4],r=s[u+5],p=s[u+6],q=s[u+7],t=s[u+8],d=(d+m+p)/3,h=(h+n+q)/3,k=(k+r+t)/3,s[u]=d,s[u+1]=h,s[u+2]=k,s[u+3]=d,s[u+4]=h,s[u+5]=k,s[u+6]=d,s[u+7]=h,s[u+8]=k}l.bufferData(l.ARRAY_BUFFER,a.normalArray,l.DYNAMIC_DRAW);f(b.attributes.normal);l.vertexAttribPointer(b.attributes.normal,3,l.FLOAT,!1,0,0)}a.hasUvs&&c.map&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglUvBuffer), l.bufferData(l.ARRAY_BUFFER,a.positionArray,l.DYNAMIC_DRAW),f(b.attributes.position),l.vertexAttribPointer(b.attributes.position,3,l.FLOAT,!1,0,0));if(a.hasNormals){l.bindBuffer(l.ARRAY_BUFFER,a.__webglNormalBuffer);if(c.shading===THREE.FlatShading){var d,h,k,m,p,n,q,r,t,s,u,v=3*a.count;for(u=0;u<v;u+=9)s=a.normalArray,d=s[u],h=s[u+1],k=s[u+2],m=s[u+3],n=s[u+4],r=s[u+5],p=s[u+6],q=s[u+7],t=s[u+8],d=(d+m+p)/3,h=(h+n+q)/3,k=(k+r+t)/3,s[u]=d,s[u+1]=h,s[u+2]=k,s[u+3]=d,s[u+4]=h,s[u+5]=k,s[u+6]=d,s[u+
l.bufferData(l.ARRAY_BUFFER,a.uvArray,l.DYNAMIC_DRAW),f(b.attributes.uv),l.vertexAttribPointer(b.attributes.uv,2,l.FLOAT,!1,0,0));a.hasColors&&c.vertexColors!==THREE.NoColors&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,a.colorArray,l.DYNAMIC_DRAW),f(b.attributes.color),l.vertexAttribPointer(b.attributes.color,3,l.FLOAT,!1,0,0));g();l.drawArrays(l.TRIANGLES,0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,f,g,h){if(!1!==f.visible)if(u(h),a=C(a,b,c,f, 7]=h,s[u+8]=k}l.bufferData(l.ARRAY_BUFFER,a.normalArray,l.DYNAMIC_DRAW);f(b.attributes.normal);l.vertexAttribPointer(b.attributes.normal,3,l.FLOAT,!1,0,0)}a.hasUvs&&c.map&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglUvBuffer),l.bufferData(l.ARRAY_BUFFER,a.uvArray,l.DYNAMIC_DRAW),f(b.attributes.uv),l.vertexAttribPointer(b.attributes.uv,2,l.FLOAT,!1,0,0));a.hasColors&&c.vertexColors!==THREE.NoColors&&(l.bindBuffer(l.ARRAY_BUFFER,a.__webglColorBuffer),l.bufferData(l.ARRAY_BUFFER,a.colorArray,l.DYNAMIC_DRAW),
h),b=!1,c="direct_"+g.id+"_"+a.id+"_"+(f.wireframe?1:0),c!==La&&(La=c,b=!0),b&&e(),h instanceof THREE.Mesh){h=!0===f.wireframe?l.LINES:l.TRIANGLES;var k=g.attributes.index;if(k){var m,p;k.array instanceof Uint32Array&&aa.get("OES_element_index_uint")?(m=l.UNSIGNED_INT,p=4):(m=l.UNSIGNED_SHORT,p=2);c=g.offsets;if(0===c.length)b&&(d(f,a,g,0),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,k.array.length,m,0),B.info.render.calls++,B.info.render.vertices+=k.array.length,B.info.render.faces+= f(b.attributes.color),l.vertexAttribPointer(b.attributes.color,3,l.FLOAT,!1,0,0));g();l.drawArrays(l.TRIANGLES,0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,f,g,h){if(!1!==f.visible)if(u(h),a=C(a,b,c,f,h),b=!1,c="direct_"+g.id+"_"+a.id+"_"+(f.wireframe?1:0),c!==La&&(La=c,b=!0),b&&e(),h instanceof THREE.Mesh){h=!0===f.wireframe?l.LINES:l.TRIANGLES;var k=g.attributes.index;if(k){var m,p;k.array instanceof Uint32Array&&aa.get("OES_element_index_uint")?(m=l.UNSIGNED_INT,p=4):(m=l.UNSIGNED_SHORT,
k.array.length/3;else{b=!0;for(var n=0,q=c.length;n<q;n++){var s=c[n].index;b&&(d(f,a,g,s),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer));l.drawElements(h,c[n].count,m,c[n].start*p);B.info.render.calls++;B.info.render.vertices+=c[n].count;B.info.render.faces+=c[n].count/3}}}else b&&d(f,a,g,0),f=g.attributes.position,l.drawArrays(h,0,f.array.length/f.itemSize),B.info.render.calls++,B.info.render.vertices+=f.array.length/f.itemSize,B.info.render.faces+=f.array.length/(3*f.itemsize)}else if(h instanceof p=2);c=g.offsets;if(0===c.length)b&&(d(f,a,g,0),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,k.array.length,m,0),B.info.render.calls++,B.info.render.vertices+=k.array.length,B.info.render.faces+=k.array.length/3;else{b=!0;for(var n=0,q=c.length;n<q;n++){var s=c[n].index;b&&(d(f,a,g,s),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer));l.drawElements(h,c[n].count,m,c[n].start*p);B.info.render.calls++;B.info.render.vertices+=c[n].count;B.info.render.faces+=c[n].count/3}}}else b&&d(f,
THREE.PointCloud)if(h=l.POINTS,k=g.attributes.index)if(k.array instanceof Uint32Array&&aa.get("OES_element_index_uint")?(m=l.UNSIGNED_INT,p=4):(m=l.UNSIGNED_SHORT,p=2),c=g.offsets,0===c.length)b&&(d(f,a,g,0),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,k.array.length,m,0),B.info.render.calls++,B.info.render.points+=k.array.length;else for(1<c.length&&(b=!0),n=0,q=c.length;n<q;n++)s=c[n].index,b&&(d(f,a,g,s),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,c[n].count, a,g,0),f=g.attributes.position,l.drawArrays(h,0,f.array.length/f.itemSize),B.info.render.calls++,B.info.render.vertices+=f.array.length/f.itemSize,B.info.render.faces+=f.array.length/(3*f.itemsize)}else if(h instanceof THREE.PointCloud)if(h=l.POINTS,k=g.attributes.index)if(k.array instanceof Uint32Array&&aa.get("OES_element_index_uint")?(m=l.UNSIGNED_INT,p=4):(m=l.UNSIGNED_SHORT,p=2),c=g.offsets,0===c.length)b&&(d(f,a,g,0),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,k.array.length,
m,c[n].start*p),B.info.render.calls++,B.info.render.points+=c[n].count;else if(b&&d(f,a,g,0),f=g.attributes.position,c=g.offsets,0===c.length)l.drawArrays(h,0,f.array.length/3),B.info.render.calls++,B.info.render.points+=f.array.length/3;else for(n=0,q=c.length;n<q;n++)l.drawArrays(h,c[n].index,c[n].count),B.info.render.calls++,B.info.render.points+=c[n].count;else if(h instanceof THREE.Line)if(h=h.mode===THREE.LineStrip?l.LINE_STRIP:l.LINES,G(f.linewidth),k=g.attributes.index)if(k.array instanceof m,0),B.info.render.calls++,B.info.render.points+=k.array.length;else for(1<c.length&&(b=!0),n=0,q=c.length;n<q;n++)s=c[n].index,b&&(d(f,a,g,s),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,c[n].count,m,c[n].start*p),B.info.render.calls++,B.info.render.points+=c[n].count;else if(b&&d(f,a,g,0),f=g.attributes.position,c=g.offsets,0===c.length)l.drawArrays(h,0,f.array.length/3),B.info.render.calls++,B.info.render.points+=f.array.length/3;else for(n=0,q=c.length;n<q;n++)l.drawArrays(h,
Uint32Array?(m=l.UNSIGNED_INT,p=4):(m=l.UNSIGNED_SHORT,p=2),c=g.offsets,0===c.length)b&&(d(f,a,g,0),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,k.array.length,m,0),B.info.render.calls++,B.info.render.vertices+=k.array.length;else for(1<c.length&&(b=!0),n=0,q=c.length;n<q;n++)s=c[n].index,b&&(d(f,a,g,s),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,c[n].count,m,c[n].start*p),B.info.render.calls++,B.info.render.vertices+=c[n].count;else if(b&&d(f,a,g,0),f=g.attributes.position, c[n].index,c[n].count),B.info.render.calls++,B.info.render.points+=c[n].count;else if(h instanceof THREE.Line)if(h=h.mode===THREE.LineStrip?l.LINE_STRIP:l.LINES,G(f.linewidth),k=g.attributes.index)if(k.array instanceof Uint32Array?(m=l.UNSIGNED_INT,p=4):(m=l.UNSIGNED_SHORT,p=2),c=g.offsets,0===c.length)b&&(d(f,a,g,0),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,k.array.length,m,0),B.info.render.calls++,B.info.render.vertices+=k.array.length;else for(1<c.length&&(b=!0),n=0,q=c.length;n<
c=g.offsets,0===c.length)l.drawArrays(h,0,f.array.length/3),B.info.render.calls++,B.info.render.vertices+=f.array.length/3;else for(n=0,q=c.length;n<q;n++)l.drawArrays(h,c[n].index,c[n].count),B.info.render.calls++,B.info.render.vertices+=c[n].count};this.renderBuffer=function(a,b,c,d,h,k){if(!1!==d.visible){u(k);c=C(a,b,c,d,k);b=c.attributes;a=!1;c=h.id+"_"+c.id+"_"+(d.wireframe?1:0);c!==La&&(La=c,a=!0);a&&e();if(!d.morphTargets&&0<=b.position)a&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglVertexBuffer), q;n++)s=c[n].index,b&&(d(f,a,g,s),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,k.buffer)),l.drawElements(h,c[n].count,m,c[n].start*p),B.info.render.calls++,B.info.render.vertices+=c[n].count;else if(b&&d(f,a,g,0),f=g.attributes.position,c=g.offsets,0===c.length)l.drawArrays(h,0,f.array.length/3),B.info.render.calls++,B.info.render.vertices+=f.array.length/3;else for(n=0,q=c.length;n<q;n++)l.drawArrays(h,c[n].index,c[n].count),B.info.render.calls++,B.info.render.vertices+=c[n].count};this.renderBuffer=function(a,
f(b.position),l.vertexAttribPointer(b.position,3,l.FLOAT,!1,0,0));else if(k.morphTargetBase){c=d.program.attributes;-1!==k.morphTargetBase&&0<=c.position?(l.bindBuffer(l.ARRAY_BUFFER,h.__webglMorphTargetsBuffers[k.morphTargetBase]),f(c.position),l.vertexAttribPointer(c.position,3,l.FLOAT,!1,0,0)):0<=c.position&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglVertexBuffer),f(c.position),l.vertexAttribPointer(c.position,3,l.FLOAT,!1,0,0));if(k.morphTargetForcedOrder.length)for(var m=0,n=k.morphTargetForcedOrder, b,c,d,h,k){if(!1!==d.visible){u(k);c=C(a,b,c,d,k);b=c.attributes;a=!1;c=h.id+"_"+c.id+"_"+(d.wireframe?1:0);c!==La&&(La=c,a=!0);a&&e();if(!d.morphTargets&&0<=b.position)a&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglVertexBuffer),f(b.position),l.vertexAttribPointer(b.position,3,l.FLOAT,!1,0,0));else if(k.morphTargetBase){c=d.program.attributes;-1!==k.morphTargetBase&&0<=c.position?(l.bindBuffer(l.ARRAY_BUFFER,h.__webglMorphTargetsBuffers[k.morphTargetBase]),f(c.position),l.vertexAttribPointer(c.position,
q=k.morphTargetInfluences,s;m<d.numSupportedMorphTargets&&m<n.length;)s=c["morphTarget"+m],0<=s&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglMorphTargetsBuffers[n[m]]),f(s),l.vertexAttribPointer(s,3,l.FLOAT,!1,0,0)),s=c["morphNormal"+m],0<=s&&d.morphNormals&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglMorphNormalsBuffers[n[m]]),f(s),l.vertexAttribPointer(s,3,l.FLOAT,!1,0,0)),k.__webglMorphTargetInfluences[m]=q[n[m]],m++;else{n=[];q=k.morphTargetInfluences;m=k.geometry.morphTargets;q.length>m.length&&(console.warn("THREE.WebGLRenderer: Influences array is bigger than morphTargets array."), 3,l.FLOAT,!1,0,0)):0<=c.position&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglVertexBuffer),f(c.position),l.vertexAttribPointer(c.position,3,l.FLOAT,!1,0,0));if(k.morphTargetForcedOrder.length)for(var m=0,n=k.morphTargetForcedOrder,q=k.morphTargetInfluences,s;m<d.numSupportedMorphTargets&&m<n.length;)s=c["morphTarget"+m],0<=s&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglMorphTargetsBuffers[n[m]]),f(s),l.vertexAttribPointer(s,3,l.FLOAT,!1,0,0)),s=c["morphNormal"+m],0<=s&&d.morphNormals&&(l.bindBuffer(l.ARRAY_BUFFER,
q.length=m.length);m=0;for(s=q.length;m<s;m++)n.push([q[m],m]);n.length>d.numSupportedMorphTargets?(n.sort(p),n.length=d.numSupportedMorphTargets):n.length>d.numSupportedMorphNormals?n.sort(p):0===n.length&&n.push([0,0]);for(var m=0,r=d.numSupportedMorphTargets;m<r;m++)if(n[m]){var t=n[m][1];s=c["morphTarget"+m];0<=s&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglMorphTargetsBuffers[t]),f(s),l.vertexAttribPointer(s,3,l.FLOAT,!1,0,0));s=c["morphNormal"+m];0<=s&&d.morphNormals&&(l.bindBuffer(l.ARRAY_BUFFER, h.__webglMorphNormalsBuffers[n[m]]),f(s),l.vertexAttribPointer(s,3,l.FLOAT,!1,0,0)),k.__webglMorphTargetInfluences[m]=q[n[m]],m++;else{n=[];q=k.morphTargetInfluences;m=k.geometry.morphTargets;q.length>m.length&&(console.warn("THREE.WebGLRenderer: Influences array is bigger than morphTargets array."),q.length=m.length);m=0;for(s=q.length;m<s;m++)n.push([q[m],m]);n.length>d.numSupportedMorphTargets?(n.sort(p),n.length=d.numSupportedMorphTargets):n.length>d.numSupportedMorphNormals?n.sort(p):0===n.length&&
h.__webglMorphNormalsBuffers[t]),f(s),l.vertexAttribPointer(s,3,l.FLOAT,!1,0,0));k.__webglMorphTargetInfluences[m]=q[t]}else k.__webglMorphTargetInfluences[m]=0}null!==d.program.uniforms.morphTargetInfluences&&l.uniform1fv(d.program.uniforms.morphTargetInfluences,k.__webglMorphTargetInfluences)}if(a){if(h.__webglCustomAttributesList)for(c=0,q=h.__webglCustomAttributesList.length;c<q;c++)n=h.__webglCustomAttributesList[c],0<=b[n.buffer.belongsToAttribute]&&(l.bindBuffer(l.ARRAY_BUFFER,n.buffer),f(b[n.buffer.belongsToAttribute]), n.push([0,0]);for(var m=0,r=d.numSupportedMorphTargets;m<r;m++)if(n[m]){var t=n[m][1];s=c["morphTarget"+m];0<=s&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglMorphTargetsBuffers[t]),f(s),l.vertexAttribPointer(s,3,l.FLOAT,!1,0,0));s=c["morphNormal"+m];0<=s&&d.morphNormals&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglMorphNormalsBuffers[t]),f(s),l.vertexAttribPointer(s,3,l.FLOAT,!1,0,0));k.__webglMorphTargetInfluences[m]=q[t]}else k.__webglMorphTargetInfluences[m]=0}null!==d.program.uniforms.morphTargetInfluences&&
l.vertexAttribPointer(b[n.buffer.belongsToAttribute],n.size,l.FLOAT,!1,0,0));0<=b.color&&(0<k.geometry.colors.length||0<k.geometry.faces.length?(l.bindBuffer(l.ARRAY_BUFFER,h.__webglColorBuffer),f(b.color),l.vertexAttribPointer(b.color,3,l.FLOAT,!1,0,0)):void 0!==d.defaultAttributeValues&&l.vertexAttrib3fv(b.color,d.defaultAttributeValues.color));0<=b.normal&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglNormalBuffer),f(b.normal),l.vertexAttribPointer(b.normal,3,l.FLOAT,!1,0,0));0<=b.tangent&&(l.bindBuffer(l.ARRAY_BUFFER, l.uniform1fv(d.program.uniforms.morphTargetInfluences,k.__webglMorphTargetInfluences)}if(a){if(h.__webglCustomAttributesList)for(c=0,q=h.__webglCustomAttributesList.length;c<q;c++)n=h.__webglCustomAttributesList[c],0<=b[n.buffer.belongsToAttribute]&&(l.bindBuffer(l.ARRAY_BUFFER,n.buffer),f(b[n.buffer.belongsToAttribute]),l.vertexAttribPointer(b[n.buffer.belongsToAttribute],n.size,l.FLOAT,!1,0,0));0<=b.color&&(0<k.geometry.colors.length||0<k.geometry.faces.length?(l.bindBuffer(l.ARRAY_BUFFER,h.__webglColorBuffer),
h.__webglTangentBuffer),f(b.tangent),l.vertexAttribPointer(b.tangent,4,l.FLOAT,!1,0,0));0<=b.uv&&(k.geometry.faceVertexUvs[0]?(l.bindBuffer(l.ARRAY_BUFFER,h.__webglUVBuffer),f(b.uv),l.vertexAttribPointer(b.uv,2,l.FLOAT,!1,0,0)):void 0!==d.defaultAttributeValues&&l.vertexAttrib2fv(b.uv,d.defaultAttributeValues.uv));0<=b.uv2&&(k.geometry.faceVertexUvs[1]?(l.bindBuffer(l.ARRAY_BUFFER,h.__webglUV2Buffer),f(b.uv2),l.vertexAttribPointer(b.uv2,2,l.FLOAT,!1,0,0)):void 0!==d.defaultAttributeValues&&l.vertexAttrib2fv(b.uv2, f(b.color),l.vertexAttribPointer(b.color,3,l.FLOAT,!1,0,0)):void 0!==d.defaultAttributeValues&&l.vertexAttrib3fv(b.color,d.defaultAttributeValues.color));0<=b.normal&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglNormalBuffer),f(b.normal),l.vertexAttribPointer(b.normal,3,l.FLOAT,!1,0,0));0<=b.tangent&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglTangentBuffer),f(b.tangent),l.vertexAttribPointer(b.tangent,4,l.FLOAT,!1,0,0));0<=b.uv&&(k.geometry.faceVertexUvs[0]?(l.bindBuffer(l.ARRAY_BUFFER,h.__webglUVBuffer),f(b.uv),
d.defaultAttributeValues.uv2));d.skinning&&0<=b.skinIndex&&0<=b.skinWeight&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglSkinIndicesBuffer),f(b.skinIndex),l.vertexAttribPointer(b.skinIndex,4,l.FLOAT,!1,0,0),l.bindBuffer(l.ARRAY_BUFFER,h.__webglSkinWeightsBuffer),f(b.skinWeight),l.vertexAttribPointer(b.skinWeight,4,l.FLOAT,!1,0,0));0<=b.lineDistance&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglLineDistanceBuffer),f(b.lineDistance),l.vertexAttribPointer(b.lineDistance,1,l.FLOAT,!1,0,0))}g();k instanceof THREE.Mesh? l.vertexAttribPointer(b.uv,2,l.FLOAT,!1,0,0)):void 0!==d.defaultAttributeValues&&l.vertexAttrib2fv(b.uv,d.defaultAttributeValues.uv));0<=b.uv2&&(k.geometry.faceVertexUvs[1]?(l.bindBuffer(l.ARRAY_BUFFER,h.__webglUV2Buffer),f(b.uv2),l.vertexAttribPointer(b.uv2,2,l.FLOAT,!1,0,0)):void 0!==d.defaultAttributeValues&&l.vertexAttrib2fv(b.uv2,d.defaultAttributeValues.uv2));d.skinning&&0<=b.skinIndex&&0<=b.skinWeight&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglSkinIndicesBuffer),f(b.skinIndex),l.vertexAttribPointer(b.skinIndex,
(k=h.__typeArray===Uint32Array?l.UNSIGNED_INT:l.UNSIGNED_SHORT,d.wireframe?(G(d.wireframeLinewidth),a&&l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,h.__webglLineBuffer),l.drawElements(l.LINES,h.__webglLineCount,k,0)):(a&&l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,h.__webglFaceBuffer),l.drawElements(l.TRIANGLES,h.__webglFaceCount,k,0)),B.info.render.calls++,B.info.render.vertices+=h.__webglFaceCount,B.info.render.faces+=h.__webglFaceCount/3):k instanceof THREE.Line?(k=k.mode===THREE.LineStrip?l.LINE_STRIP:l.LINES, 4,l.FLOAT,!1,0,0),l.bindBuffer(l.ARRAY_BUFFER,h.__webglSkinWeightsBuffer),f(b.skinWeight),l.vertexAttribPointer(b.skinWeight,4,l.FLOAT,!1,0,0));0<=b.lineDistance&&(l.bindBuffer(l.ARRAY_BUFFER,h.__webglLineDistanceBuffer),f(b.lineDistance),l.vertexAttribPointer(b.lineDistance,1,l.FLOAT,!1,0,0))}g();k instanceof THREE.Mesh?(k=h.__typeArray===Uint32Array?l.UNSIGNED_INT:l.UNSIGNED_SHORT,d.wireframe?(G(d.wireframeLinewidth),a&&l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,h.__webglLineBuffer),l.drawElements(l.LINES,
G(d.linewidth),l.drawArrays(k,0,h.__webglLineCount),B.info.render.calls++):k instanceof THREE.PointCloud&&(l.drawArrays(l.POINTS,0,h.__webglParticleCount),B.info.render.calls++,B.info.render.points+=h.__webglParticleCount)}};this.render=function(a,b,c,d){if(!1===b instanceof THREE.Camera)THREE.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{var e=a.fog;La="";xb=-1;Fb=null;Gb=!0;!0===a.autoUpdate&&a.updateMatrixWorld();void 0===b.parent&&b.updateMatrixWorld();a.traverse(function(a){a instanceof h.__webglLineCount,k,0)):(a&&l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,h.__webglFaceBuffer),l.drawElements(l.TRIANGLES,h.__webglFaceCount,k,0)),B.info.render.calls++,B.info.render.vertices+=h.__webglFaceCount,B.info.render.faces+=h.__webglFaceCount/3):k instanceof THREE.Line?(k=k.mode===THREE.LineStrip?l.LINE_STRIP:l.LINES,G(d.linewidth),l.drawArrays(k,0,h.__webglLineCount),B.info.render.calls++):k instanceof THREE.PointCloud&&(l.drawArrays(l.POINTS,0,h.__webglParticleCount),B.info.render.calls++,B.info.render.points+=
THREE.SkinnedMesh&&a.skeleton.update()});b.matrixWorldInverse.getInverse(b.matrixWorld);ub.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);hb.setFromMatrix(ub);xa.length=0;Ea.length=0;Ra.length=0;Da.length=0;pb.length=0;n(a);!0===B.sortObjects&&(Ea.sort(h),Ra.sort(k));Pc.render(a,b);B.info.render.calls=0;B.info.render.vertices=0;B.info.render.faces=0;B.info.render.points=0;this.setRenderTarget(c);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil); h.__webglParticleCount)}};this.render=function(a,b,c,d){if(!1===b instanceof THREE.Camera)THREE.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{var e=a.fog;La="";xb=-1;Fb=null;Gb=!0;!0===a.autoUpdate&&a.updateMatrixWorld();void 0===b.parent&&b.updateMatrixWorld();a.traverse(function(a){a instanceof THREE.SkinnedMesh&&a.skeleton.update()});b.matrixWorldInverse.getInverse(b.matrixWorld);ub.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);hb.setFromMatrix(ub);
d=0;for(var f=Ma.length;d<f;d++){var g=Ma[d],l=g.object;l.visible&&(A(l,b),s(g))}a.overrideMaterial?(d=a.overrideMaterial,this.setBlending(d.blending,d.blendEquation,d.blendSrc,d.blendDst,d.blendEquationAlpha,d.blendSrcAlpha,d.blendDstAlpha),this.setDepthTest(d.depthTest),this.setDepthWrite(d.depthWrite),E(d.polygonOffset,d.polygonOffsetFactor,d.polygonOffsetUnits),q(Ea,b,xa,e,!0,d),q(Ra,b,xa,e,!0,d),m(Ma,"",b,xa,e,!1,d)):(d=null,this.setBlending(THREE.NoBlending),q(Ea,b,xa,e,!1,d),m(Ma,"opaque", xa.length=0;Ea.length=0;Ra.length=0;Da.length=0;pb.length=0;n(a);!0===B.sortObjects&&(Ea.sort(h),Ra.sort(k));Pc.render(a,b);B.info.render.calls=0;B.info.render.vertices=0;B.info.render.faces=0;B.info.render.points=0;this.setRenderTarget(c);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil);d=0;for(var f=Ma.length;d<f;d++){var g=Ma[d],l=g.object;l.visible&&(A(l,b),s(g))}a.overrideMaterial?(d=a.overrideMaterial,this.setBlending(d.blending,d.blendEquation,
b,xa,e,!1,d),q(Ra,b,xa,e,!0,d),m(Ma,"transparent",b,xa,e,!0,d));Qc.render(a,b);Rc.render(a,b,xc,yc);c&&c.generateMipmaps&&c.minFilter!==THREE.NearestFilter&&c.minFilter!==THREE.LinearFilter&&M(c);this.setDepthTest(!0);this.setDepthWrite(!0)}};this.renderImmediateObject=function(a,b,c,d,e){var f=C(a,b,c,d,e);La="";B.setMaterialFaces(d);e.immediateRenderCallback?e.immediateRenderCallback(f,l,hb):e.render(function(a){B.renderBufferImmediate(a,f,d)})};var fb={},mc=0,Fc={MeshDepthMaterial:"depth",MeshNormalMaterial:"normal", d.blendSrc,d.blendDst,d.blendEquationAlpha,d.blendSrcAlpha,d.blendDstAlpha),this.setDepthTest(d.depthTest),this.setDepthWrite(d.depthWrite),E(d.polygonOffset,d.polygonOffsetFactor,d.polygonOffsetUnits),q(Ea,b,xa,e,!0,d),q(Ra,b,xa,e,!0,d),m(Ma,"",b,xa,e,!1,d)):(d=null,this.setBlending(THREE.NoBlending),q(Ea,b,xa,e,!1,d),m(Ma,"opaque",b,xa,e,!1,d),q(Ra,b,xa,e,!0,d),m(Ma,"transparent",b,xa,e,!0,d));Qc.render(a,b);Rc.render(a,b,xc,yc);c&&c.generateMipmaps&&c.minFilter!==THREE.NearestFilter&&c.minFilter!==
MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointCloudMaterial:"particle_basic"};this.setFaceCulling=function(a,b){a===THREE.CullFaceNone?l.disable(l.CULL_FACE):(b===THREE.FrontFaceDirectionCW?l.frontFace(l.CW):l.frontFace(l.CCW),a===THREE.CullFaceBack?l.cullFace(l.BACK):a===THREE.CullFaceFront?l.cullFace(l.FRONT):l.cullFace(l.FRONT_AND_BACK),l.enable(l.CULL_FACE))};this.setMaterialFaces=function(a){var b= THREE.LinearFilter&&M(c);this.setDepthTest(!0);this.setDepthWrite(!0)}};this.renderImmediateObject=function(a,b,c,d,e){var f=C(a,b,c,d,e);La="";B.setMaterialFaces(d);e.immediateRenderCallback?e.immediateRenderCallback(f,l,hb):e.render(function(a){B.renderBufferImmediate(a,f,d)})};var fb={},mc=0,Fc={MeshDepthMaterial:"depth",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointCloudMaterial:"particle_basic"};
a.side===THREE.DoubleSide;a=a.side===THREE.BackSide;zb!==b&&(b?l.disable(l.CULL_FACE):l.enable(l.CULL_FACE),zb=b);Pb!==a&&(a?l.frontFace(l.CW):l.frontFace(l.CCW),Pb=a)};this.setDepthTest=function(a){hc!==a&&(a?l.enable(l.DEPTH_TEST):l.disable(l.DEPTH_TEST),hc=a)};this.setDepthWrite=function(a){ic!==a&&(l.depthMask(a),ic=a)};this.setBlending=function(a,b,c,d,e,f,g){a!==Qb&&(a===THREE.NoBlending?l.disable(l.BLEND):a===THREE.AdditiveBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.SRC_ALPHA, this.setFaceCulling=function(a,b){a===THREE.CullFaceNone?l.disable(l.CULL_FACE):(b===THREE.FrontFaceDirectionCW?l.frontFace(l.CW):l.frontFace(l.CCW),a===THREE.CullFaceBack?l.cullFace(l.BACK):a===THREE.CullFaceFront?l.cullFace(l.FRONT):l.cullFace(l.FRONT_AND_BACK),l.enable(l.CULL_FACE))};this.setMaterialFaces=function(a){var b=a.side===THREE.DoubleSide;a=a.side===THREE.BackSide;zb!==b&&(b?l.disable(l.CULL_FACE):l.enable(l.CULL_FACE),zb=b);Pb!==a&&(a?l.frontFace(l.CW):l.frontFace(l.CCW),Pb=a)};this.setDepthTest=
l.ONE)):a===THREE.SubtractiveBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.ZERO,l.ONE_MINUS_SRC_COLOR)):a===THREE.MultiplyBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.ZERO,l.SRC_COLOR)):a===THREE.CustomBlending?l.enable(l.BLEND):(l.enable(l.BLEND),l.blendEquationSeparate(l.FUNC_ADD,l.FUNC_ADD),l.blendFuncSeparate(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA,l.ONE,l.ONE_MINUS_SRC_ALPHA)),Qb=a);if(a===THREE.CustomBlending){e=e||b;f=f||c;g=g||d;if(b!==Rb||e!==Tb)l.blendEquationSeparate(S(b), function(a){hc!==a&&(a?l.enable(l.DEPTH_TEST):l.disable(l.DEPTH_TEST),hc=a)};this.setDepthWrite=function(a){ic!==a&&(l.depthMask(a),ic=a)};this.setBlending=function(a,b,c,d,e,f,g){a!==Qb&&(a===THREE.NoBlending?l.disable(l.BLEND):a===THREE.AdditiveBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.SRC_ALPHA,l.ONE)):a===THREE.SubtractiveBlending?(l.enable(l.BLEND),l.blendEquation(l.FUNC_ADD),l.blendFunc(l.ZERO,l.ONE_MINUS_SRC_COLOR)):a===THREE.MultiplyBlending?(l.enable(l.BLEND),
S(e)),Rb=b,Tb=e;if(c!==ac||d!==Sb||f!==Ub||g!==gc)l.blendFuncSeparate(S(c),S(d),S(f),S(g)),ac=c,Sb=d,Ub=f,gc=g}else gc=Ub=Tb=Sb=ac=Rb=null};this.uploadTexture=function(a){void 0===a.__webglInit&&(a.__webglInit=!0,a.addEventListener("dispose",Hb),a.__webglTexture=l.createTexture(),B.info.memory.textures++);l.bindTexture(l.TEXTURE_2D,a.__webglTexture);l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,a.flipY);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha);l.pixelStorei(l.UNPACK_ALIGNMENT,a.unpackAlignment); l.blendEquation(l.FUNC_ADD),l.blendFunc(l.ZERO,l.SRC_COLOR)):a===THREE.CustomBlending?l.enable(l.BLEND):(l.enable(l.BLEND),l.blendEquationSeparate(l.FUNC_ADD,l.FUNC_ADD),l.blendFuncSeparate(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA,l.ONE,l.ONE_MINUS_SRC_ALPHA)),Qb=a);if(a===THREE.CustomBlending){e=e||b;f=f||c;g=g||d;if(b!==Rb||e!==Tb)l.blendEquationSeparate(S(b),S(e)),Rb=b,Tb=e;if(c!==ac||d!==Sb||f!==Ub||g!==gc)l.blendFuncSeparate(S(c),S(d),S(f),S(g)),ac=c,Sb=d,Ub=f,gc=g}else gc=Ub=Tb=Sb=ac=Rb=null};this.uploadTexture=
a.image=L(a.image,Jc);var b=a.image,c=THREE.Math.isPowerOfTwo(b.width)&&THREE.Math.isPowerOfTwo(b.height),d=S(a.format),e=S(a.type);z(l.TEXTURE_2D,a,c);var f=a.mipmaps;if(a instanceof THREE.DataTexture)if(0<f.length&&c){for(var g=0,h=f.length;g<h;g++)b=f[g],l.texImage2D(l.TEXTURE_2D,g,d,b.width,b.height,0,d,e,b.data);a.generateMipmaps=!1}else l.texImage2D(l.TEXTURE_2D,0,d,b.width,b.height,0,d,e,b.data);else if(a instanceof THREE.CompressedTexture)for(g=0,h=f.length;g<h;g++)b=f[g],a.format!==THREE.RGBAFormat&& function(a){void 0===a.__webglInit&&(a.__webglInit=!0,a.addEventListener("dispose",Hb),a.__webglTexture=l.createTexture(),B.info.memory.textures++);l.bindTexture(l.TEXTURE_2D,a.__webglTexture);l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,a.flipY);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha);l.pixelStorei(l.UNPACK_ALIGNMENT,a.unpackAlignment);a.image=L(a.image,Jc);var b=a.image,c=THREE.Math.isPowerOfTwo(b.width)&&THREE.Math.isPowerOfTwo(b.height),d=S(a.format),e=S(a.type);z(l.TEXTURE_2D,
a.format!==THREE.RGBFormat?-1<rc().indexOf(d)?l.compressedTexImage2D(l.TEXTURE_2D,g,d,b.width,b.height,0,b.data):THREE.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):l.texImage2D(l.TEXTURE_2D,g,d,b.width,b.height,0,d,e,b.data);else if(0<f.length&&c){g=0;for(h=f.length;g<h;g++)b=f[g],l.texImage2D(l.TEXTURE_2D,g,d,d,e,b);a.generateMipmaps=!1}else l.texImage2D(l.TEXTURE_2D,0,d,d,e,a.image);a.generateMipmaps&&c&&l.generateMipmap(l.TEXTURE_2D);a.needsUpdate= a,c);var f=a.mipmaps;if(a instanceof THREE.DataTexture)if(0<f.length&&c){for(var g=0,h=f.length;g<h;g++)b=f[g],l.texImage2D(l.TEXTURE_2D,g,d,b.width,b.height,0,d,e,b.data);a.generateMipmaps=!1}else l.texImage2D(l.TEXTURE_2D,0,d,b.width,b.height,0,d,e,b.data);else if(a instanceof THREE.CompressedTexture)for(g=0,h=f.length;g<h;g++)b=f[g],a.format!==THREE.RGBAFormat&&a.format!==THREE.RGBFormat?-1<rc().indexOf(d)?l.compressedTexImage2D(l.TEXTURE_2D,g,d,b.width,b.height,0,b.data):THREE.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):
!1;if(a.onUpdate)a.onUpdate()};this.setTexture=function(a,b){l.activeTexture(l.TEXTURE0+b);a.needsUpdate?B.uploadTexture(a):l.bindTexture(l.TEXTURE_2D,a.__webglTexture)};this.setRenderTarget=function(a){var b=a instanceof THREE.WebGLRenderTargetCube;if(a&&void 0===a.__webglFramebuffer){void 0===a.depthBuffer&&(a.depthBuffer=!0);void 0===a.stencilBuffer&&(a.stencilBuffer=!0);a.addEventListener("dispose",Ec);a.__webglTexture=l.createTexture();B.info.memory.textures++;var c=THREE.Math.isPowerOfTwo(a.width)&& l.texImage2D(l.TEXTURE_2D,g,d,b.width,b.height,0,d,e,b.data);else if(0<f.length&&c){g=0;for(h=f.length;g<h;g++)b=f[g],l.texImage2D(l.TEXTURE_2D,g,d,d,e,b);a.generateMipmaps=!1}else l.texImage2D(l.TEXTURE_2D,0,d,d,e,a.image);a.generateMipmaps&&c&&l.generateMipmap(l.TEXTURE_2D);a.needsUpdate=!1;if(a.onUpdate)a.onUpdate()};this.setTexture=function(a,b){l.activeTexture(l.TEXTURE0+b);a.needsUpdate?B.uploadTexture(a):l.bindTexture(l.TEXTURE_2D,a.__webglTexture)};this.setRenderTarget=function(a){var b=a instanceof
THREE.Math.isPowerOfTwo(a.height),d=S(a.format),e=S(a.type);if(b){a.__webglFramebuffer=[];a.__webglRenderbuffer=[];l.bindTexture(l.TEXTURE_CUBE_MAP,a.__webglTexture);z(l.TEXTURE_CUBE_MAP,a,c);for(var f=0;6>f;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, THREE.WebGLRenderTargetCube;if(a&&void 0===a.__webglFramebuffer){void 0===a.depthBuffer&&(a.depthBuffer=!0);void 0===a.stencilBuffer&&(a.stencilBuffer=!0);a.addEventListener("dispose",Ec);a.__webglTexture=l.createTexture();B.info.memory.textures++;var c=THREE.Math.isPowerOfTwo(a.width)&&THREE.Math.isPowerOfTwo(a.height),d=S(a.format),e=S(a.type);if(b){a.__webglFramebuffer=[];a.__webglRenderbuffer=[];l.bindTexture(l.TEXTURE_CUBE_MAP,a.__webglTexture);z(l.TEXTURE_CUBE_MAP,a,c);for(var f=0;6>f;f++){a.__webglFramebuffer[f]=
l.COLOR_ATTACHMENT0,h,g.__webglTexture,0);J(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),z(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, 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);J(a.__webglRenderbuffer[f],a)}c&&l.generateMipmap(l.TEXTURE_CUBE_MAP)}else a.__webglFramebuffer=l.createFramebuffer(),a.__webglRenderbuffer=a.shareDepthFrom?a.shareDepthFrom.__webglRenderbuffer:
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):J(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, l.createRenderbuffer(),l.bindTexture(l.TEXTURE_2D,a.__webglTexture),z(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,
null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=Wa,a=eb,d=mb,e=nb);b!==yb&&(l.bindFramebuffer(l.FRAMEBUFFER,b),l.viewport(d,e,c,a),yb=b);xc=c;yc=a};this.readRenderTargetPixels=function(a,b,c,d,e,f){if(!(a instanceof THREE.WebGLRenderTarget))console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");else if(a.__webglFramebuffer)if(a.format!==THREE.RGBAFormat)console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA format. readPixels can read only RGBA format."); l.DEPTH_STENCIL_ATTACHMENT,l.RENDERBUFFER,a.__webglRenderbuffer):J(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=Wa,a=eb,d=mb,e=nb);b!==yb&&(l.bindFramebuffer(l.FRAMEBUFFER,b),l.viewport(d,e,c,a),yb=b);xc=c;yc=a};this.readRenderTargetPixels=
else{var g=!1;a.__webglFramebuffer!==yb&&(l.bindFramebuffer(l.FRAMEBUFFER,a.__webglFramebuffer),g=!0);l.checkFramebufferStatus(l.FRAMEBUFFER)===l.FRAMEBUFFER_COMPLETE?l.readPixels(b,c,d,e,l.RGBA,l.UNSIGNED_BYTE,f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.");g&&l.bindFramebuffer(l.FRAMEBUFFER,yb)}};this.initMaterial=function(){THREE.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};this.addPrePlugin=function(){THREE.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")}; function(a,b,c,d,e,f){if(!(a instanceof THREE.WebGLRenderTarget))console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");else if(a.__webglFramebuffer)if(a.format!==THREE.RGBAFormat)console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA format. readPixels can read only RGBA format.");else{var g=!1;a.__webglFramebuffer!==yb&&(l.bindFramebuffer(l.FRAMEBUFFER,a.__webglFramebuffer),g=!0);l.checkFramebufferStatus(l.FRAMEBUFFER)===
this.addPostPlugin=function(){THREE.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")};this.updateShadowMap=function(){THREE.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}}; l.FRAMEBUFFER_COMPLETE?l.readPixels(b,c,d,e,l.RGBA,l.UNSIGNED_BYTE,f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.");g&&l.bindFramebuffer(l.FRAMEBUFFER,yb)}};this.initMaterial=function(){THREE.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};this.addPrePlugin=function(){THREE.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")};this.addPostPlugin=function(){THREE.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")};
this.updateShadowMap=function(){THREE.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}};
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.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=void 0!==c.shareDepthFrom?c.shareDepthFrom:null}; 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=void 0!==c.shareDepthFrom?c.shareDepthFrom:null};
THREE.WebGLRenderTarget.prototype={constructor:THREE.WebGLRenderTarget,setSize:function(a,b){this.width=a;this.height=b},clone:function(){var a=new THREE.WebGLRenderTarget(this.width,this.height);a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.minFilter=this.minFilter;a.anisotropy=this.anisotropy;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.format=this.format;a.type=this.type;a.depthBuffer=this.depthBuffer;a.stencilBuffer=this.stencilBuffer;a.generateMipmaps=this.generateMipmaps; THREE.WebGLRenderTarget.prototype={constructor:THREE.WebGLRenderTarget,setSize:function(a,b){this.width=a;this.height=b},clone:function(){var a=new THREE.WebGLRenderTarget(this.width,this.height);a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.minFilter=this.minFilter;a.anisotropy=this.anisotropy;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.format=this.format;a.type=this.type;a.depthBuffer=this.depthBuffer;a.stencilBuffer=this.stencilBuffer;a.generateMipmaps=this.generateMipmaps;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册