@loaders.gl/textures 4.4.0-alpha.15 → 4.4.0-alpha.17

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 (74) hide show
  1. package/README.md +44 -0
  2. package/dist/basis-loader.d.ts +17 -8
  3. package/dist/basis-loader.d.ts.map +1 -1
  4. package/dist/basis-loader.js.map +1 -1
  5. package/dist/basis-worker-node.js +317 -188
  6. package/dist/basis-worker.js +252 -123
  7. package/dist/compressed-texture-worker.js +1035 -326
  8. package/dist/crunch-worker.js +141 -82
  9. package/dist/dist.dev.js +1220 -334
  10. package/dist/dist.min.js +1 -2
  11. package/dist/index.cjs +657 -317
  12. package/dist/index.cjs.map +4 -4
  13. package/dist/index.d.ts +2 -4
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/ktx2-basis-writer-worker-node.js +2 -2
  18. package/dist/ktx2-basis-writer-worker.js +2 -2
  19. package/dist/lib/gl-extensions.d.ts +164 -58
  20. package/dist/lib/gl-extensions.d.ts.map +1 -1
  21. package/dist/lib/gl-extensions.js +175 -66
  22. package/dist/lib/gl-extensions.js.map +1 -1
  23. package/dist/lib/parsers/parse-basis.d.ts +16 -1
  24. package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
  25. package/dist/lib/parsers/parse-basis.js +216 -43
  26. package/dist/lib/parsers/parse-basis.js.map +1 -1
  27. package/dist/lib/parsers/parse-crunch.d.ts.map +1 -1
  28. package/dist/lib/parsers/parse-crunch.js +4 -4
  29. package/dist/lib/parsers/parse-crunch.js.map +1 -1
  30. package/dist/lib/parsers/parse-dds.d.ts.map +1 -1
  31. package/dist/lib/parsers/parse-dds.js +7 -7
  32. package/dist/lib/parsers/parse-dds.js.map +1 -1
  33. package/dist/lib/parsers/parse-ktx.d.ts.map +1 -1
  34. package/dist/lib/parsers/parse-ktx.js +7 -0
  35. package/dist/lib/parsers/parse-ktx.js.map +1 -1
  36. package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
  37. package/dist/lib/parsers/parse-pvr.js +28 -70
  38. package/dist/lib/parsers/parse-pvr.js.map +1 -1
  39. package/dist/lib/utils/detect-supported-texture-formats.d.ts +14 -0
  40. package/dist/lib/utils/detect-supported-texture-formats.d.ts.map +1 -0
  41. package/dist/lib/utils/detect-supported-texture-formats.js +197 -0
  42. package/dist/lib/utils/detect-supported-texture-formats.js.map +1 -0
  43. package/dist/lib/utils/extract-mipmap-images.d.ts +2 -2
  44. package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
  45. package/dist/lib/utils/extract-mipmap-images.js +12 -2
  46. package/dist/lib/utils/extract-mipmap-images.js.map +1 -1
  47. package/dist/lib/utils/ktx-format-helper.d.ts +2 -1
  48. package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -1
  49. package/dist/lib/utils/ktx-format-helper.js +67 -109
  50. package/dist/lib/utils/ktx-format-helper.js.map +1 -1
  51. package/dist/lib/utils/texture-format-map.d.ts +3 -0
  52. package/dist/lib/utils/texture-format-map.d.ts.map +1 -0
  53. package/dist/lib/utils/texture-format-map.js +71 -0
  54. package/dist/lib/utils/texture-format-map.js.map +1 -0
  55. package/dist/lib/utils/version.js +1 -1
  56. package/dist/npy-worker.js +1 -1
  57. package/package.json +6 -6
  58. package/src/basis-loader.ts +21 -8
  59. package/src/index.ts +2 -4
  60. package/src/lib/gl-extensions.ts +186 -81
  61. package/src/lib/parsers/parse-basis.ts +274 -40
  62. package/src/lib/parsers/parse-crunch.ts +13 -6
  63. package/src/lib/parsers/parse-dds.ts +16 -9
  64. package/src/lib/parsers/parse-ktx.ts +12 -2
  65. package/src/lib/parsers/parse-pvr.ts +72 -72
  66. package/src/lib/utils/detect-supported-texture-formats.ts +210 -0
  67. package/src/lib/utils/extract-mipmap-images.ts +15 -4
  68. package/src/lib/utils/ktx-format-helper.ts +124 -111
  69. package/src/lib/utils/texture-format-map.ts +135 -0
  70. package/dist/lib/utils/texture-formats.d.ts +0 -8
  71. package/dist/lib/utils/texture-formats.d.ts.map +0 -1
  72. package/dist/lib/utils/texture-formats.js +0 -51
  73. package/dist/lib/utils/texture-formats.js.map +0 -1
  74. package/src/lib/utils/texture-formats.ts +0 -59
