@loaders.gl/textures 3.1.0-beta.2 → 3.1.0

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 (119) hide show
  1. package/dist/basis-worker.js +33 -9
  2. package/dist/bundle.js +185 -119
  3. package/dist/compressed-texture-loader.d.ts +1 -15
  4. package/dist/compressed-texture-loader.d.ts.map +1 -1
  5. package/dist/compressed-texture-worker.js +174 -108
  6. package/dist/crunch-worker.js +11 -11
  7. package/dist/es5/basis-loader.js +13 -5
  8. package/dist/es5/basis-loader.js.map +1 -1
  9. package/dist/es5/bundle.js +1 -1
  10. package/dist/es5/bundle.js.map +1 -1
  11. package/dist/es5/compressed-texture-loader.js +59 -20
  12. package/dist/es5/compressed-texture-loader.js.map +1 -1
  13. package/dist/es5/compressed-texture-writer.js +2 -2
  14. package/dist/es5/compressed-texture-writer.js.map +1 -1
  15. package/dist/es5/crunch-loader.js +2 -2
  16. package/dist/es5/crunch-loader.js.map +1 -1
  17. package/dist/es5/index.js +19 -19
  18. package/dist/es5/index.js.map +1 -1
  19. package/dist/es5/ktx2-basis-universal-texture-writer.js +2 -2
  20. package/dist/es5/ktx2-basis-universal-texture-writer.js.map +1 -1
  21. package/dist/es5/lib/encoders/encode-ktx.js +1 -1
  22. package/dist/es5/lib/encoders/encode-ktx.js.map +1 -1
  23. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +76 -32
  24. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  25. package/dist/es5/lib/encoders/encode-texture.js +41 -13
  26. package/dist/es5/lib/encoders/encode-texture.js.map +1 -1
  27. package/dist/es5/lib/{gl-constants.js → gl-extensions.js} +4 -4
  28. package/dist/es5/lib/gl-extensions.js.map +1 -0
  29. package/dist/es5/lib/parsers/basis-module-loader.js +195 -51
  30. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
  31. package/dist/es5/lib/parsers/crunch-module-loader.js +71 -15
  32. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
  33. package/dist/es5/lib/parsers/parse-basis.js +137 -85
  34. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  35. package/dist/es5/lib/parsers/parse-crunch.js +80 -59
  36. package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
  37. package/dist/es5/lib/parsers/parse-dds.js +30 -30
  38. package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
  39. package/dist/es5/lib/parsers/parse-ktx.js +16 -14
  40. package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
  41. package/dist/es5/lib/parsers/parse-npy.js +28 -25
  42. package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
  43. package/dist/es5/lib/parsers/parse-pvr.js +49 -49
  44. package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
  45. package/dist/es5/lib/texture-api/async-deep-map.js +156 -27
  46. package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
  47. package/dist/es5/lib/texture-api/deep-load.js +67 -6
  48. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  49. package/dist/es5/lib/texture-api/generate-url.js +10 -4
  50. package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
  51. package/dist/es5/lib/texture-api/load-image-array.js +76 -12
  52. package/dist/es5/lib/texture-api/load-image-array.js.map +1 -1
  53. package/dist/es5/lib/texture-api/load-image-cube.js +96 -27
  54. package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -1
  55. package/dist/es5/lib/texture-api/load-image.js +142 -35
  56. package/dist/es5/lib/texture-api/load-image.js.map +1 -1
  57. package/dist/es5/lib/utils/extract-mipmap-images.js +9 -9
  58. package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
  59. package/dist/es5/lib/utils/ktx-format-helper.js +68 -68
  60. package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -1
  61. package/dist/es5/lib/utils/texture-formats.js +27 -9
  62. package/dist/es5/lib/utils/texture-formats.js.map +1 -1
  63. package/dist/es5/lib/utils/version.js +1 -1
  64. package/dist/es5/lib/utils/version.js.map +1 -1
  65. package/dist/es5/npy-loader.js +42 -7
  66. package/dist/es5/npy-loader.js.map +1 -1
  67. package/dist/es5/workers/crunch-worker.js +11 -2
  68. package/dist/es5/workers/crunch-worker.js.map +1 -1
  69. package/dist/esm/index.js +1 -1
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +1 -1
  72. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  73. package/dist/esm/lib/{gl-constants.js → gl-extensions.js} +2 -2
  74. package/dist/esm/lib/gl-extensions.js.map +1 -0
  75. package/dist/esm/lib/parsers/basis-module-loader.js +1 -1
  76. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
  77. package/dist/esm/lib/parsers/parse-basis.js +7 -7
  78. package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
  79. package/dist/esm/lib/parsers/parse-crunch.js +4 -4
  80. package/dist/esm/lib/parsers/parse-crunch.js.map +1 -1
  81. package/dist/esm/lib/parsers/parse-dds.js +7 -7
  82. package/dist/esm/lib/parsers/parse-dds.js.map +1 -1
  83. package/dist/esm/lib/parsers/parse-pvr.js +28 -28
  84. package/dist/esm/lib/parsers/parse-pvr.js.map +1 -1
  85. package/dist/esm/lib/utils/ktx-format-helper.js +67 -67
  86. package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -1
  87. package/dist/esm/lib/utils/version.js +1 -1
  88. package/dist/esm/lib/utils/version.js.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +3 -3
  92. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +1 -1
  93. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
  94. package/dist/lib/encoders/encode-ktx2-basis-texture.js +1 -1
  95. package/dist/lib/{gl-constants.d.ts → gl-extensions.d.ts} +2 -2
  96. package/dist/lib/gl-extensions.d.ts.map +1 -0
  97. package/dist/lib/{gl-constants.js → gl-extensions.js} +2 -2
  98. package/dist/lib/parsers/parse-basis.d.ts +2 -16
  99. package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
  100. package/dist/lib/parsers/parse-basis.js +31 -7
  101. package/dist/lib/parsers/parse-crunch.js +4 -4
  102. package/dist/lib/parsers/parse-dds.js +7 -7
  103. package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
  104. package/dist/lib/parsers/parse-pvr.js +70 -28
  105. package/dist/lib/utils/ktx-format-helper.js +67 -67
  106. package/package.json +5 -5
  107. package/src/index.ts +1 -1
  108. package/src/lib/encoders/encode-ktx2-basis-texture.ts +2 -2
  109. package/src/lib/{gl-constants.ts → gl-extensions.ts} +1 -1
  110. package/src/lib/parsers/{parse-basis.js → parse-basis.ts} +34 -10
  111. package/src/lib/parsers/parse-crunch.ts +4 -4
  112. package/src/lib/parsers/parse-dds.ts +7 -7
  113. package/src/lib/parsers/parse-pvr.ts +70 -28
  114. package/src/lib/utils/ktx-format-helper.ts +67 -67
  115. package/dist/es5/lib/gl-constants.js.map +0 -1
  116. package/dist/esm/lib/gl-constants.js.map +0 -1
  117. package/dist/lib/gl-constants.d.ts.map +0 -1
  118. package/src/lib/parsers/parse-ktx.js +0 -42
  119. package/src/lib/parsers/parse-npy.js +0 -82
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/texture-api/load-image-cube.ts"],"names":["GL_TEXTURE_CUBE_MAP_POSITIVE_X","GL_TEXTURE_CUBE_MAP_NEGATIVE_X","GL_TEXTURE_CUBE_MAP_POSITIVE_Y","GL_TEXTURE_CUBE_MAP_NEGATIVE_Y","GL_TEXTURE_CUBE_MAP_POSITIVE_Z","GL_TEXTURE_CUBE_MAP_NEGATIVE_Z","CUBE_FACES","face","direction","axis","sign","getImageCubeUrls","getUrl","options","urls","promises","index","i","length","promise","then","url","push","Promise","all","loadImageTextureCube","ImageLoader","parse"],"mappings":";;;;;;;;AACA;;AAEA;;AACA;;AAGA,MAAMA,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AAEA,MAAMC,UAAU,GAAG,CACjB;AAACC,EAAAA,IAAI,EAAEP,8BAAP;AAAuCQ,EAAAA,SAAS,EAAE,OAAlD;AAA2DC,EAAAA,IAAI,EAAE,GAAjE;AAAsEC,EAAAA,IAAI,EAAE;AAA5E,CADiB,EAEjB;AAACH,EAAAA,IAAI,EAAEN,8BAAP;AAAuCO,EAAAA,SAAS,EAAE,MAAlD;AAA0DC,EAAAA,IAAI,EAAE,GAAhE;AAAqEC,EAAAA,IAAI,EAAE;AAA3E,CAFiB,EAGjB;AAACH,EAAAA,IAAI,EAAEL,8BAAP;AAAuCM,EAAAA,SAAS,EAAE,KAAlD;AAAyDC,EAAAA,IAAI,EAAE,GAA/D;AAAoEC,EAAAA,IAAI,EAAE;AAA1E,CAHiB,EAIjB;AAACH,EAAAA,IAAI,EAAEJ,8BAAP;AAAuCK,EAAAA,SAAS,EAAE,QAAlD;AAA4DC,EAAAA,IAAI,EAAE,GAAlE;AAAuEC,EAAAA,IAAI,EAAE;AAA7E,CAJiB,EAKjB;AAACH,EAAAA,IAAI,EAAEH,8BAAP;AAAuCI,EAAAA,SAAS,EAAE,OAAlD;AAA2DC,EAAAA,IAAI,EAAE,GAAjE;AAAsEC,EAAAA,IAAI,EAAE;AAA5E,CALiB,EAMjB;AAACH,EAAAA,IAAI,EAAEF,8BAAP;AAAuCG,EAAAA,SAAS,EAAE,MAAlD;AAA0DC,EAAAA,IAAI,EAAE,GAAhE;AAAqEC,EAAAA,IAAI,EAAE;AAA3E,CANiB,CAAnB;;AAoBO,eAAeC,gBAAf,CAAgCC,MAAhC,EAAgDC,OAAhD,EAAqE;AAE1E,QAAMC,IAAuC,GAAG,EAAhD;AACA,QAAMC,QAAwB,GAAG,EAAjC;AAEA,MAAIC,KAAK,GAAG,CAAZ;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGX,UAAU,CAACY,MAA/B,EAAuC,EAAED,CAAzC,EAA4C;AAC1C,UAAMV,IAAI,GAAGD,UAAU,CAACU,KAAD,CAAvB;AACA,UAAMG,OAAO,GAAG,6BAAaP,MAAb,EAAqBC,OAArB,EAA8B,EAAC,GAAGN,IAAJ;AAAUS,MAAAA,KAAK,EAAEA,KAAK;AAAtB,KAA9B,EAAyDI,IAAzD,CAA+DC,GAAD,IAAS;AACrFP,MAAAA,IAAI,CAACP,IAAI,CAACA,IAAN,CAAJ,GAAkBc,GAAlB;AACD,KAFe,CAAhB;AAGAN,IAAAA,QAAQ,CAACO,IAAT,CAAcH,OAAd;AACD;;AAED,QAAMI,OAAO,CAACC,GAAR,CAAYT,QAAZ,CAAN;AAEA,SAAOD,IAAP;AACD;;AAIM,eAAeW,oBAAf,CACLb,MADK,EAELC,OAAO,GAAG,EAFL,EAGsB;AAC3B,QAAMC,IAAI,GAAG,MAAMH,gBAAgB,CAACC,MAAD,EAASC,OAAT,CAAnC;AACA,SAAQ,MAAM,wBAASC,IAAT,EAAeY,oBAAYC,KAA3B,EAAkCd,OAAlC,CAAd;AACD","sourcesContent":["// loaders.gl, MIT license\nimport {ImageLoader} from '@loaders.gl/images';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\nimport {getImageUrls} from './load-image';\nimport {deepLoad} from './deep-load';\n\n// Returned map will be have keys corresponding to GL cubemap constants\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;\n\nconst CUBE_FACES = [\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: 'right', axis: 'x', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: 'left', axis: 'x', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: 'top', axis: 'y', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: 'bottom', axis: 'y', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: 'front', axis: 'z', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: 'back', axis: 'z', sign: 'negative'}\n];\n\nexport type ImageCubeTexture = {\n GL_TEXTURE_CUBE_MAP_POSITIVE_X: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_X: any;\n GL_TEXTURE_CUBE_MAP_POSITIVE_Y: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: any;\n GL_TEXTURE_CUBE_MAP_POSITIVE_Z: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: any;\n};\n\n// Returns an object with six key-value pairs containing the urls (or url mip arrays)\n// for each cube face\nexport async function getImageCubeUrls(getUrl: GetUrl, options: UrlOptions) {\n // Calculate URLs\n const urls: Record<number, string | string[]> = {};\n const promises: Promise<any>[] = [];\n\n let index = 0;\n for (let i = 0; i < CUBE_FACES.length; ++i) {\n const face = CUBE_FACES[index];\n const promise = getImageUrls(getUrl, options, {...face, index: index++}).then((url) => {\n urls[face.face] = url;\n });\n promises.push(promise);\n }\n\n await Promise.all(promises);\n\n return urls;\n}\n\n// Returns an object with six key-value pairs containing the images (or image mip arrays)\n// for each cube face\nexport async function loadImageTextureCube(\n getUrl: GetUrl,\n options = {}\n): Promise<ImageCubeTexture> {\n const urls = await getImageCubeUrls(getUrl, options);\n return (await deepLoad(urls, ImageLoader.parse, options)) as ImageCubeTexture;\n}\n"],"file":"load-image-cube.js"}
1
+ {"version":3,"sources":["../../../../src/lib/texture-api/load-image-cube.ts"],"names":["GL_TEXTURE_CUBE_MAP_POSITIVE_X","GL_TEXTURE_CUBE_MAP_NEGATIVE_X","GL_TEXTURE_CUBE_MAP_POSITIVE_Y","GL_TEXTURE_CUBE_MAP_NEGATIVE_Y","GL_TEXTURE_CUBE_MAP_POSITIVE_Z","GL_TEXTURE_CUBE_MAP_NEGATIVE_Z","CUBE_FACES","face","direction","axis","sign","getImageCubeUrls","getUrl","options","urls","promises","index","i","promise","then","url","push","length","Promise","all","loadImageTextureCube","ImageLoader","parse"],"mappings":";;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;;;;;AAGA,IAAMA,8BAA8B,GAAG,MAAvC;AACA,IAAMC,8BAA8B,GAAG,MAAvC;AACA,IAAMC,8BAA8B,GAAG,MAAvC;AACA,IAAMC,8BAA8B,GAAG,MAAvC;AACA,IAAMC,8BAA8B,GAAG,MAAvC;AACA,IAAMC,8BAA8B,GAAG,MAAvC;AAEA,IAAMC,UAAU,GAAG,CACjB;AAACC,EAAAA,IAAI,EAAEP,8BAAP;AAAuCQ,EAAAA,SAAS,EAAE,OAAlD;AAA2DC,EAAAA,IAAI,EAAE,GAAjE;AAAsEC,EAAAA,IAAI,EAAE;AAA5E,CADiB,EAEjB;AAACH,EAAAA,IAAI,EAAEN,8BAAP;AAAuCO,EAAAA,SAAS,EAAE,MAAlD;AAA0DC,EAAAA,IAAI,EAAE,GAAhE;AAAqEC,EAAAA,IAAI,EAAE;AAA3E,CAFiB,EAGjB;AAACH,EAAAA,IAAI,EAAEL,8BAAP;AAAuCM,EAAAA,SAAS,EAAE,KAAlD;AAAyDC,EAAAA,IAAI,EAAE,GAA/D;AAAoEC,EAAAA,IAAI,EAAE;AAA1E,CAHiB,EAIjB;AAACH,EAAAA,IAAI,EAAEJ,8BAAP;AAAuCK,EAAAA,SAAS,EAAE,QAAlD;AAA4DC,EAAAA,IAAI,EAAE,GAAlE;AAAuEC,EAAAA,IAAI,EAAE;AAA7E,CAJiB,EAKjB;AAACH,EAAAA,IAAI,EAAEH,8BAAP;AAAuCI,EAAAA,SAAS,EAAE,OAAlD;AAA2DC,EAAAA,IAAI,EAAE,GAAjE;AAAsEC,EAAAA,IAAI,EAAE;AAA5E,CALiB,EAMjB;AAACH,EAAAA,IAAI,EAAEF,8BAAP;AAAuCG,EAAAA,SAAS,EAAE,MAAlD;AAA0DC,EAAAA,IAAI,EAAE,GAAhE;AAAqEC,EAAAA,IAAI,EAAE;AAA3E,CANiB,CAAnB;;SAoBsBC,gB;;;;;gFAAf,iBAAgCC,MAAhC,EAAgDC,OAAhD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAECC,YAAAA,IAFD,GAE2C,EAF3C;AAGCC,YAAAA,QAHD,GAG4B,EAH5B;AAKDC,YAAAA,KALC,GAKO,CALP;;AAAA,mCAMIC,CANJ;AAOH,kBAAMV,IAAI,GAAGD,UAAU,CAACU,KAAD,CAAvB;AACA,kBAAME,OAAO,GAAG,6BAAaN,MAAb,EAAqBC,OAArB,kCAAkCN,IAAlC;AAAwCS,gBAAAA,KAAK,EAAEA,KAAK;AAApD,kBAAyDG,IAAzD,CAA8D,UAACC,GAAD,EAAS;AACrFN,gBAAAA,IAAI,CAACP,IAAI,CAACA,IAAN,CAAJ,GAAkBa,GAAlB;AACD,eAFe,CAAhB;AAGAL,cAAAA,QAAQ,CAACM,IAAT,CAAcH,OAAd;AAXG;;AAML,iBAASD,CAAT,GAAa,CAAb,EAAgBA,CAAC,GAAGX,UAAU,CAACgB,MAA/B,EAAuC,EAAEL,CAAzC,EAA4C;AAAA,oBAAnCA,CAAmC;AAM3C;;AAZI;AAAA,mBAcCM,OAAO,CAACC,GAAR,CAAYT,QAAZ,CAdD;;AAAA;AAAA,6CAgBED,IAhBF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAqBeW,oB;;;;;oFAAf,kBACLb,MADK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAELC,YAAAA,OAFK,8DAEK,EAFL;AAAA;AAAA,mBAIcF,gBAAgB,CAACC,MAAD,EAASC,OAAT,CAJ9B;;AAAA;AAICC,YAAAA,IAJD;AAAA;AAAA,mBAKS,wBAASA,IAAT,EAAeY,oBAAYC,KAA3B,EAAkCd,OAAlC,CALT;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["// loaders.gl, MIT license\nimport {ImageLoader} from '@loaders.gl/images';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\nimport {getImageUrls} from './load-image';\nimport {deepLoad} from './deep-load';\n\n// Returned map will be have keys corresponding to GL cubemap constants\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;\n\nconst CUBE_FACES = [\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: 'right', axis: 'x', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: 'left', axis: 'x', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: 'top', axis: 'y', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: 'bottom', axis: 'y', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: 'front', axis: 'z', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: 'back', axis: 'z', sign: 'negative'}\n];\n\nexport type ImageCubeTexture = {\n GL_TEXTURE_CUBE_MAP_POSITIVE_X: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_X: any;\n GL_TEXTURE_CUBE_MAP_POSITIVE_Y: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: any;\n GL_TEXTURE_CUBE_MAP_POSITIVE_Z: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: any;\n};\n\n// Returns an object with six key-value pairs containing the urls (or url mip arrays)\n// for each cube face\nexport async function getImageCubeUrls(getUrl: GetUrl, options: UrlOptions) {\n // Calculate URLs\n const urls: Record<number, string | string[]> = {};\n const promises: Promise<any>[] = [];\n\n let index = 0;\n for (let i = 0; i < CUBE_FACES.length; ++i) {\n const face = CUBE_FACES[index];\n const promise = getImageUrls(getUrl, options, {...face, index: index++}).then((url) => {\n urls[face.face] = url;\n });\n promises.push(promise);\n }\n\n await Promise.all(promises);\n\n return urls;\n}\n\n// Returns an object with six key-value pairs containing the images (or image mip arrays)\n// for each cube face\nexport async function loadImageTextureCube(\n getUrl: GetUrl,\n options = {}\n): Promise<ImageCubeTexture> {\n const urls = await getImageCubeUrls(getUrl, options);\n return (await deepLoad(urls, ImageLoader.parse, options)) as ImageCubeTexture;\n}\n"],"file":"load-image-cube.js"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -7,6 +9,12 @@ exports.loadImageTexture = loadImageTexture;
7
9
  exports.getImageUrls = getImageUrls;
8
10
  exports.getMipLevels = getMipLevels;
9
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
10
18
  var _loaderUtils = require("@loaders.gl/loader-utils");
11
19
 
12
20
  var _images = require("@loaders.gl/images");
@@ -15,45 +23,144 @@ var _generateUrl = require("./generate-url");
15
23
 
16
24
  var _deepLoad = require("./deep-load");
17
25
 
18
- async function loadImageTexture(getUrl, options = {}) {
19
- const imageUrls = await getImageUrls(getUrl, options);
20
- return await (0, _deepLoad.deepLoad)(imageUrls, _images.ImageLoader.parse, options);
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
27
+
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
+
30
+ function loadImageTexture(_x) {
31
+ return _loadImageTexture.apply(this, arguments);
21
32
  }
22
33
 
23
- async function getImageUrls(getUrl, options, urlOptions = {}) {
24
- const mipLevels = options && options.image && options.image.mipLevels || 0;
25
- return mipLevels !== 0 ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) : (0, _generateUrl.generateUrl)(getUrl, options, urlOptions);
34
+ function _loadImageTexture() {
35
+ _loadImageTexture = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(getUrl) {
36
+ var options,
37
+ imageUrls,
38
+ _args = arguments;
39
+ return _regenerator.default.wrap(function _callee$(_context) {
40
+ while (1) {
41
+ switch (_context.prev = _context.next) {
42
+ case 0:
43
+ options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
44
+ _context.next = 3;
45
+ return getImageUrls(getUrl, options);
46
+
47
+ case 3:
48
+ imageUrls = _context.sent;
49
+ _context.next = 6;
50
+ return (0, _deepLoad.deepLoad)(imageUrls, _images.ImageLoader.parse, options);
51
+
52
+ case 6:
53
+ return _context.abrupt("return", _context.sent);
54
+
55
+ case 7:
56
+ case "end":
57
+ return _context.stop();
58
+ }
59
+ }
60
+ }, _callee);
61
+ }));
62
+ return _loadImageTexture.apply(this, arguments);
63
+ }
64
+
65
+ function getImageUrls(_x2, _x3) {
66
+ return _getImageUrls.apply(this, arguments);
26
67
  }
