WebGLProperties.js 614 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. * @author fordacious / fordacious.github.io
  3. */
  4. function WebGLProperties() {
  5. var properties = new WeakMap();
  6. function get( object ) {
  7. var map = properties.get( object );
  8. if ( map === undefined ) {
  9. map = {};
  10. properties.set( object, map );
  11. }
  12. return map;
  13. }
  14. function remove( object ) {
  15. properties.delete( object );
  16. }
  17. function update( object, key, value ) {
  18. properties.get( object )[ key ] = value;
  19. }
  20. function dispose() {
  21. properties = new WeakMap();
  22. }
  23. return {
  24. get: get,
  25. remove: remove,
  26. update: update,
  27. dispose: dispose
  28. };
  29. }
  30. export { WebGLProperties };
粤ICP备19079148号