@@ -29,7 +29,7 @@
29
29
  globalThis._loadersgl_.version = NPM_TAG;
30
30
  warningIssued = true;
31
31
  } else {
32
- globalThis._loadersgl_.version = "4.4.0-alpha.15";
32
+ globalThis._loadersgl_.version = "4.4.0-alpha.17";
33
33
  }
34
34
  }
35
35
  return globalThis._loadersgl_.version;
@@ -379,7 +379,7 @@
379
379
  }
380
380
 
381
381
  // src/lib/utils/version.ts
382
- var VERSION2 = true ? "4.4.0-alpha.15" : "latest";
382
+ var VERSION2 = true ? "4.4.0-alpha.17" : "latest";
383
383
 
384
384
  // src/crunch-loader.ts
385
385
  var CrunchLoader = {
@@ -425,92 +425,159 @@
425
425
  }
426
426
 
427
427
  // src/lib/gl-extensions.ts
428
- var GL_EXTENSIONS_CONSTANTS = {
429
- // WEBGL_compressed_texture_s3tc
430
- COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
431
- COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
432
- COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
433
- COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
434
- // WEBGL_compressed_texture_es3
435
- COMPRESSED_R11_EAC: 37488,
436
- COMPRESSED_SIGNED_R11_EAC: 37489,
437
- COMPRESSED_RG11_EAC: 37490,
438
- COMPRESSED_SIGNED_RG11_EAC: 37491,
439
- COMPRESSED_RGB8_ETC2: 37492,
440
- COMPRESSED_RGBA8_ETC2_EAC: 37493,
441
- COMPRESSED_SRGB8_ETC2: 37494,
442
- COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
443
- COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
444
- COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
445
- // WEBGL_compressed_texture_pvrtc
446
- COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
447
- COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
448
- COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
449
- COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
450
- // WEBGL_compressed_texture_etc1
451
- COMPRESSED_RGB_ETC1_WEBGL: 36196,
452
- // WEBGL_compressed_texture_atc
453
- COMPRESSED_RGB_ATC_WEBGL: 35986,
454
- COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
455
- COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
456
- // WEBGL_compressed_texture_astc
457
- COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
458
- COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
459
- COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
460
- COMPRESSED_RGBA_ASTC_6X5_KHR: 37811,
461
- COMPRESSED_RGBA_ASTC_6X6_KHR: 37812,
462
- COMPRESSED_RGBA_ASTC_8X5_KHR: 37813,
463
- COMPRESSED_RGBA_ASTC_8X6_KHR: 37814,
464
- COMPRESSED_RGBA_ASTC_8X8_KHR: 37815,
465
- COMPRESSED_RGBA_ASTC_10X5_KHR: 37816,
466
- COMPRESSED_RGBA_ASTC_10X6_KHR: 37817,
467
- COMPRESSED_RGBA_ASTC_10X8_KHR: 37818,
468
- COMPRESSED_RGBA_ASTC_10X10_KHR: 37819,
469
- COMPRESSED_RGBA_ASTC_12X10_KHR: 37820,
470
- COMPRESSED_RGBA_ASTC_12X12_KHR: 37821,
471
- COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 37840,
472
- COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 37841,
473
- COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 37842,
474
- COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 37843,
475
- COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 37844,
476
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 37845,
477
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 37846,
478
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 37847,
479
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 37848,
480
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 37849,
481
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 37850,
482
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
483
- COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
484
- COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
485
- // EXT_texture_compression_rgtc
486
- COMPRESSED_RED_RGTC1_EXT: 36283,
487
- COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
488
- COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
489
- COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
490
- // WEBGL_compressed_texture_s3tc_srgb
491
- COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
492
- COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
493
- COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
494
- COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919
428
+ var GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 33776;
429
+ var GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777;
430
+ var GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778;
431
+ var GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779;
432
+ var GL_COMPRESSED_R11_EAC = 37488;
433
+ var GL_COMPRESSED_SIGNED_R11_EAC = 37489;
434
+ var GL_COMPRESSED_RG11_EAC = 37490;
435
+ var GL_COMPRESSED_SIGNED_RG11_EAC = 37491;
436
+ var GL_COMPRESSED_RGB8_ETC2 = 37492;
437
+ var GL_COMPRESSED_RGBA8_ETC2_EAC = 37493;
438
+ var GL_COMPRESSED_SRGB8_ETC2 = 37494;
439
+ var GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37495;
440
+ var GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37496;
441
+ var GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37497;
442
+ var GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 35840;
443
+ var GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 35841;
444
+ var GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 35842;
445
+ var GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 35843;
446
+ var GL_COMPRESSED_RGB_ETC1_WEBGL = 36196;
447
+ var GL_COMPRESSED_RGB_ATC_WEBGL = 35986;
448
+ var GL_COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL = 35987;
449
+ var GL_COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL = 34798;
450
+ var GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 37808;
451
+ var GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 37809;
452
+ var GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 37810;
453
+ var GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 37811;
454
+ var GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 37812;
455
+ var GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 37813;
456
+ var GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 37814;
457
+ var GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 37815;
458
+ var GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 37816;
459
+ var GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 37817;
460
+ var GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 37818;
461
+ var GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 37819;
462
+ var GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 37820;
463
+ var GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 37821;
464
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 37840;
465
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 37841;
466
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 37842;
467
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 37843;
468
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 37844;
469
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 37845;
470
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 37846;
471
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 37847;
472
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 37848;
473
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 37849;
474
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 37850;
475
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 37851;
476
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 37852;
477
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 37853;
478
+ var GL_COMPRESSED_RED_RGTC1_EXT = 36283;
479
+ var GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 36284;
480
+ var GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 36285;
481
+ var GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 36286;
482
+ var GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 35916;
483
+ var GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 35917;
484
+ var GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 35918;
485
+ var GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 35919;
486
+
487
+ // src/lib/utils/texture-format-map.ts
488
+ var WEBGL_TO_TEXTURE_FORMAT = {
489
+ [GL_COMPRESSED_RGB_S3TC_DXT1_EXT]: "bc1-rgb-unorm-webgl",
490
+ [GL_COMPRESSED_SRGB_S3TC_DXT1_EXT]: "bc1-rgb-unorm-srgb-webgl",
491
+ [GL_COMPRESSED_RGBA_S3TC_DXT1_EXT]: "bc1-rgba-unorm",
492
+ [GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT]: "bc1-rgba-unorm-srgb",
493
+ [GL_COMPRESSED_RGBA_S3TC_DXT3_EXT]: "bc2-rgba-unorm",
494
+ [GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT]: "bc2-rgba-unorm-srgb",
495
+ [GL_COMPRESSED_RGBA_S3TC_DXT5_EXT]: "bc3-rgba-unorm",
496
+ [GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT]: "bc3-rgba-unorm-srgb",
497
+ [GL_COMPRESSED_RED_RGTC1_EXT]: "bc4-r-unorm",
498
+ [GL_COMPRESSED_SIGNED_RED_RGTC1_EXT]: "bc4-r-snorm",
499
+ [GL_COMPRESSED_RED_GREEN_RGTC2_EXT]: "bc5-rg-unorm",
500
+ [GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT]: "bc5-rg-snorm",
501
+ [GL_COMPRESSED_RGB8_ETC2]: "etc2-rgb8unorm",
502
+ [GL_COMPRESSED_SRGB8_ETC2]: "etc2-rgb8unorm-srgb",
503
+ [GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2]: "etc2-rgb8a1unorm",
504
+ [GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2]: "etc2-rgb8a1unorm-srgb",
505
+ [GL_COMPRESSED_RGBA8_ETC2_EAC]: "etc2-rgba8unorm",
506
+ [GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC]: "etc2-rgba8unorm-srgb",
507
+ [GL_COMPRESSED_R11_EAC]: "eac-r11unorm",
508
+ [GL_COMPRESSED_SIGNED_R11_EAC]: "eac-r11snorm",
509
+ [GL_COMPRESSED_RG11_EAC]: "eac-rg11unorm",
510
+ [GL_COMPRESSED_SIGNED_RG11_EAC]: "eac-rg11snorm",
511
+ [GL_COMPRESSED_RGBA_ASTC_4x4_KHR]: "astc-4x4-unorm",
512
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR]: "astc-4x4-unorm-srgb",
513
+ [GL_COMPRESSED_RGBA_ASTC_5x4_KHR]: "astc-5x4-unorm",
514
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR]: "astc-5x4-unorm-srgb",
515
+ [GL_COMPRESSED_RGBA_ASTC_5x5_KHR]: "astc-5x5-unorm",
516
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR]: "astc-5x5-unorm-srgb",
517
+ [GL_COMPRESSED_RGBA_ASTC_6x5_KHR]: "astc-6x5-unorm",
518
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR]: "astc-6x5-unorm-srgb",
519
+ [GL_COMPRESSED_RGBA_ASTC_6x6_KHR]: "astc-6x6-unorm",
520
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR]: "astc-6x6-unorm-srgb",
521
+ [GL_COMPRESSED_RGBA_ASTC_8x5_KHR]: "astc-8x5-unorm",
522
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR]: "astc-8x5-unorm-srgb",
523
+ [GL_COMPRESSED_RGBA_ASTC_8x6_KHR]: "astc-8x6-unorm",
524
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR]: "astc-8x6-unorm-srgb",
525
+ [GL_COMPRESSED_RGBA_ASTC_8x8_KHR]: "astc-8x8-unorm",
526
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR]: "astc-8x8-unorm-srgb",
527
+ [GL_COMPRESSED_RGBA_ASTC_10x5_KHR]: "astc-10x5-unorm",
528
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR]: "astc-10x5-unorm-srgb",
529
+ [GL_COMPRESSED_RGBA_ASTC_10x6_KHR]: "astc-10x6-unorm",
530
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR]: "astc-10x6-unorm-srgb",
531
+ [GL_COMPRESSED_RGBA_ASTC_10x8_KHR]: "astc-10x8-unorm",
532
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR]: "astc-10x8-unorm-srgb",
533
+ [GL_COMPRESSED_RGBA_ASTC_10x10_KHR]: "astc-10x10-unorm",
534
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR]: "astc-10x10-unorm-srgb",
535
+ [GL_COMPRESSED_RGBA_ASTC_12x10_KHR]: "astc-12x10-unorm",
536
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR]: "astc-12x10-unorm-srgb",
537
+ [GL_COMPRESSED_RGBA_ASTC_12x12_KHR]: "astc-12x12-unorm",
538
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR]: "astc-12x12-unorm-srgb",
539
+ [GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG]: "pvrtc-rgb4unorm-webgl",
540
+ [GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG]: "pvrtc-rgba4unorm-webgl",
541
+ [GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG]: "pvrtc-rbg2unorm-webgl",
542
+ [GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG]: "pvrtc-rgba2unorm-webgl",
543
+ [GL_COMPRESSED_RGB_ETC1_WEBGL]: "etc1-rbg-unorm-webgl",
544
+ [GL_COMPRESSED_RGB_ATC_WEBGL]: "atc-rgb-unorm-webgl",
545
+ [GL_COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL]: "atc-rgba-unorm-webgl",
546
+ [GL_COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL]: "atc-rgbai-unorm-webgl"
495
547
  };