27
68
 
28
- async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
29
- const urls = [];
30
-
31
- if (mipLevels === 'auto') {
32
- const url = (0, _generateUrl.generateUrl)(getUrl, options, { ...urlOptions,
33
- lod: 0
34
- });
35
- const image = await (0, _deepLoad.shallowLoad)(url, _images.ImageLoader.parse, options);
36
- const {
37
- width,
38
- height
39
- } = (0, _images.getImageSize)(image);
40
- mipLevels = getMipLevels({
41
- width,
42
- height
43
- });
44
- urls.push(url);
45
- }
46
-
47
- (0, _loaderUtils.assert)(mipLevels > 0);
48
-
49
- for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
50
- const url = (0, _generateUrl.generateUrl)(getUrl, options, { ...urlOptions,
51
- lod: mipLevel
52
- });
53
- urls.push(url);
54
- }
55
-
56
- return urls;
69
+ function _getImageUrls() {
70
+ _getImageUrls = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(getUrl, options) {
71
+ var urlOptions,
72
+ mipLevels,
73
+ _args2 = arguments;
74
+ return _regenerator.default.wrap(function _callee2$(_context2) {
75
+ while (1) {
76
+ switch (_context2.prev = _context2.next) {
77
+ case 0:
78
+ urlOptions = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
79
+ mipLevels = options && options.image && options.image.mipLevels || 0;
80
+
81
+ if (!(mipLevels !== 0)) {
82
+ _context2.next = 8;
83
+ break;
84
+ }
85
+
86
+ _context2.next = 5;
87
+ return getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions);
88
+
89
+ case 5:
90
+ _context2.t0 = _context2.sent;
91
+ _context2.next = 9;
92
+ break;
93
+
94
+ case 8:
95
+ _context2.t0 = (0, _generateUrl.generateUrl)(getUrl, options, urlOptions);
96
+
97
+ case 9:
98
+ return _context2.abrupt("return", _context2.t0);
99
+
100
+ case 10:
101
+ case "end":
102
+ return _context2.stop();
103
+ }
104
+ }
105
+ }, _callee2);
106
+ }));
107
+ return _getImageUrls.apply(this, arguments);
108
+ }
109
+
110
+ function getMipmappedImageUrls(_x4, _x5, _x6, _x7) {
111
+ return _getMipmappedImageUrls.apply(this, arguments);
112
+ }
113
+
114
+ function _getMipmappedImageUrls() {
115
+ _getMipmappedImageUrls = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(getUrl, mipLevels, options, urlOptions) {
116
+ var urls, url, image, _getImageSize, width, height, mipLevel, _url;
117
+
118
+ return _regenerator.default.wrap(function _callee3$(_context3) {
119
+ while (1) {
120
+ switch (_context3.prev = _context3.next) {
121
+ case 0:
122
+ urls = [];
123
+
124
+ if (!(mipLevels === 'auto')) {
125
+ _context3.next = 9;
126
+ break;
127
+ }
128
+
129
+ url = (0, _generateUrl.generateUrl)(getUrl, options, _objectSpread(_objectSpread({}, urlOptions), {}, {
130
+ lod: 0
131
+ }));
132
+ _context3.next = 5;
133
+ return (0, _deepLoad.shallowLoad)(url, _images.ImageLoader.parse, options);
134
+
135
+ case 5:
136
+ image = _context3.sent;
137
+ _getImageSize = (0, _images.getImageSize)(image), width = _getImageSize.width, height = _getImageSize.height;
138
+ mipLevels = getMipLevels({
139
+ width: width,
140
+ height: height
141
+ });
142
+ urls.push(url);
143
+
144
+ case 9:
145
+ (0, _loaderUtils.assert)(mipLevels > 0);
146
+
147
+ for (mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
148
+ _url = (0, _generateUrl.generateUrl)(getUrl, options, _objectSpread(_objectSpread({}, urlOptions), {}, {
149
+ lod: mipLevel
150
+ }));
151
+ urls.push(_url);
152
+ }
153
+
154
+ return _context3.abrupt("return", urls);
155
+
156
+ case 12:
157
+ case "end":
158
+ return _context3.stop();
159
+ }
160
+ }
161
+ }, _callee3);
162
+ }));
163
+ return _getMipmappedImageUrls.apply(this, arguments);
57
164
  }
