@luma.gl/webgl 8.5.11 → 8.5.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/dist.js +80 -11
  2. package/dist/dist.min.js +1 -1
  3. package/dist/es5/classes/buffer.js +9 -2
  4. package/dist/es5/classes/buffer.js.map +1 -1
  5. package/dist/es5/classes/framebuffer.js +5 -0
  6. package/dist/es5/classes/framebuffer.js.map +1 -1
  7. package/dist/es5/classes/program.js +9 -2
  8. package/dist/es5/classes/program.js.map +1 -1
  9. package/dist/es5/classes/query.js +6 -1
  10. package/dist/es5/classes/query.js.map +1 -1
  11. package/dist/es5/classes/renderbuffer.js +6 -1
  12. package/dist/es5/classes/renderbuffer.js.map +1 -1
  13. package/dist/es5/classes/resource.js +13 -6
  14. package/dist/es5/classes/resource.js.map +1 -1
  15. package/dist/es5/classes/shader.js +20 -1
  16. package/dist/es5/classes/shader.js.map +1 -1
  17. package/dist/es5/classes/texture-2d.js +6 -1
  18. package/dist/es5/classes/texture-2d.js.map +1 -1
  19. package/dist/es5/classes/texture-3d.js +6 -1
  20. package/dist/es5/classes/texture-3d.js.map +1 -1
  21. package/dist/es5/classes/texture-cube.js +9 -2
  22. package/dist/es5/classes/texture-cube.js.map +1 -1
  23. package/dist/es5/classes/texture.js +11 -2
  24. package/dist/es5/classes/texture.js.map +1 -1
  25. package/dist/es5/classes/transform-feedback.js +6 -1
  26. package/dist/es5/classes/transform-feedback.js.map +1 -1
  27. package/dist/es5/classes/vertex-array-object.js +6 -1
  28. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  29. package/dist/es5/init.js +1 -1
  30. package/dist/esm/classes/buffer.js +4 -0
  31. package/dist/esm/classes/buffer.js.map +1 -1
  32. package/dist/esm/classes/framebuffer.js +4 -0
  33. package/dist/esm/classes/framebuffer.js.map +1 -1
  34. package/dist/esm/classes/program.js +4 -0
  35. package/dist/esm/classes/program.js.map +1 -1
  36. package/dist/esm/classes/query.js +4 -0
  37. package/dist/esm/classes/query.js.map +1 -1
  38. package/dist/esm/classes/renderbuffer.js +4 -0
  39. package/dist/esm/classes/renderbuffer.js.map +1 -1
  40. package/dist/esm/classes/resource.js +10 -6
  41. package/dist/esm/classes/resource.js.map +1 -1
  42. package/dist/esm/classes/shader.js +12 -0
  43. package/dist/esm/classes/shader.js.map +1 -1
  44. package/dist/esm/classes/texture-2d.js +4 -0
  45. package/dist/esm/classes/texture-2d.js.map +1 -1
  46. package/dist/esm/classes/texture-3d.js +4 -0
  47. package/dist/esm/classes/texture-3d.js.map +1 -1
  48. package/dist/esm/classes/texture-cube.js +4 -0
  49. package/dist/esm/classes/texture-cube.js.map +1 -1
  50. package/dist/esm/classes/texture.js +9 -1
  51. package/dist/esm/classes/texture.js.map +1 -1
  52. package/dist/esm/classes/transform-feedback.js +4 -0
  53. package/dist/esm/classes/transform-feedback.js.map +1 -1
  54. package/dist/esm/classes/vertex-array-object.js +4 -0
  55. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  56. package/dist/esm/init.js +1 -1
  57. package/package.json +4 -4
  58. package/src/classes/buffer.js +4 -0
  59. package/src/classes/framebuffer.js +4 -0
  60. package/src/classes/program.js +4 -0
  61. package/src/classes/query.js +4 -0
  62. package/src/classes/renderbuffer.js +4 -0
  63. package/src/classes/resource.js +10 -6
  64. package/src/classes/shader.js +14 -0
  65. package/src/classes/texture-2d.js +5 -0
  66. package/src/classes/texture-3d.js +5 -0
  67. package/src/classes/texture-cube.js +5 -0
  68. package/src/classes/texture.js +10 -2
  69. package/src/classes/transform-feedback.js +4 -0
  70. package/src/classes/vertex-array-object.js +4 -0
package/dist/dist.js CHANGED
@@ -345,7 +345,7 @@ __webpack_require__.r(__webpack_exports__);
345
345
 
346
346
 
347
347
 
