@@ -23608,24 +23608,9 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
}
function removeInstances( objlist, object ) {
for ( var o = objlist.length - 1; o >= 0; o -- ) {
if ( objlist[ o ].object === object ) {
objlist.splice( o, 1 );
}
}
}
//
this.objects = objects;
this.geometries = geometries;
this.init = function ( object ) {
...
...
@@ -23670,7 +23655,7 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
var geometry = geometries.get( object );
if ( object.geometry.dynamic === true ) {
if ( object.geometry instanceof THREE.Geometry ) {
geometry.updateFromObject( object );
...
...
@@ -23790,7 +23775,7 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
} else if ( data.updateRange.count === 0 ) {
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.' );
console.error( 'THREE.WebGLObjects.updateBuffer: using updateRange for THREE.DynamicBufferAttribute and marked as needsUpdate but count is 0, ensure you are using set methods or updating manually.' );
new THREE.Matrix4,a._normalMatrix=new THREE.Matrix3,a.addEventListener("removed",d));void 0===c.__webglActive&&(c.__webglActive=!0,a instanceof THREE.Mesh||a instanceof THREE.Line||a instanceof THREE.PointCloud)&&(g[a.id]={id:a.id,object:a,z:0})};this.getAttributeBuffer=function(a){return a instanceof THREE.InterleavedBufferAttribute?b.get(a.data).__webglBuffer:b.get(a).__webglBuffer};this.update=function(c){for(var d=0,g=c.length;d<g;d++){var p=c[d].object;if(!1!==p.material.visible){var n=p,p=h.get(n);
!0===n.geometry.dynamic&&p.updateFromObject(n);if(void0!==n.morphTargetInfluences){for(varq=[],s=n.morphTargetInfluences,r=0,u=s.length;r<u;r++)q.push([s[r],r]);q.sort(e);8<q.length&&(q.length=8);r=0;for(u=q.length;r<u;r++)f[r]=q[r][0],p.addAttribute("morphTarget"+r,p.morphAttributes[q[r][1]]);n=n.material;void0!==n.program?(n=n.program.getUniforms(),null!==n.morphTargetInfluences&&a.uniform1fv(n.morphTargetInfluences,f)):console.warn("TOFIX: material.program is undefined")}p=p.attributes;n=void0;
r.__webglBuffer),void0===s.updateRange||-1===s.updateRange.count?a.bufferSubData(q,0,s.array):0===s.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."):(a.bufferSubData(q,s.updateRange.offset*s.array.BYTES_PER_ELEMENT,s.array.subarray(s.updateRange.offset,s.updateRange.offset+s.updateRange.count)),s.updateRange.count=0),r.version=s.version)}}};
this.clear=function(){g={}}};
n.geometry instanceof THREE.Geometry&&p.updateFromObject(n);if(void 0!==n.morphTargetInfluences){for(var q=[],s=n.morphTargetInfluences,r=0,u=s.length;r<u;r++)q.push([s[r],r]);q.sort(e);8<q.length&&(q.length=8);r=0;for(u=q.length;r<u;r++)f[r]=q[r][0],p.addAttribute("morphTarget"+r,p.morphAttributes[q[r][1]]);n=n.material;void 0!==n.program?(n=n.program.getUniforms(),null!==n.morphTargetInfluences&&a.uniform1fv(n.morphTargetInfluences,f)):console.warn("TOFIX: material.program is undefined")}p=p.attributes;
(a.bindBuffer(q,r.__webglBuffer),void 0===s.updateRange||-1===s.updateRange.count?a.bufferSubData(q,0,s.array):0===s.updateRange.count?console.error("THREE.WebGLObjects.updateBuffer: using updateRange for THREE.DynamicBufferAttribute and marked as needsUpdate but count is 0, ensure you are using set methods or updating manually."):(a.bufferSubData(q,s.updateRange.offset*s.array.BYTES_PER_ELEMENT,s.array.subarray(s.updateRange.offset,s.updateRange.offset+s.updateRange.count)),s.updateRange.count=0),