58
165
 
59
166
  function getMipLevels(size) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/texture-api/load-image.ts"],"names":["loadImageTexture","getUrl","options","imageUrls","getImageUrls","ImageLoader","parse","urlOptions","mipLevels","image","getMipmappedImageUrls","urls","url","lod","width","height","getMipLevels","push","mipLevel","length","size","Math","floor","log2","max"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEO,eAAeA,gBAAf,CAAgCC,MAAhC,EAAyDC,OAAO,GAAG,EAAnE,EAAqF;AAC1F,QAAMC,SAAS,GAAG,MAAMC,YAAY,CAACH,MAAD,EAASC,OAAT,CAApC;AACA,SAAO,MAAM,wBAASC,SAAT,EAAoBE,oBAAYC,KAAhC,EAAuCJ,OAAvC,CAAb;AACD;;AAEM,eAAeE,YAAf,CACLH,MADK,EAELC,OAFK,EAGLK,UAAsB,GAAG,EAHpB,EAIS;AACd,QAAMC,SAAS,GAAIN,OAAO,IAAIA,OAAO,CAACO,KAAnB,IAA4BP,OAAO,CAACO,KAAR,CAAcD,SAA3C,IAAyD,CAA3E;AACA,SAAOA,SAAS,KAAK,CAAd,GACH,MAAME,qBAAqB,CAACT,MAAD,EAASO,SAAT,EAAoBN,OAApB,EAA6BK,UAA7B,CADxB,GAEH,8BAAYN,MAAZ,EAAoBC,OAApB,EAA6BK,UAA7B,CAFJ;AAGD;;AAED,eAAeG,qBAAf,CACET,MADF,EAEEO,SAFF,EAGEN,OAHF,EAIEK,UAJF,EAKqB;AACnB,QAAMI,IAAc,GAAG,EAAvB;;AAGA,MAAIH,SAAS,KAAK,MAAlB,EAA0B;AACxB,UAAMI,GAAG,GAAG,8BAAYX,MAAZ,EAAoBC,OAApB,EAA6B,EAAC,GAAGK,UAAJ;AAAgBM,MAAAA,GAAG,EAAE;AAArB,KAA7B,CAAZ;AACA,UAAMJ,KAAK,GAAG,MAAM,2BAAYG,GAAZ,EAAiBP,oBAAYC,KAA7B,EAAoCJ,OAApC,CAApB;AAEA,UAAM;AAACY,MAAAA,KAAD;AAAQC,MAAAA;AAAR,QAAkB,0BAAaN,KAAb,CAAxB;AACAD,IAAAA,SAAS,GAAGQ,YAAY,CAAC;AAACF,MAAAA,KAAD;AAAQC,MAAAA;AAAR,KAAD,CAAxB;AAGAJ,IAAAA,IAAI,CAACM,IAAL,CAAUL,GAAV;AACD;;AAGD,2BAAOJ,SAAS,GAAG,CAAnB;;AAEA,OAAK,IAAIU,QAAQ,GAAGP,IAAI,CAACQ,MAAzB,EAAiCD,QAAQ,GAAGV,SAA5C,EAAuD,EAAEU,QAAzD,EAAmE;AACjE,UAAMN,GAAG,GAAG,8BAAYX,MAAZ,EAAoBC,OAApB,EAA6B,EAAC,GAAGK,UAAJ;AAAgBM,MAAAA,GAAG,EAAEK;AAArB,KAA7B,CAAZ;AACAP,IAAAA,IAAI,CAACM,IAAL,CAAUL,GAAV;AACD;;AAED,SAAOD,IAAP;AACD;;AAGM,SAASK,YAAT,CAAsBI,IAAtB,EAAqE;AAC1E,SAAO,IAAIC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,IAAL,CAAUF,IAAI,CAACG,GAAL,CAASJ,IAAI,CAACN,KAAd,EAAqBM,IAAI,CAACL,MAA1B,CAAV,CAAX,CAAX;AACD","sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport {ImageLoader, getImageSize} from '@loaders.gl/images';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImageTexture(getUrl: string | GetUrl, options = {}): Promise<any> {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, ImageLoader.parse, options);\n}\n\nexport async function getImageUrls(\n getUrl: string | GetUrl,\n options: any,\n urlOptions: UrlOptions = {}\n): Promise<any> {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(\n getUrl: string | GetUrl,\n mipLevels: number | 'auto',\n options: any,\n urlOptions: UrlOptions\n): Promise<string[]> {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, ImageLoader.parse, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels(size: {width: number; height: number}): number {\n return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));\n}\n"],"file":"load-image.js"}