348
- const VERSION = true ? "8.5.10" : undefined;
348
+ const VERSION = true ? "8.5.13" : undefined;
349
349
  const isBrowser = Object(_lib_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
350
350
  //# sourceMappingURL=globals.js.map
351
351
 
@@ -1563,7 +1563,7 @@ __webpack_require__.r(__webpack_exports__);
1563
1563
 
1564
1564
 
1565
1565
 
1566
- const VERSION = true ? "8.5.10" : undefined;
1566
+ const VERSION = true ? "8.5.13" : undefined;
1567
1567
  const isBrowser = Object(_env_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
1568
1568
  //# sourceMappingURL=globals.js.map
1569
1569
 
@@ -5345,6 +5345,10 @@ const PROP_CHECKS_SET_PROPS = {
5345
5345
  };
5346
5346
 
5347
5347
  class Buffer extends _resource__WEBPACK_IMPORTED_MODULE_1__["default"] {
5348
+ // eslint-disable-next-line accessor-pairs
5349
+ get [Symbol.toStringTag]() {
5350
+ return 'Buffer';
5351
+ }
5348
5352
  constructor(gl, props = {}) {
5349
5353
  super(gl, props);
5350
5354
 
@@ -6267,6 +6271,10 @@ __webpack_require__.r(__webpack_exports__);
6267
6271
  const ERR_MULTIPLE_RENDERTARGETS = 'Multiple render targets not supported';
6268
6272
 
6269
6273
  class Framebuffer extends _resource__WEBPACK_IMPORTED_MODULE_2__["default"] {
6274
+ // eslint-disable-next-line accessor-pairs
6275
+ get [Symbol.toStringTag]() {
6276
+ return 'Framebuffer';
6277
+ }
6270
6278
  static isSupported(gl, options = {}) {
6271
6279
  const {
6272
6280
  colorBufferFloat, // Whether floating point textures can be rendered and read
@@ -7162,6 +7170,10 @@ const V6_DEPRECATED_METHODS = [
7162
7170
  ];
7163
7171
 
7164
7172
  class Program extends _resource__WEBPACK_IMPORTED_MODULE_1__["default"] {
7173
+ // eslint-disable-next-line accessor-pairs
7174
+ get [Symbol.toStringTag]() {
7175
+ return 'Program';
7176
+ }
7165
7177
  constructor(gl, props = {}) {
7166
7178
  super(gl, props);
7167
7179
 
@@ -7553,6 +7565,10 @@ const GL_ANY_SAMPLES_PASSED = 0x8c2f; // Occlusion query (if drawing passed dept
7553
7565
  const GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8d6a; // Occlusion query less accurate/faster version
7554
7566
 
7555
7567
  class Query extends _resource__WEBPACK_IMPORTED_MODULE_0__["default"] {
7568
+ // eslint-disable-next-line accessor-pairs
7569
+ get [Symbol.toStringTag]() {
7570
+ return 'Query';
7571
+ }
7556
7572
  // Returns true if Query is supported by the WebGL implementation
7557
7573
  // Can also check whether timestamp queries are available.
7558
7574
  static isSupported(gl, opts = []) {
@@ -7818,6 +7834,10 @@ function isFormatSupported(gl, format, formats) {
7818
7834
  }
7819
7835
 
7820
7836
  class Renderbuffer extends _resource__WEBPACK_IMPORTED_MODULE_1__["default"] {
7837
+ // eslint-disable-next-line accessor-pairs
7838
+ get [Symbol.toStringTag]() {
7839
+ return 'Renderbuffer';
7840
+ }
7821
7841
  static isSupported(gl, {format} = {format: null}) {
7822
7842
  return !format || isFormatSupported(gl, format, _renderbuffer_formats__WEBPACK_IMPORTED_MODULE_2__["default"]);
7823
7843
  }
@@ -7938,6 +7958,10 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
7938
7958
  // }
7939
7959
 
7940
7960
  class Resource {
7961
+ // eslint-disable-next-line accessor-pairs
7962
+ get [Symbol.toStringTag]() {
7963
+ return 'Resource';
7964
+ }
7941
7965
  constructor(gl, opts = {}) {
7942
7966
  Object(_luma_gl_gltools__WEBPACK_IMPORTED_MODULE_0__["assertWebGLContext"])(gl);
7943
7967
 
@@ -7946,7 +7970,7 @@ class Resource {
7946
7970
  // @ts-ignore
7947
7971
  this.gl2 = gl;
7948
7972
  // this.ext = polyfillContext(gl);
7949
- this.id = id || Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__["uid"])(this.constructor.name);
7973
+ this.id = id || Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__["uid"])(this[Symbol.toStringTag]);
7950
7974
  this.userData = userData;
7951
7975
  this._bound = false;
7952
7976
 
@@ -7969,7 +7993,7 @@ class Resource {
7969
7993
  }
7970
7994
 
7971
7995
  toString() {
7972
- return `${this.constructor.name}(${this.id})`;
7996
+ return `${this[Symbol.toStringTag] || this.constructor.name}(${this.id})`;
7973
7997
  }
7974
7998
 
7975
7999
  get handle() {
@@ -8200,7 +8224,7 @@ class Resource {
8200
8224
  }
8201
8225
 
8202
8226
  _addStats() {
8203
- const name = this.constructor.name;
8227
+ const name = this[Symbol.toStringTag];
8204
8228
  const stats = _init__WEBPACK_IMPORTED_MODULE_1__["lumaStats"].get('Resource Counts');
8205
8229
 
8206
8230
  stats.get('Resources Created').incrementCount();
@@ -8209,13 +8233,13 @@ class Resource {
8209
8233
  }
8210
8234
 
8211
8235
  _removeStats() {
8212
- const name = this.constructor.name;
8236
+ const name = this[Symbol.toStringTag];
8213
8237
  const stats = _init__WEBPACK_IMPORTED_MODULE_1__["lumaStats"].get('Resource Counts');
8214
8238
 
8215
8239
  stats.get(`${name}s Active`).decrementCount();
8216
8240
  }
8217
8241
 
8218
- _trackAllocatedMemory(bytes, name = this.constructor.name) {
8242
+ _trackAllocatedMemory(bytes, name = this[Symbol.toStringTag]) {
8219
8243
  const stats = _init__WEBPACK_IMPORTED_MODULE_1__["lumaStats"].get('Memory Usage');
8220
8244
 
8221
8245
  stats.get('GPU Memory').addCount(bytes);
@@ -8223,7 +8247,7 @@ class Resource {
8223
8247
  this.byteLength = bytes;
8224
8248
  }
8225
8249
 
8226
- _trackDeallocatedMemory(name = this.constructor.name) {
8250
+ _trackDeallocatedMemory(name = this[Symbol.toStringTag]) {
8227
8251
  const stats = _init__WEBPACK_IMPORTED_MODULE_1__["lumaStats"].get('Memory Usage');
8228
8252
 
8229
8253
  stats.get('GPU Memory').subtractCount(this.byteLength);
@@ -8264,6 +8288,11 @@ const ERR_SOURCE = 'Shader: GLSL source code must be a JavaScript string';
8264
8288
 
8265
8289
  // For now this is an internal class
8266
8290
  class Shader extends _resource__WEBPACK_IMPORTED_MODULE_5__["default"] {
8291
+ // eslint-disable-next-line accessor-pairs
8292
+ get [Symbol.toStringTag]() {
8293
+ return 'Shader';
8294
+ }
8295
+
8267
8296
  static getTypeName(shaderType) {
8268
8297
  switch (shaderType) {
8269
8298
  case _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__["default"].VERTEX_SHADER:
@@ -8371,6 +8400,11 @@ class Shader extends _resource__WEBPACK_IMPORTED_MODULE_5__["default"] {
8371
8400
  }
8372
8401
 
8373
8402
  class VertexShader extends Shader {
8403
+ // eslint-disable-next-line accessor-pairs
8404
+ get [Symbol.toStringTag]() {
8405
+ return 'VertexShader';
8406
+ }
8407
+
8374
8408
  constructor(gl, props) {
8375
8409
  // Signature: new VertexShader(gl, source)
8376
8410
  if (typeof props === 'string') {
@@ -8386,6 +8420,10 @@ class VertexShader extends Shader {
8386
8420
  }
8387
8421
 
8388
8422
  class FragmentShader extends Shader {
8423
+ // eslint-disable-next-line accessor-pairs
8424
+ get [Symbol.toStringTag]() {
8425
+ return 'FragmentShader';
8426
+ }
8389
8427
  constructor(gl, props) {
8390
8428
  // Signature: new FragmentShader(gl, source)
8391
8429
  if (typeof props === 'string') {
@@ -8424,6 +8462,11 @@ __webpack_require__.r(__webpack_exports__);
8424
8462
 
8425
8463
 
8426
8464
  class Texture2D extends _texture__WEBPACK_IMPORTED_MODULE_2__["default"] {
8465
+ // eslint-disable-next-line accessor-pairs
8466
+ get [Symbol.toStringTag]() {
8467
+ return 'Texture2D';
8468
+ }
8469
+
8427
8470
  static isSupported(gl, opts) {
8428
8471
  return _texture__WEBPACK_IMPORTED_MODULE_2__["default"].isSupported(gl, opts);
8429
8472
  }
@@ -8474,6 +8517,11 @@ __webpack_require__.r(__webpack_exports__);
8474
8517
 
8475
8518
 
8476
8519
  class Texture3D extends _texture__WEBPACK_IMPORTED_MODULE_2__["default"] {
8520
+ // eslint-disable-next-line accessor-pairs
8521
+ get [Symbol.toStringTag]() {
8522
+ return 'Texture3D';
8523
+ }
8524
+
8477
8525
  static isSupported(gl) {
8478
8526
  return Object(_luma_gl_gltools__WEBPACK_IMPORTED_MODULE_1__["isWebGL2"])(gl);
8479
8527
  }
@@ -8591,6 +8639,11 @@ const FACES = [
8591
8639
  ];
8592
8640
 
8593
8641
  class TextureCube extends _texture__WEBPACK_IMPORTED_MODULE_2__["default"] {
8642
+ // eslint-disable-next-line accessor-pairs
8643
+ get [Symbol.toStringTag]() {
8644
+ return 'TextureCube';
8645
+ }
8646
+
8594
8647
  constructor(gl, props = {}) {
8595
8648
  Object(_luma_gl_gltools__WEBPACK_IMPORTED_MODULE_1__["assertWebGLContext"])(gl);
8596
8649
 
@@ -8942,6 +8995,10 @@ const NPOT_MIN_FILTERS = [_luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__["defau
8942
8995
  const WebGLBuffer = globalThis.WebGLBuffer || function WebGLBuffer() {};
8943
8996
 
8944
8997
  class Texture extends _resource__WEBPACK_IMPORTED_MODULE_2__["default"] {
8998
+ // eslint-disable-next-line accessor-pairs
8999
+ get [Symbol.toStringTag]() {
9000
+ return 'Texture';
9001
+ }
8945
9002
  static isSupported(gl, opts = {}) {
8946
9003
  const {format, linearFiltering} = opts;
8947
9004
  let supported = true;
@@ -9230,6 +9287,8 @@ class Texture extends _resource__WEBPACK_IMPORTED_MODULE_2__["default"] {
9230
9287
 
9231
9288
  let gl2;
9232
9289
 
9290
+ let compressedTextureSize = 0;
9291
+
9233
9292
  Object(_luma_gl_gltools__WEBPACK_IMPORTED_MODULE_1__["withParameters"])(this.gl, parameters, () => {
9234
9293
  switch (dataType) {
9235
9294
  case 'null':
@@ -9278,15 +9337,17 @@ class Texture extends _resource__WEBPACK_IMPORTED_MODULE_2__["default"] {
9278
9337
  border,
9279
9338
  levelData.data
9280
9339
  );
9340
+ compressedTextureSize += levelData.levelSize;
9281
9341
  }
9282
-
9283
9342
  break;
9284
9343
  default:
9285
9344
  Object(_utils_assert__WEBPACK_IMPORTED_MODULE_5__["assert"])(false, 'Unknown image data type');
9286
9345
  }
9287
9346
  });
9288
9347
 
9289
- if (data && data.byteLength) {
9348
+ if (dataType === 'compressed') {
9349
+ this._trackAllocatedMemory(compressedTextureSize, 'Texture');
9350
+ } else if (data && data.byteLength) {
9290
9351
  this._trackAllocatedMemory(data.byteLength, 'Texture');
9291
9352
  } else {
9292
9353
  // NOTE(Tarek): Default to RGBA bytes
@@ -9746,6 +9807,10 @@ __webpack_require__.r(__webpack_exports__);
9746
9807
  // See https://github.com/KhronosGroup/WebGL/issues/2346
9747
9808
 
9748
9809
  class TransformFeedback extends _resource__WEBPACK_IMPORTED_MODULE_2__["default"] {
9810
+ // eslint-disable-next-line accessor-pairs
9811
+ get [Symbol.toStringTag]() {
9812
+ return 'TransformFeedback';
9813
+ }
9749
9814
  static isSupported(gl) {
9750
9815
  return Object(_luma_gl_gltools__WEBPACK_IMPORTED_MODULE_1__["isWebGL2"])(gl);
9751
9816
  }
@@ -10446,6 +10511,10 @@ __webpack_require__.r(__webpack_exports__);
10446
10511
  const ERR_ELEMENTS = 'elements must be GL.ELEMENT_ARRAY_BUFFER';
10447
10512
 
10448
10513
  class VertexArrayObject extends _resource__WEBPACK_IMPORTED_MODULE_1__["default"] {
10514
+ // eslint-disable-next-line accessor-pairs
10515
+ get [Symbol.toStringTag]() {
10516
+ return 'VertexArrayObject';
10517
+ }
10449
10518
  static isSupported(gl, options = {}) {
10450
10519
  // Attribute 0 can not be disable on most desktop OpenGL based browsers
10451
10520
  // and on iOS Safari browser.
@@ -12477,7 +12546,7 @@ __webpack_require__.r(__webpack_exports__);
12477
12546
  // Version detection using babel plugin
12478
12547
  /* global __VERSION__ */
12479
12548
  // @ts-ignore
12480
- const VERSION = true ? "8.5.10" : undefined;
12549
+ const VERSION = true ? "8.5.13" : undefined;
12481
12550
 
12482
12551
  const STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';
12483
12552
  // Assign luma.log.level in console to control logging: \