548
+ function getTextureFormatFromWebGLFormat(format) {
549
+ if (format === void 0) {
550
+ return void 0;
551
+ }
552
+ return WEBGL_TO_TEXTURE_FORMAT[format];
553
+ }
496
554
 
497
555
  // src/lib/utils/extract-mipmap-images.ts
498
556
  function extractMipmapImages(data, options) {
499
557
  const images = new Array(options.mipMapLevels);
558
+ const format = options.internalFormat;
559
+ const textureFormat = format === void 0 ? void 0 : getTextureFormatFromWebGLFormat(format);
500
560
  let levelWidth = options.width;
501
561
  let levelHeight = options.height;
502
562
  let offset = 0;
503
563
  for (let i = 0; i < options.mipMapLevels; ++i) {
504
564
  const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
505
565
  const levelData = getLevelData(data, i, offset, levelSize);
506
- images[i] = {
566
+ const image = {
567
+ shape: "texture-level",
507
568
  compressed: true,
508
- format: options.internalFormat,
509
569
  data: levelData,
510
570
  width: levelWidth,
511
571
  height: levelHeight,
512
572
  levelSize
513
573
  };
574
+ if (format !== void 0) {
575
+ image.format = format;
576
+ }
577
+ if (textureFormat) {
578
+ image.textureFormat = textureFormat;
579
+ }
580
+ images[i] = image;
514
581
  levelWidth = Math.max(1, levelWidth >> 1);
515
582
  levelHeight = Math.max(1, levelHeight >> 1);
516
583
  offset += levelSize;
@@ -531,14 +598,6 @@
531
598
  }
532
599
 
533
600
  // src/lib/parsers/parse-dds.ts
534
- var DDS_PIXEL_FORMATS = {
535
- DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
536
- DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
537
- DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
538
- "ATC ": GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
539
- ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
540
- ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
541
- };
542
601
  function getDxt1LevelSize(width, height) {
543
602
  return (width + 3 >> 2) * (height + 3 >> 2) * 8;
544
603
  }
@@ -557,15 +616,15 @@
557
616
  };
558
617
  var DXT_FORMAT_MAP = {
559
618
  [CRN_FORMAT.cCRNFmtDXT1]: {
560
- pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
619
+ pixelFormat: GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
561
620
  sizeFunction: getDxt1LevelSize
562
621
  },
563
622
  [CRN_FORMAT.cCRNFmtDXT3]: {
564
- pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
623
+ pixelFormat: GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
565
624
  sizeFunction: getDxtXLevelSize
566
625
  },
567
626
  [CRN_FORMAT.cCRNFmtDXT5]: {
568
- pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
627
+ pixelFormat: GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
569
628
  sizeFunction: getDxtXLevelSize
570
629
  }
571
630
  };