1
+ {"version":3,"sources":["../../../../src/lib/texture-api/load-image.ts"],"names":["loadImageTexture","getUrl","options","getImageUrls","imageUrls","ImageLoader","parse","urlOptions","mipLevels","image","getMipmappedImageUrls","urls","url","lod","width","height","getMipLevels","push","mipLevel","length","size","Math","floor","log2","max"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;SAEsBA,gB;;;;;gFAAf,iBAAgCC,MAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyDC,YAAAA,OAAzD,2DAAmE,EAAnE;AAAA;AAAA,mBACmBC,YAAY,CAACF,MAAD,EAASC,OAAT,CAD/B;;AAAA;AACCE,YAAAA,SADD;AAAA;AAAA,mBAEQ,wBAASA,SAAT,EAAoBC,oBAAYC,KAAhC,EAAuCJ,OAAvC,CAFR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAKeC,Y;;;;;4EAAf,kBACLF,MADK,EAELC,OAFK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGLK,YAAAA,UAHK,8DAGoB,EAHpB;AAKCC,YAAAA,SALD,GAKcN,OAAO,IAAIA,OAAO,CAACO,KAAnB,IAA4BP,OAAO,CAACO,KAAR,CAAcD,SAA3C,IAAyD,CALtE;;AAAA,kBAMEA,SAAS,KAAK,CANhB;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAOKE,qBAAqB,CAACT,MAAD,EAASO,SAAT,EAAoBN,OAApB,EAA6BK,UAA7B,CAP1B;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,2BAQD,8BAAYN,MAAZ,EAAoBC,OAApB,EAA6BK,UAA7B,CARC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAWQG,qB;;;;;qFAAf,kBACET,MADF,EAEEO,SAFF,EAGEN,OAHF,EAIEK,UAJF;AAAA;;AAAA;AAAA;AAAA;AAAA;AAMQI,YAAAA,IANR,GAMyB,EANzB;;AAAA,kBASMH,SAAS,KAAK,MATpB;AAAA;AAAA;AAAA;;AAUUI,YAAAA,GAVV,GAUgB,8BAAYX,MAAZ,EAAoBC,OAApB,kCAAiCK,UAAjC;AAA6CM,cAAAA,GAAG,EAAE;AAAlD,eAVhB;AAAA;AAAA,mBAWwB,2BAAYD,GAAZ,EAAiBP,oBAAYC,KAA7B,EAAoCJ,OAApC,CAXxB;;AAAA;AAWUO,YAAAA,KAXV;AAAA,4BAa4B,0BAAaA,KAAb,CAb5B,EAaWK,KAbX,iBAaWA,KAbX,EAakBC,MAblB,iBAakBA,MAblB;AAcIP,YAAAA,SAAS,GAAGQ,YAAY,CAAC;AAACF,cAAAA,KAAK,EAALA,KAAD;AAAQC,cAAAA,MAAM,EAANA;AAAR,aAAD,CAAxB;AAGAJ,YAAAA,IAAI,CAACM,IAAL,CAAUL,GAAV;;AAjBJ;AAqBE,qCAAOJ,SAAS,GAAG,CAAnB;;AAEA,iBAASU,QAAT,GAAoBP,IAAI,CAACQ,MAAzB,EAAiCD,QAAQ,GAAGV,SAA5C,EAAuD,EAAEU,QAAzD,EAAmE;AAC3DN,cAAAA,IAD2D,GACrD,8BAAYX,MAAZ,EAAoBC,OAApB,kCAAiCK,UAAjC;AAA6CM,gBAAAA,GAAG,EAAEK;AAAlD,iBADqD;AAEjEP,cAAAA,IAAI,CAACM,IAAL,CAAUL,IAAV;AACD;;AA1BH,8CA4BSD,IA5BT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAgCO,SAASK,YAAT,CAAsBI,IAAtB,EAAqE;AAC1E,SAAO,IAAIC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,IAAL,CAAUF,IAAI,CAACG,GAAL,CAASJ,IAAI,CAACN,KAAd,EAAqBM,IAAI,CAACL,MAA1B,CAAV,CAAX,CAAX;AACD","sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport {ImageLoader, getImageSize} from '@loaders.gl/images';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImageTexture(getUrl: string | GetUrl, options = {}): Promise<any> {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, ImageLoader.parse, options);\n}\n\nexport async function getImageUrls(\n getUrl: string | GetUrl,\n options: any,\n urlOptions: UrlOptions = {}\n): Promise<any> {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(\n getUrl: string | GetUrl,\n mipLevels: number | 'auto',\n options: any,\n urlOptions: UrlOptions\n): Promise<string[]> {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, ImageLoader.parse, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels(size: {width: number; height: number}): number {\n return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));\n}\n"],"file":"load-image.js"}
@@ -6,21 +6,21 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.extractMipmapImages = extractMipmapImages;
7
7
 
8
8
  function extractMipmapImages(data, options) {
9
- const images = new Array(options.mipMapLevels);
10
- let levelWidth = options.width;
11
- let levelHeight = options.height;
12
- let offset = 0;
13
-
14
- for (let i = 0; i < options.mipMapLevels; ++i) {
15
- const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
16
- const levelData = getLevelData(data, i, offset, levelSize);
9
+ var images = new Array(options.mipMapLevels);
10
+ var levelWidth = options.width;
11
+ var levelHeight = options.height;
12
+ var offset = 0;
13
+
14
+ for (var i = 0; i < options.mipMapLevels; ++i) {
15
+ var levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
16
+ var levelData = getLevelData(data, i, offset, levelSize);
17
17
  images[i] = {
18
18
  compressed: true,
19
19
  format: options.internalFormat,
20
20
  data: levelData,
21
21
  width: levelWidth,
22
22
  height: levelHeight,
23
- levelSize
23
+ levelSize: levelSize
24
24
  };
25
25
  levelWidth = Math.max(1, levelWidth >> 1);
26
26
  levelHeight = Math.max(1, levelHeight >> 1);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/extract-mipmap-images.ts"],"names":["extractMipmapImages","data","options","images","Array","mipMapLevels","levelWidth","width","levelHeight","height","offset","i","levelSize","getLevelSize","levelData","getLevelData","compressed","format","internalFormat","Math","max","index","isArray","Uint8Array","buffer","byteOffset","sizeFunction"],"mappings":";;;;;;;AAYO,SAASA,mBAAT,CACLC,IADK,EAELC,OAFK,EAGW;AAChB,QAAMC,MAAM,GAAG,IAAIC,KAAJ,CAAUF,OAAO,CAACG,YAAlB,CAAf;AAEA,MAAIC,UAAU,GAAGJ,OAAO,CAACK,KAAzB;AACA,MAAIC,WAAW,GAAGN,OAAO,CAACO,MAA1B;AACA,MAAIC,MAAM,GAAG,CAAb;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,OAAO,CAACG,YAA5B,EAA0C,EAAEM,CAA5C,EAA+C;AAE7C,UAAMC,SAAS,GAAGC,YAAY,CAACX,OAAD,EAAUI,UAAV,EAAsBE,WAAtB,EAAmCP,IAAnC,EAAyCU,CAAzC,CAA9B;AAEA,UAAMG,SAAS,GAAGC,YAAY,CAACd,IAAD,EAAOU,CAAP,EAAUD,MAAV,EAAkBE,SAAlB,CAA9B;AAEAT,IAAAA,MAAM,CAACQ,CAAD,CAAN,GAAY;AACVK,MAAAA,UAAU,EAAE,IADF;AAEVC,MAAAA,MAAM,EAAEf,OAAO,CAACgB,cAFN;AAGVjB,MAAAA,IAAI,EAAEa,SAHI;AAIVP,MAAAA,KAAK,EAAED,UAJG;AAKVG,MAAAA,MAAM,EAAED,WALE;AAMVI,MAAAA;AANU,KAAZ;AASAN,IAAAA,UAAU,GAAGa,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYd,UAAU,IAAI,CAA1B,CAAb;AACAE,IAAAA,WAAW,GAAGW,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYZ,WAAW,IAAI,CAA3B,CAAd;AAEAE,IAAAA,MAAM,IAAIE,SAAV;AACD;;AACD,SAAOT,MAAP;AACD;;AAED,SAASY,YAAT,CACEd,IADF,EAEEoB,KAFF,EAGEX,MAHF,EAIEE,SAJF,EAKc;AACZ,MAAI,CAACR,KAAK,CAACkB,OAAN,CAAcrB,IAAd,CAAL,EAA0B;AACxB,WAAO,IAAIsB,UAAJ,CAAetB,IAAI,CAACuB,MAApB,EAA4BvB,IAAI,CAACwB,UAAL,GAAkBf,MAA9C,EAAsDE,SAAtD,CAAP;AACD;;AAED,SAAOX,IAAI,CAACoB,KAAD,CAAJ,CAAYP,SAAnB;AACD;;AAED,SAASD,YAAT,CACEX,OADF,EAEEI,UAFF,EAGEE,WAHF,EAIEP,IAJF,EAKEoB,KALF,EAMU;AACR,MAAI,CAACjB,KAAK,CAACkB,OAAN,CAAcrB,IAAd,CAAL,EAA0B;AACxB,WAAOC,OAAO,CAACwB,YAAR,CAAqBpB,UAArB,EAAiCE,WAAjC,CAAP;AACD;;AACD,SAAON,OAAO,CAACwB,YAAR,CAAqBzB,IAAI,CAACoB,KAAD,CAAzB,CAAP;AACD","sourcesContent":["import {CompressedTextureExtractOptions, TextureLevel} from '../../types';\n\n/**\n * Extract mipmap images from compressed texture buffer\n * @param data - binary data of compressed texture or Array of level objects\n * @param options.mipMapLevels - number of mipmap level inside image\n * @param options.width - width of 0 - level\n * @param options.height - height of 0 - level\n * @param options.sizeFunction - format-related function to calculate level size in bytes\n * @param options.internalFormat - WebGL compatible format code\n * @returns Array of the texture levels\n */\nexport function extractMipmapImages(\n data: Uint8Array | object[],\n options: CompressedTextureExtractOptions\n): TextureLevel[] {\n const images = new Array(options.mipMapLevels);\n\n let levelWidth = options.width;\n let levelHeight = options.height;\n let offset = 0;\n\n for (let i = 0; i < options.mipMapLevels; ++i) {\n // @ts-expect-error\n const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);\n // @ts-expect-error\n const levelData = getLevelData(data, i, offset, levelSize);\n\n images[i] = {\n compressed: true,\n format: options.internalFormat,\n data: levelData,\n width: levelWidth,\n height: levelHeight,\n levelSize\n };\n\n levelWidth = Math.max(1, levelWidth >> 1);\n levelHeight = Math.max(1, levelHeight >> 1);\n\n offset += levelSize;\n }\n return images;\n}\n\nfunction getLevelData(\n data: Uint8Array,\n index: number,\n offset: number,\n levelSize: number\n): Uint8Array {\n if (!Array.isArray(data)) {\n return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);\n }\n\n return data[index].levelData;\n}\n\nfunction getLevelSize(\n options: CompressedTextureExtractOptions,\n levelWidth: number,\n levelHeight: number,\n data: Uint8Array[] | object[],\n index: number\n): number {\n if (!Array.isArray(data)) {\n return options.sizeFunction(levelWidth, levelHeight);\n }\n return options.sizeFunction(data[index]);\n}\n"],"file":"extract-mipmap-images.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/extract-mipmap-images.ts"],"names":["extractMipmapImages","data","options","images","Array","mipMapLevels","levelWidth","width","levelHeight","height","offset","i","levelSize","getLevelSize","levelData","getLevelData","compressed","format","internalFormat","Math","max","index","isArray","Uint8Array","buffer","byteOffset","sizeFunction"],"mappings":";;;;;;;AAYO,SAASA,mBAAT,CACLC,IADK,EAELC,OAFK,EAGW;AAChB,MAAMC,MAAM,GAAG,IAAIC,KAAJ,CAAUF,OAAO,CAACG,YAAlB,CAAf;AAEA,MAAIC,UAAU,GAAGJ,OAAO,CAACK,KAAzB;AACA,MAAIC,WAAW,GAAGN,OAAO,CAACO,MAA1B;AACA,MAAIC,MAAM,GAAG,CAAb;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,OAAO,CAACG,YAA5B,EAA0C,EAAEM,CAA5C,EAA+C;AAE7C,QAAMC,SAAS,GAAGC,YAAY,CAACX,OAAD,EAAUI,UAAV,EAAsBE,WAAtB,EAAmCP,IAAnC,EAAyCU,CAAzC,CAA9B;AAEA,QAAMG,SAAS,GAAGC,YAAY,CAACd,IAAD,EAAOU,CAAP,EAAUD,MAAV,EAAkBE,SAAlB,CAA9B;AAEAT,IAAAA,MAAM,CAACQ,CAAD,CAAN,GAAY;AACVK,MAAAA,UAAU,EAAE,IADF;AAEVC,MAAAA,MAAM,EAAEf,OAAO,CAACgB,cAFN;AAGVjB,MAAAA,IAAI,EAAEa,SAHI;AAIVP,MAAAA,KAAK,EAAED,UAJG;AAKVG,MAAAA,MAAM,EAAED,WALE;AAMVI,MAAAA,SAAS,EAATA;AANU,KAAZ;AASAN,IAAAA,UAAU,GAAGa,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYd,UAAU,IAAI,CAA1B,CAAb;AACAE,IAAAA,WAAW,GAAGW,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYZ,WAAW,IAAI,CAA3B,CAAd;AAEAE,IAAAA,MAAM,IAAIE,SAAV;AACD;;AACD,SAAOT,MAAP;AACD;;AAED,SAASY,YAAT,CACEd,IADF,EAEEoB,KAFF,EAGEX,MAHF,EAIEE,SAJF,EAKc;AACZ,MAAI,CAACR,KAAK,CAACkB,OAAN,CAAcrB,IAAd,CAAL,EAA0B;AACxB,WAAO,IAAIsB,UAAJ,CAAetB,IAAI,CAACuB,MAApB,EAA4BvB,IAAI,CAACwB,UAAL,GAAkBf,MAA9C,EAAsDE,SAAtD,CAAP;AACD;;AAED,SAAOX,IAAI,CAACoB,KAAD,CAAJ,CAAYP,SAAnB;AACD;;AAED,SAASD,YAAT,CACEX,OADF,EAEEI,UAFF,EAGEE,WAHF,EAIEP,IAJF,EAKEoB,KALF,EAMU;AACR,MAAI,CAACjB,KAAK,CAACkB,OAAN,CAAcrB,IAAd,CAAL,EAA0B;AACxB,WAAOC,OAAO,CAACwB,YAAR,CAAqBpB,UAArB,EAAiCE,WAAjC,CAAP;AACD;;AACD,SAAON,OAAO,CAACwB,YAAR,CAAqBzB,IAAI,CAACoB,KAAD,CAAzB,CAAP;AACD","sourcesContent":["import {CompressedTextureExtractOptions, TextureLevel} from '../../types';\n\n/**\n * Extract mipmap images from compressed texture buffer\n * @param data - binary data of compressed texture or Array of level objects\n * @param options.mipMapLevels - number of mipmap level inside image\n * @param options.width - width of 0 - level\n * @param options.height - height of 0 - level\n * @param options.sizeFunction - format-related function to calculate level size in bytes\n * @param options.internalFormat - WebGL compatible format code\n * @returns Array of the texture levels\n */\nexport function extractMipmapImages(\n data: Uint8Array | object[],\n options: CompressedTextureExtractOptions\n): TextureLevel[] {\n const images = new Array(options.mipMapLevels);\n\n let levelWidth = options.width;\n let levelHeight = options.height;\n let offset = 0;\n\n for (let i = 0; i < options.mipMapLevels; ++i) {\n // @ts-expect-error\n const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);\n // @ts-expect-error\n const levelData = getLevelData(data, i, offset, levelSize);\n\n images[i] = {\n compressed: true,\n format: options.internalFormat,\n data: levelData,\n width: levelWidth,\n height: levelHeight,\n levelSize\n };\n\n levelWidth = Math.max(1, levelWidth >> 1);\n levelHeight = Math.max(1, levelHeight >> 1);\n\n offset += levelSize;\n }\n return images;\n}\n\nfunction getLevelData(\n data: Uint8Array,\n index: number,\n offset: number,\n levelSize: number\n): Uint8Array {\n if (!Array.isArray(data)) {\n return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);\n }\n\n return data[index].levelData;\n}\n\nfunction getLevelSize(\n options: CompressedTextureExtractOptions,\n levelWidth: number,\n levelHeight: number,\n data: Uint8Array[] | object[],\n index: number\n): number {\n if (!Array.isArray(data)) {\n return options.sizeFunction(levelWidth, levelHeight);\n }\n return options.sizeFunction(data[index]);\n}\n"],"file":"extract-mipmap-images.js"}
@@ -5,75 +5,75 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.mapVkFormatToWebGL = mapVkFormatToWebGL;
7
7
 
8
- var _glConstants = require("../gl-constants");
8
+ var _glExtensions = require("../gl-extensions");
9
9
 
10
- const VULKAN_TO_WEBGL_FORMAT_MAP = {
11
- 131: _glConstants.GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
12
- 132: _glConstants.GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,
13
- 133: _glConstants.GL.COMPRESSED_RGBA_S3TC_DXT1_EXT,
14
- 134: _glConstants.GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
15
- 135: _glConstants.GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,
16
- 136: _glConstants.GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
17
- 137: _glConstants.GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,
18
- 138: _glConstants.GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
19
- 139: _glConstants.GL.COMPRESSED_RED_RGTC1_EXT,
20
- 140: _glConstants.GL.COMPRESSED_SIGNED_RED_RGTC1_EXT,
21
- 141: _glConstants.GL.COMPRESSED_RED_GREEN_RGTC2_EXT,
22
- 142: _glConstants.GL.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
23
- 147: _glConstants.GL.COMPRESSED_RGB8_ETC2,
24
- 148: _glConstants.GL.COMPRESSED_SRGB8_ETC2,
25
- 149: _glConstants.GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
26
- 150: _glConstants.GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
27
- 151: _glConstants.GL.COMPRESSED_RGBA8_ETC2_EAC,
28
- 152: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
29
- 153: _glConstants.GL.COMPRESSED_R11_EAC,
30
- 154: _glConstants.GL.COMPRESSED_SIGNED_R11_EAC,
31
- 155: _glConstants.GL.COMPRESSED_RG11_EAC,
32
- 156: _glConstants.GL.COMPRESSED_SIGNED_RG11_EAC,
33
- 157: _glConstants.GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
34
- 158: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
35
- 159: _glConstants.GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
36
- 160: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
37
- 161: _glConstants.GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
38
- 162: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
39
- 163: _glConstants.GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
40
- 164: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
41
- 165: _glConstants.GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
42
- 166: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
43
- 167: _glConstants.GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
44
- 168: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
45
- 169: _glConstants.GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
46
- 170: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
47
- 171: _glConstants.GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
48
- 172: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
49
- 173: _glConstants.GL.COMPRESSED_RGBA_ASTC_10x5_KHR,
50
- 174: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
51
- 175: _glConstants.GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
52
- 176: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
53
- 177: _glConstants.GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
54
- 178: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
55
- 179: _glConstants.GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
56
- 180: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
57
- 181: _glConstants.GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
58
- 182: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
59
- 183: _glConstants.GL.COMPRESSED_RGBA_ASTC_12x12_KHR,
60
- 184: _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
61
- 1000054000: _glConstants.GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
62
- 1000054001: _glConstants.GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
63
- 1000066000: _glConstants.GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
64
- 1000066001: _glConstants.GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
65
- 1000066002: _glConstants.GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
66
- 1000066003: _glConstants.GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
67
- 1000066004: _glConstants.GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
68
- 1000066005: _glConstants.GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
69
- 1000066006: _glConstants.GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
70
- 1000066007: _glConstants.GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
71
- 1000066008: _glConstants.GL.COMPRESSED_RGBA_ASTC_10x5_KHR,
72
- 1000066009: _glConstants.GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
73
- 1000066010: _glConstants.GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
74
- 1000066011: _glConstants.GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
75
- 1000066012: _glConstants.GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
76
- 1000066013: _glConstants.GL.COMPRESSED_RGBA_ASTC_12x12_KHR
10
+ var VULKAN_TO_WEBGL_FORMAT_MAP = {
11
+ 131: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
12
+ 132: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
13
+ 133: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
14
+ 134: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
15
+ 135: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
16
+ 136: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
17
+ 137: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
18
+ 138: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
19
+ 139: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
20
+ 140: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
21
+ 141: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
22
+ 142: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
23
+ 147: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
24
+ 148: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
25
+ 149: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
26
+ 150: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
27
+ 151: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
28
+ 152: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
29
+ 153: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
30
+ 154: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
31
+ 155: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
32
+ 156: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
33
+ 157: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
34
+ 158: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
35
+ 159: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
36
+ 160: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
37
+ 161: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
38
+ 162: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
39
+ 163: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
40
+ 164: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
41
+ 165: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
42
+ 166: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
43
+ 167: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
44
+ 168: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
45
+ 169: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
46
+ 170: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
47
+ 171: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
48
+ 172: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
49
+ 173: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
50
+ 174: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
51
+ 175: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
52
+ 176: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
53
+ 177: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
54
+ 178: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
55
+ 179: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
56
+ 180: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
57
+ 181: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
58
+ 182: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
59
+ 183: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
60
+ 184: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
61
+ 1000054000: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
62
+ 1000054001: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
63
+ 1000066000: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
64
+ 1000066001: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
65
+ 1000066002: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
66
+ 1000066003: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
67
+ 1000066004: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
68
+ 1000066005: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
69
+ 1000066006: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
70
+ 1000066007: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
71
+ 1000066008: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
72
+ 1000066009: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
73
+ 1000066010: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
74
+ 1000066011: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
75
+ 1000066012: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
76
+ 1000066013: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
77
77
  };
78
78
 
79
79
  function mapVkFormatToWebGL(vkFormat) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/ktx-format-helper.ts"],"names":["VULKAN_TO_WEBGL_FORMAT_MAP","GL","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_SRGB8_ETC2","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGBA_ASTC_4x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR","COMPRESSED_RGBA_ASTC_5x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR","COMPRESSED_RGBA_ASTC_6x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR","COMPRESSED_RGBA_ASTC_6x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR","COMPRESSED_RGBA_ASTC_8x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR","COMPRESSED_RGBA_ASTC_8x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR","COMPRESSED_RGBA_ASTC_8x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR","COMPRESSED_RGBA_ASTC_10x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR","COMPRESSED_RGBA_ASTC_10x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR","COMPRESSED_RGBA_ASTC_10x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR","COMPRESSED_RGBA_ASTC_10x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR","COMPRESSED_RGBA_ASTC_12x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR","COMPRESSED_RGBA_ASTC_12x12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","mapVkFormatToWebGL","vkFormat"],"mappings":"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","sourcesContent":["import {GL} from '../gl-constants';\n\nconst VULKAN_TO_WEBGL_FORMAT_MAP: Record<number, number> = {\n 131: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,\n 132: GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,\n 133: GL.COMPRESSED_RGBA_S3TC_DXT1_EXT,\n 134: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,\n 135: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n 136: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,\n 137: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n 138: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,\n 139: GL.COMPRESSED_RED_RGTC1_EXT,\n 140: GL.COMPRESSED_SIGNED_RED_RGTC1_EXT,\n 141: GL.COMPRESSED_RED_GREEN_RGTC2_EXT,\n 142: GL.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,\n 147: GL.COMPRESSED_RGB8_ETC2,\n 148: GL.COMPRESSED_SRGB8_ETC2,\n 149: GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 150: GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 151: GL.COMPRESSED_RGBA8_ETC2_EAC,\n 152: GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,\n 153: GL.COMPRESSED_R11_EAC,\n 154: GL.COMPRESSED_SIGNED_R11_EAC,\n 155: GL.COMPRESSED_RG11_EAC,\n 156: GL.COMPRESSED_SIGNED_RG11_EAC,\n // @ts-ignore\n 157: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 158: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,\n // @ts-ignore\n 159: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 160: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,\n // @ts-ignore\n 161: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 162: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,\n // @ts-ignore\n 163: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 164: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,\n // @ts-ignore\n 165: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 166: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,\n // @ts-ignore\n 167: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 168: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,\n // @ts-ignore\n 169: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 170: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,\n // @ts-ignore\n 171: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 172: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,\n // @ts-ignore\n 173: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 174: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,\n // @ts-ignore\n 175: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 176: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,\n // @ts-ignore\n 177: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 178: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,\n // @ts-ignore\n 179: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 180: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,\n // @ts-ignore\n 181: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 182: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,\n // @ts-ignore\n 183: GL.COMPRESSED_RGBA_ASTC_12x12_KHR,\n // @ts-ignore\n 184: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,\n 1000054000: GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,\n 1000054001: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,\n // @ts-ignore\n 1000066000: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 1000066001: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 1000066002: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 1000066003: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 1000066004: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 1000066005: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 1000066006: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 1000066007: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 1000066008: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 1000066009: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 1000066010: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 1000066011: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 1000066012: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 1000066013: GL.COMPRESSED_RGBA_ASTC_12x12_KHR\n};\n\n/**\n * Returns WebGl format based on Vulkan format\n * Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping\n * Vulkan name to format number mapping provided here: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html\n * @param vkFormat\n * @returns WebGL / OpenGL constant\n */\nexport function mapVkFormatToWebGL(vkFormat: number): number {\n return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];\n}\n"],"file":"ktx-format-helper.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/ktx-format-helper.ts"],"names":["VULKAN_TO_WEBGL_FORMAT_MAP","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_SRGB8_ETC2","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGBA_ASTC_4x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR","COMPRESSED_RGBA_ASTC_5x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR","COMPRESSED_RGBA_ASTC_6x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR","COMPRESSED_RGBA_ASTC_6x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR","COMPRESSED_RGBA_ASTC_8x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR","COMPRESSED_RGBA_ASTC_8x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR","COMPRESSED_RGBA_ASTC_8x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR","COMPRESSED_RGBA_ASTC_10x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR","COMPRESSED_RGBA_ASTC_10x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR","COMPRESSED_RGBA_ASTC_10x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR","COMPRESSED_RGBA_ASTC_10x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR","COMPRESSED_RGBA_ASTC_12x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR","COMPRESSED_RGBA_ASTC_12x12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","mapVkFormatToWebGL","vkFormat"],"mappings":"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","sourcesContent":["import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\n\nconst VULKAN_TO_WEBGL_FORMAT_MAP: Record<number, number> = {\n 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,\n 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,\n 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,\n 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,\n 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,\n 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,\n 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,\n 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,\n 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,\n 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,\n 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,\n 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,\n 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,\n 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,\n 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,\n 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,\n 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,\n 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,\n // @ts-ignore\n 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,\n // @ts-ignore\n 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,\n // @ts-ignore\n 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,\n // @ts-ignore\n 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,\n // @ts-ignore\n 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,\n // @ts-ignore\n 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,\n // @ts-ignore\n 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,\n // @ts-ignore\n 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,\n // @ts-ignore\n 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,\n // @ts-ignore\n 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,\n // @ts-ignore\n 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,\n // @ts-ignore\n 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,\n // @ts-ignore\n 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,\n // @ts-ignore\n 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,\n // @ts-ignore\n 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,\n 1000054000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,\n 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,\n // @ts-ignore\n 1000066000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR\n};\n\n/**\n * Returns WebGl format based on Vulkan format\n * Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping\n * Vulkan name to format number mapping provided here: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html\n * @param vkFormat\n * @returns WebGL / OpenGL constant\n */\nexport function mapVkFormatToWebGL(vkFormat: number): number {\n return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];\n}\n"],"file":"ktx-format-helper.js"}
@@ -4,8 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getSupportedGPUTextureFormats = getSupportedGPUTextureFormats;
7
- const BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];
8
- const WEBGL_EXTENSIONS = {
7
+
8
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
9
+
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
13
+
14
+ var BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];
15
+ var WEBGL_EXTENSIONS = {
9
16
  WEBGL_compressed_texture_s3tc: 'dxt',
10
17
  WEBGL_compressed_texture_s3tc_srgb: 'dxt-srgb',
11
18
  WEBGL_compressed_texture_etc1: 'etc1',
@@ -15,20 +22,31 @@ const WEBGL_EXTENSIONS = {
15
22
  WEBGL_compressed_texture_astc: 'astc',
16
23
  EXT_texture_compression_rgtc: 'rgtc'
17
24
  };
18
- let formats = null;
25
+ var formats = null;
19
26
 
20
27
  function getSupportedGPUTextureFormats(gl) {
21
28
  if (!formats) {
22
29
  gl = gl || getWebGLContext() || undefined;
23
30
  formats = new Set();
24
31
 
25
- for (const prefix of BROWSER_PREFIXES) {
26
- for (const extension in WEBGL_EXTENSIONS) {
27
- if (gl && gl.getExtension("".concat(prefix).concat(extension))) {
28
- const gpuTextureFormat = WEBGL_EXTENSIONS[extension];
29
- formats.add(gpuTextureFormat);
32
+ var _iterator = _createForOfIteratorHelper(BROWSER_PREFIXES),
33
+ _step;
34
+
35
+ try {
36
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
37
+ var prefix = _step.value;
38
+
39
+ for (var extension in WEBGL_EXTENSIONS) {
40
+ if (gl && gl.getExtension("".concat(prefix).concat(extension))) {
41
+ var gpuTextureFormat = WEBGL_EXTENSIONS[extension];
42
+ formats.add(gpuTextureFormat);
43
+ }
30
44
  }
31
45
  }
46
+ } catch (err) {
47
+ _iterator.e(err);
48
+ } finally {
49
+ _iterator.f();
32
50
  }
33
51
  }
34
52
 
@@ -37,7 +55,7 @@ function getSupportedGPUTextureFormats(gl) {
37
55
 
38
56
  function getWebGLContext() {
39
57
  try {
40
- const canvas = document.createElement('canvas');
58
+ var canvas = document.createElement('canvas');
41
59
  return canvas.getContext('webgl');
42
60
  } catch (error) {
43
61
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/texture-formats.ts"],"names":["BROWSER_PREFIXES","WEBGL_EXTENSIONS","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_astc","EXT_texture_compression_rgtc","formats","getSupportedGPUTextureFormats","gl","getWebGLContext","undefined","Set","prefix","extension","getExtension","gpuTextureFormat","add","canvas","document","createElement","getContext","error"],"mappings":";;;;;;AAEA,MAAMA,gBAAgB,GAAG,CAAC,EAAD,EAAK,SAAL,EAAgB,MAAhB,CAAzB;AAEA,MAAMC,gBAAmD,GAAG;AAE1DC,EAAAA,6BAA6B,EAAE,KAF2B;AAG1DC,EAAAA,kCAAkC,EAAE,UAHsB;AAI1DC,EAAAA,6BAA6B,EAAE,MAJ2B;AAK1DC,EAAAA,4BAA4B,EAAE,MAL4B;AAM1DC,EAAAA,8BAA8B,EAAE,OAN0B;AAO1DC,EAAAA,4BAA4B,EAAE,KAP4B;AAQ1DC,EAAAA,6BAA6B,EAAE,MAR2B;AAS1DC,EAAAA,4BAA4B,EAAE;AAT4B,CAA5D;AAaA,IAAIC,OAAqC,GAAG,IAA5C;;AAQO,SAASC,6BAAT,CAAuCC,EAAvC,EAAgF;AACrF,MAAI,CAACF,OAAL,EAAc;AACZE,IAAAA,EAAE,GAAGA,EAAE,IAAIC,eAAe,EAArB,IAA2BC,SAAhC;AAEAJ,IAAAA,OAAO,GAAG,IAAIK,GAAJ,EAAV;;AAEA,SAAK,MAAMC,MAAX,IAAqBhB,gBAArB,EAAuC;AACrC,WAAK,MAAMiB,SAAX,IAAwBhB,gBAAxB,EAA0C;AACxC,YAAIW,EAAE,IAAIA,EAAE,CAACM,YAAH,WAAmBF,MAAnB,SAA4BC,SAA5B,EAAV,EAAoD;AAClD,gBAAME,gBAAgB,GAAGlB,gBAAgB,CAACgB,SAAD,CAAzC;AACAP,UAAAA,OAAO,CAACU,GAAR,CAAYD,gBAAZ;AACD;AACF;AACF;AACF;;AAED,SAAOT,OAAP;AACD;;AAKD,SAASG,eAAT,GAA2B;AACzB,MAAI;AACF,UAAMQ,MAAM,GAAGC,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAf;AACA,WAAOF,MAAM,CAACG,UAAP,CAAkB,OAAlB,CAAP;AACD,GAHD,CAGE,OAAOC,KAAP,EAAc;AACd,WAAO,IAAP;AACD;AACF","sourcesContent":["import type {GPUTextureFormat} from '../../types';\n\nconst BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];\n\nconst WEBGL_EXTENSIONS: {[key: string]: GPUTextureFormat} = {\n /* eslint-disable camelcase */\n WEBGL_compressed_texture_s3tc: 'dxt',\n WEBGL_compressed_texture_s3tc_srgb: 'dxt-srgb',\n WEBGL_compressed_texture_etc1: 'etc1',\n WEBGL_compressed_texture_etc: 'etc2',\n WEBGL_compressed_texture_pvrtc: 'pvrtc',\n WEBGL_compressed_texture_atc: 'atc',\n WEBGL_compressed_texture_astc: 'astc',\n EXT_texture_compression_rgtc: 'rgtc'\n /* eslint-enable camelcase */\n};\n\nlet formats: Set<GPUTextureFormat> | null = null;\n\n/**\n * Returns a list of formats.\n * Creates a temporary WebGLRenderingContext if none is provided.\n *\n * @param gl - Optional context.\n */\nexport function getSupportedGPUTextureFormats(gl?: WebGLRenderingContext): Set<string> {\n if (!formats) {\n gl = gl || getWebGLContext() || undefined;\n\n formats = new Set<GPUTextureFormat>();\n\n for (const prefix of BROWSER_PREFIXES) {\n for (const extension in WEBGL_EXTENSIONS) {\n if (gl && gl.getExtension(`${prefix}${extension}`)) {\n const gpuTextureFormat = WEBGL_EXTENSIONS[extension];\n formats.add(gpuTextureFormat);\n }\n }\n }\n }\n\n return formats;\n}\n\n/**\n * @returns {WebGLRenderingContext?}\n */\nfunction getWebGLContext() {\n try {\n const canvas = document.createElement('canvas');\n return canvas.getContext('webgl');\n } catch (error) {\n return null;\n }\n}\n"],"file":"texture-formats.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/texture-formats.ts"],"names":["BROWSER_PREFIXES","WEBGL_EXTENSIONS","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_astc","EXT_texture_compression_rgtc","formats","getSupportedGPUTextureFormats","gl","getWebGLContext","undefined","Set","prefix","extension","getExtension","gpuTextureFormat","add","canvas","document","createElement","getContext","error"],"mappings":";;;;;;;;;;;;;AAEA,IAAMA,gBAAgB,GAAG,CAAC,EAAD,EAAK,SAAL,EAAgB,MAAhB,CAAzB;AAEA,IAAMC,gBAAmD,GAAG;AAE1DC,EAAAA,6BAA6B,EAAE,KAF2B;AAG1DC,EAAAA,kCAAkC,EAAE,UAHsB;AAI1DC,EAAAA,6BAA6B,EAAE,MAJ2B;AAK1DC,EAAAA,4BAA4B,EAAE,MAL4B;AAM1DC,EAAAA,8BAA8B,EAAE,OAN0B;AAO1DC,EAAAA,4BAA4B,EAAE,KAP4B;AAQ1DC,EAAAA,6BAA6B,EAAE,MAR2B;AAS1DC,EAAAA,4BAA4B,EAAE;AAT4B,CAA5D;AAaA,IAAIC,OAAqC,GAAG,IAA5C;;AAQO,SAASC,6BAAT,CAAuCC,EAAvC,EAAgF;AACrF,MAAI,CAACF,OAAL,EAAc;AACZE,IAAAA,EAAE,GAAGA,EAAE,IAAIC,eAAe,EAArB,IAA2BC,SAAhC;AAEAJ,IAAAA,OAAO,GAAG,IAAIK,GAAJ,EAAV;;AAHY,+CAKSf,gBALT;AAAA;;AAAA;AAKZ,0DAAuC;AAAA,YAA5BgB,MAA4B;;AACrC,aAAK,IAAMC,SAAX,IAAwBhB,gBAAxB,EAA0C;AACxC,cAAIW,EAAE,IAAIA,EAAE,CAACM,YAAH,WAAmBF,MAAnB,SAA4BC,SAA5B,EAAV,EAAoD;AAClD,gBAAME,gBAAgB,GAAGlB,gBAAgB,CAACgB,SAAD,CAAzC;AACAP,YAAAA,OAAO,CAACU,GAAR,CAAYD,gBAAZ;AACD;AACF;AACF;AAZW;AAAA;AAAA;AAAA;AAAA;AAab;;AAED,SAAOT,OAAP;AACD;;AAKD,SAASG,eAAT,GAA2B;AACzB,MAAI;AACF,QAAMQ,MAAM,GAAGC,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAf;AACA,WAAOF,MAAM,CAACG,UAAP,CAAkB,OAAlB,CAAP;AACD,GAHD,CAGE,OAAOC,KAAP,EAAc;AACd,WAAO,IAAP;AACD;AACF","sourcesContent":["import type {GPUTextureFormat} from '../../types';\n\nconst BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];\n\nconst WEBGL_EXTENSIONS: {[key: string]: GPUTextureFormat} = {\n /* eslint-disable camelcase */\n WEBGL_compressed_texture_s3tc: 'dxt',\n WEBGL_compressed_texture_s3tc_srgb: 'dxt-srgb',\n WEBGL_compressed_texture_etc1: 'etc1',\n WEBGL_compressed_texture_etc: 'etc2',\n WEBGL_compressed_texture_pvrtc: 'pvrtc',\n WEBGL_compressed_texture_atc: 'atc',\n WEBGL_compressed_texture_astc: 'astc',\n EXT_texture_compression_rgtc: 'rgtc'\n /* eslint-enable camelcase */\n};\n\nlet formats: Set<GPUTextureFormat> | null = null;\n\n/**\n * Returns a list of formats.\n * Creates a temporary WebGLRenderingContext if none is provided.\n *\n * @param gl - Optional context.\n */\nexport function getSupportedGPUTextureFormats(gl?: WebGLRenderingContext): Set<string> {\n if (!formats) {\n gl = gl || getWebGLContext() || undefined;\n\n formats = new Set<GPUTextureFormat>();\n\n for (const prefix of BROWSER_PREFIXES) {\n for (const extension in WEBGL_EXTENSIONS) {\n if (gl && gl.getExtension(`${prefix}${extension}`)) {\n const gpuTextureFormat = WEBGL_EXTENSIONS[extension];\n formats.add(gpuTextureFormat);\n }\n }\n }\n }\n\n return formats;\n}\n\n/**\n * @returns {WebGLRenderingContext?}\n */\nfunction getWebGLContext() {\n try {\n const canvas = document.createElement('canvas');\n return canvas.getContext('webgl');\n } catch (error) {\n return null;\n }\n}\n"],"file":"texture-formats.js"}
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VERSION = void 0;
7
- const VERSION = typeof "3.1.0-beta.2" !== 'undefined' ? "3.1.0-beta.2" : 'beta';
7
+ var VERSION = typeof "3.1.0" !== 'undefined' ? "3.1.0" : 'beta';
8
8
  exports.VERSION = VERSION;
9
9
  //# sourceMappingURL=version.js.map