Buckets:
ktongue/docker_container / simsite /frontend /node_modules /three /src /renderers /webgl /WebGLObjects.js
| function WebGLObjects( gl, geometries, attributes, info ) { | |
| let updateMap = new WeakMap(); | |
| function update( object ) { | |
| const frame = info.render.frame; | |
| const geometry = object.geometry; | |
| const buffergeometry = geometries.get( object, geometry ); | |
| // Update once per frame | |
| if ( updateMap.get( buffergeometry ) !== frame ) { | |
| geometries.update( buffergeometry ); | |
| updateMap.set( buffergeometry, frame ); | |
| } | |
| if ( object.isInstancedMesh ) { | |
| if ( object.hasEventListener( 'dispose', onInstancedMeshDispose ) === false ) { | |
| object.addEventListener( 'dispose', onInstancedMeshDispose ); | |
| } | |
| if ( updateMap.get( object ) !== frame ) { | |
| attributes.update( object.instanceMatrix, gl.ARRAY_BUFFER ); | |
| if ( object.instanceColor !== null ) { | |
| attributes.update( object.instanceColor, gl.ARRAY_BUFFER ); | |
| } | |
| updateMap.set( object, frame ); | |
| } | |
| } | |
| if ( object.isSkinnedMesh ) { | |
| const skeleton = object.skeleton; | |
| if ( updateMap.get( skeleton ) !== frame ) { | |
| skeleton.update(); | |
| updateMap.set( skeleton, frame ); | |
| } | |
| } | |
| return buffergeometry; | |
| } | |
| function dispose() { | |
| updateMap = new WeakMap(); | |
| } | |
| function onInstancedMeshDispose( event ) { | |
| const instancedMesh = event.target; | |
| instancedMesh.removeEventListener( 'dispose', onInstancedMeshDispose ); | |
| attributes.remove( instancedMesh.instanceMatrix ); | |
| if ( instancedMesh.instanceColor !== null ) attributes.remove( instancedMesh.instanceColor ); | |
| } | |
| return { | |
| update: update, | |
| dispose: dispose | |
| }; | |
| } | |
| export { WebGLObjects }; | |
Xet Storage Details
- Size:
- 1.58 kB
- Xet hash:
- b06610f68d8be674cfed6b32835b98889cfb0e46458c09c25cc0a72bf4e4ac55
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.