@loaders.gl/textures 3.1.0-beta.1 → 3.1.0-beta.7

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 (60) hide show
  1. package/dist/basis-worker.js +32 -8
  2. package/dist/bundle.js +182 -116
  3. package/dist/compressed-texture-worker.js +173 -107
  4. package/dist/crunch-worker.js +11 -11
  5. package/dist/es5/index.js +3 -3
  6. package/dist/es5/index.js.map +1 -1
  7. package/dist/es5/lib/{gl-constants.js → gl-extensions.js} +4 -4
  8. package/dist/es5/lib/gl-extensions.js.map +1 -0
  9. package/dist/es5/lib/parsers/basis-module-loader.js +1 -1
  10. package/dist/es5/lib/parsers/parse-basis.js +7 -7
  11. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  12. package/dist/es5/lib/parsers/parse-crunch.js +4 -4
  13. package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
  14. package/dist/es5/lib/parsers/parse-dds.js +7 -7
  15. package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
  16. package/dist/es5/lib/parsers/parse-pvr.js +28 -28
  17. package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
  18. package/dist/es5/lib/utils/ktx-format-helper.js +67 -67
  19. package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -1
  20. package/dist/es5/lib/utils/version.js +1 -1
  21. package/dist/esm/index.js +1 -1
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/lib/{gl-constants.js → gl-extensions.js} +2 -2
  24. package/dist/esm/lib/gl-extensions.js.map +1 -0
  25. package/dist/esm/lib/parsers/basis-module-loader.js +1 -1
  26. package/dist/esm/lib/parsers/parse-basis.js +7 -7
  27. package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
  28. package/dist/esm/lib/parsers/parse-crunch.js +4 -4
  29. package/dist/esm/lib/parsers/parse-crunch.js.map +1 -1
  30. package/dist/esm/lib/parsers/parse-dds.js +7 -7
  31. package/dist/esm/lib/parsers/parse-dds.js.map +1 -1
  32. package/dist/esm/lib/parsers/parse-pvr.js +28 -28
  33. package/dist/esm/lib/parsers/parse-pvr.js.map +1 -1
  34. package/dist/esm/lib/utils/ktx-format-helper.js +67 -67
  35. package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -1
  36. package/dist/esm/lib/utils/version.js +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -3
  40. package/dist/lib/{gl-constants.d.ts → gl-extensions.d.ts} +2 -2
  41. package/dist/lib/gl-extensions.d.ts.map +1 -0
  42. package/dist/lib/{gl-constants.js → gl-extensions.js} +2 -2
  43. package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
  44. package/dist/lib/parsers/parse-basis.js +31 -7
  45. package/dist/lib/parsers/parse-crunch.js +4 -4
  46. package/dist/lib/parsers/parse-dds.js +7 -7
  47. package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
  48. package/dist/lib/parsers/parse-pvr.js +70 -28
  49. package/dist/lib/utils/ktx-format-helper.js +67 -67
  50. package/package.json +5 -5
  51. package/src/index.ts +1 -1
  52. package/src/lib/{gl-constants.ts → gl-extensions.ts} +1 -1
  53. package/src/lib/parsers/parse-basis.js +31 -7
  54. package/src/lib/parsers/parse-crunch.ts +4 -4
  55. package/src/lib/parsers/parse-dds.ts +7 -7
  56. package/src/lib/parsers/parse-pvr.ts +70 -28
  57. package/src/lib/utils/ktx-format-helper.ts +67 -67
  58. package/dist/es5/lib/gl-constants.js.map +0 -1
  59. package/dist/esm/lib/gl-constants.js.map +0 -1
  60. package/dist/lib/gl-constants.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/parsers/parse-crunch.ts"],"names":["CRN_FORMAT","cCRNFmtInvalid","cCRNFmtDXT1","cCRNFmtDXT3","cCRNFmtDXT5","DXT_FORMAT_MAP","pixelFormat","GL","COMPRESSED_RGB_S3TC_DXT1_EXT","sizeFunction","getDxt1LevelSize","COMPRESSED_RGBA_S3TC_DXT3_EXT","getDxtXLevelSize","COMPRESSED_RGBA_S3TC_DXT5_EXT","cachedDstSize","dst","parseCrunch","data","options","crunchModule","srcSize","byteLength","bytes","Uint8Array","src","_malloc","arrayBufferCopy","HEAPU8","format","_crn_get_dxt_format","Boolean","mipMapLevels","_crn_get_levels","width","_crn_get_width","height","_crn_get_height","dstSize","i","_free","_crn_decompress","image","buffer","slice","internalFormat","srcData","dstData","dstByteOffset","numBytes","dst32Offset","tail","src32","Uint32Array","dst32","length"],"mappings":"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","sourcesContent":["import type {TextureLevel} from '../../types';\nimport {loadCrunchModule} from './crunch-module-loader';\nimport {GL} from '../gl-constants';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {getDxt1LevelSize, getDxtXLevelSize} from './parse-dds';\nimport {extractMipmapImages} from '../utils/extract-mipmap-images';\n\n// Taken from crnlib.h\nconst CRN_FORMAT = {\n cCRNFmtInvalid: -1,\n\n cCRNFmtDXT1: 0,\n // cCRNFmtDXT3 is not currently supported when writing to CRN - only DDS.\n cCRNFmtDXT3: 1,\n cCRNFmtDXT5: 2\n\n // Crunch supports more formats than this.\n};\n\n// Mapping of Crunch formats to DXT formats.\nconst DXT_FORMAT_MAP = {};\nDXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT1] = {\n pixelFormat: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,\n sizeFunction: getDxt1LevelSize\n};\nDXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT3] = {\n pixelFormat: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n sizeFunction: getDxtXLevelSize\n};\nDXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT5] = {\n pixelFormat: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n sizeFunction: getDxtXLevelSize\n};\n\nlet cachedDstSize = 0;\nlet dst: number;\n\n/**\n * Parse texture data as \"CRN\" format.\n * Function is \"async\" as emscriptified decoder module is loaded asyncronously\n * @param data - binary data of compressed texture\n * @returns Promise of Array of the texture levels\n */\nexport async function parseCrunch(data, options: any): Promise<TextureLevel[]> {\n const crunchModule = await loadCrunchModule(options);\n\n // Copy the contents of the arrayBuffer into emscriptens heap.\n const srcSize = data.byteLength;\n const bytes = new Uint8Array(data);\n const src = crunchModule._malloc(srcSize);\n arrayBufferCopy(bytes, crunchModule.HEAPU8, src, srcSize);\n\n // Determine what type of compressed data the file contains.\n const format = crunchModule._crn_get_dxt_format(src, srcSize);\n assert(Boolean(DXT_FORMAT_MAP[format]), 'Unsupported format');\n\n // Gather basic metrics about the DXT data.\n const mipMapLevels = crunchModule._crn_get_levels(src, srcSize);\n const width = crunchModule._crn_get_width(src, srcSize);\n const height = crunchModule._crn_get_height(src, srcSize);\n // const bytesPerBlock = crunchModule._crn_get_bytes_per_block(src, srcSize);\n\n // Determine the size of the decoded DXT data.\n const sizeFunction = DXT_FORMAT_MAP[format].sizeFunction;\n let dstSize = 0;\n for (let i = 0; i < mipMapLevels; ++i) {\n dstSize += sizeFunction(width >> i, height >> i);\n }\n\n // Allocate enough space on the emscripten heap to hold the decoded DXT data\n // or reuse the existing allocation if a previous call to this function has\n // already acquired a large enough buffer.\n if (cachedDstSize < dstSize) {\n if (dst) {\n crunchModule._free(dst);\n }\n dst = crunchModule._malloc(dstSize);\n cachedDstSize = dstSize;\n }\n\n // Decompress the DXT data from the Crunch file into the allocated space.\n crunchModule._crn_decompress(src, srcSize, dst, dstSize, 0, mipMapLevels);\n\n // Release the crunch file data from the emscripten heap.\n crunchModule._free(src);\n\n const image = new Uint8Array(crunchModule.HEAPU8.buffer, dst, dstSize).slice();\n return extractMipmapImages(image, {\n mipMapLevels,\n width,\n height,\n sizeFunction,\n internalFormat: DXT_FORMAT_MAP[format].pixelFormat\n });\n}\n\n/**\n * Copy an array of bytes into or out of the emscripten heap\n * @param {Uint8Array} srcData - Source data array\n * @param {Uint8Array} dstData - Destination data array\n * @param {number} dstByteOffset - Destination data offset\n * @param {number} numBytes - number of bytes to copy\n * @returns {void}\n */\nfunction arrayBufferCopy(srcData, dstData, dstByteOffset, numBytes) {\n let i;\n const dst32Offset = dstByteOffset / 4;\n const tail = numBytes % 4;\n const src32 = new Uint32Array(srcData.buffer, 0, (numBytes - tail) / 4);\n const dst32 = new Uint32Array(dstData.buffer);\n for (i = 0; i < src32.length; i++) {\n dst32[dst32Offset + i] = src32[i];\n }\n for (i = numBytes - tail; i < numBytes; i++) {\n dstData[dstByteOffset + i] = srcData[i];\n }\n}\n"],"file":"parse-crunch.js"}
1
+ {"version":3,"sources":["../../../../src/lib/parsers/parse-crunch.ts"],"names":["CRN_FORMAT","cCRNFmtInvalid","cCRNFmtDXT1","cCRNFmtDXT3","cCRNFmtDXT5","DXT_FORMAT_MAP","pixelFormat","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_S3TC_DXT1_EXT","sizeFunction","getDxt1LevelSize","COMPRESSED_RGBA_S3TC_DXT3_EXT","getDxtXLevelSize","COMPRESSED_RGBA_S3TC_DXT5_EXT","cachedDstSize","dst","parseCrunch","data","options","crunchModule","srcSize","byteLength","bytes","Uint8Array","src","_malloc","arrayBufferCopy","HEAPU8","format","_crn_get_dxt_format","Boolean","mipMapLevels","_crn_get_levels","width","_crn_get_width","height","_crn_get_height","dstSize","i","_free","_crn_decompress","image","buffer","slice","internalFormat","srcData","dstData","dstByteOffset","numBytes","dst32Offset","tail","src32","Uint32Array","dst32","length"],"mappings":"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","sourcesContent":["import type {TextureLevel} from '../../types';\nimport {loadCrunchModule} from './crunch-module-loader';\nimport {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {getDxt1LevelSize, getDxtXLevelSize} from './parse-dds';\nimport {extractMipmapImages} from '../utils/extract-mipmap-images';\n\n// Taken from crnlib.h\nconst CRN_FORMAT = {\n cCRNFmtInvalid: -1,\n\n cCRNFmtDXT1: 0,\n // cCRNFmtDXT3 is not currently supported when writing to CRN - only DDS.\n cCRNFmtDXT3: 1,\n cCRNFmtDXT5: 2\n\n // Crunch supports more formats than this.\n};\n\n// Mapping of Crunch formats to DXT formats.\nconst DXT_FORMAT_MAP = {};\nDXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT1] = {\n pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,\n sizeFunction: getDxt1LevelSize\n};\nDXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT3] = {\n pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n sizeFunction: getDxtXLevelSize\n};\nDXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT5] = {\n pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n sizeFunction: getDxtXLevelSize\n};\n\nlet cachedDstSize = 0;\nlet dst: number;\n\n/**\n * Parse texture data as \"CRN\" format.\n * Function is \"async\" as emscriptified decoder module is loaded asyncronously\n * @param data - binary data of compressed texture\n * @returns Promise of Array of the texture levels\n */\nexport async function parseCrunch(data, options: any): Promise<TextureLevel[]> {\n const crunchModule = await loadCrunchModule(options);\n\n // Copy the contents of the arrayBuffer into emscriptens heap.\n const srcSize = data.byteLength;\n const bytes = new Uint8Array(data);\n const src = crunchModule._malloc(srcSize);\n arrayBufferCopy(bytes, crunchModule.HEAPU8, src, srcSize);\n\n // Determine what type of compressed data the file contains.\n const format = crunchModule._crn_get_dxt_format(src, srcSize);\n assert(Boolean(DXT_FORMAT_MAP[format]), 'Unsupported format');\n\n // Gather basic metrics about the DXT data.\n const mipMapLevels = crunchModule._crn_get_levels(src, srcSize);\n const width = crunchModule._crn_get_width(src, srcSize);\n const height = crunchModule._crn_get_height(src, srcSize);\n // const bytesPerBlock = crunchModule._crn_get_bytes_per_block(src, srcSize);\n\n // Determine the size of the decoded DXT data.\n const sizeFunction = DXT_FORMAT_MAP[format].sizeFunction;\n let dstSize = 0;\n for (let i = 0; i < mipMapLevels; ++i) {\n dstSize += sizeFunction(width >> i, height >> i);\n }\n\n // Allocate enough space on the emscripten heap to hold the decoded DXT data\n // or reuse the existing allocation if a previous call to this function has\n // already acquired a large enough buffer.\n if (cachedDstSize < dstSize) {\n if (dst) {\n crunchModule._free(dst);\n }\n dst = crunchModule._malloc(dstSize);\n cachedDstSize = dstSize;\n }\n\n // Decompress the DXT data from the Crunch file into the allocated space.\n crunchModule._crn_decompress(src, srcSize, dst, dstSize, 0, mipMapLevels);\n\n // Release the crunch file data from the emscripten heap.\n crunchModule._free(src);\n\n const image = new Uint8Array(crunchModule.HEAPU8.buffer, dst, dstSize).slice();\n return extractMipmapImages(image, {\n mipMapLevels,\n width,\n height,\n sizeFunction,\n internalFormat: DXT_FORMAT_MAP[format].pixelFormat\n });\n}\n\n/**\n * Copy an array of bytes into or out of the emscripten heap\n * @param {Uint8Array} srcData - Source data array\n * @param {Uint8Array} dstData - Destination data array\n * @param {number} dstByteOffset - Destination data offset\n * @param {number} numBytes - number of bytes to copy\n * @returns {void}\n */\nfunction arrayBufferCopy(srcData, dstData, dstByteOffset, numBytes) {\n let i;\n const dst32Offset = dstByteOffset / 4;\n const tail = numBytes % 4;\n const src32 = new Uint32Array(srcData.buffer, 0, (numBytes - tail) / 4);\n const dst32 = new Uint32Array(dstData.buffer);\n for (i = 0; i < src32.length; i++) {\n dst32[dst32Offset + i] = src32[i];\n }\n for (i = numBytes - tail; i < numBytes; i++) {\n dstData[dstByteOffset + i] = srcData[i];\n }\n}\n"],"file":"parse-crunch.js"}
@@ -10,7 +10,7 @@ exports.getDxtXLevelSize = getDxtXLevelSize;
10
10
 
11
11
  var _loaderUtils = require("@loaders.gl/loader-utils");
12
12
 
13
- var _glConstants = require("../gl-constants");
13
+ var _glExtensions = require("../gl-extensions");
14
14
 
15
15
  var _extractMipmapImages = require("../utils/extract-mipmap-images");
16
16
 
@@ -29,12 +29,12 @@ const DDS_CONSTANTS = {
29
29
  DDPF_FOURCC: 0x4
30
30
  };
31
31
  const DDS_PIXEL_FORMATS = {
32
- DXT1: _glConstants.GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
33
- DXT3: _glConstants.GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,
34
- DXT5: _glConstants.GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,
35
- 'ATC ': _glConstants.GL.COMPRESSED_RGB_ATC_WEBGL,
36
- ATCA: _glConstants.GL.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
37
- ATCI: _glConstants.GL.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
32
+ DXT1: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
33
+ DXT3: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
34
+ DXT5: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
35
+ 'ATC ': _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
36
+ ATCA: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
37
+ ATCI: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
38
38
  };
39
39
  const getATCLevelSize = getDxt1LevelSize;
40
40
  const getATCALevelSize = getDxtXLevelSize;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/parsers/parse-dds.ts"],"names":["DDS_CONSTANTS","MAGIC_NUMBER","HEADER_LENGTH","MAGIC_NUMBER_INDEX","HEADER_SIZE_INDEX","HEADER_FLAGS_INDEX","HEADER_HEIGHT_INDEX","HEADER_WIDTH_INDEX","MIPMAPCOUNT_INDEX","HEADER_PF_FLAGS_INDEX","HEADER_PF_FOURCC_INDEX","DDSD_MIPMAPCOUNT","DDPF_FOURCC","DDS_PIXEL_FORMATS","DXT1","GL","COMPRESSED_RGB_S3TC_DXT1_EXT","DXT3","COMPRESSED_RGBA_S3TC_DXT3_EXT","DXT5","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB_ATC_WEBGL","ATCA","COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL","ATCI","COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL","getATCLevelSize","getDxt1LevelSize","getATCALevelSize","getDxtXLevelSize","getATCILevelSize","DDS_SIZE_FUNCTIONS","isDDS","data","header","Uint32Array","magic","parseDDS","Int32Array","pixelFormatNumber","Boolean","fourCC","int32ToFourCC","internalFormat","sizeFunction","mipMapLevels","Math","max","width","height","dataOffset","image","Uint8Array","value","String","fromCharCode"],"mappings":"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","sourcesContent":["import type {TextureLevel} from '../../types';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {GL} from '../gl-constants';\nimport {extractMipmapImages} from '../utils/extract-mipmap-images';\n\nconst DDS_CONSTANTS = {\n MAGIC_NUMBER: 0x20534444,\n HEADER_LENGTH: 31,\n MAGIC_NUMBER_INDEX: 0,\n HEADER_SIZE_INDEX: 1,\n HEADER_FLAGS_INDEX: 2,\n HEADER_HEIGHT_INDEX: 3,\n HEADER_WIDTH_INDEX: 4,\n MIPMAPCOUNT_INDEX: 7,\n HEADER_PF_FLAGS_INDEX: 20,\n HEADER_PF_FOURCC_INDEX: 21,\n DDSD_MIPMAPCOUNT: 0x20000,\n DDPF_FOURCC: 0x4\n};\n\nconst DDS_PIXEL_FORMATS: Record<string, number> = {\n DXT1: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,\n DXT3: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n DXT5: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n 'ATC ': GL.COMPRESSED_RGB_ATC_WEBGL,\n ATCA: GL.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,\n ATCI: GL.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL\n};\n\nconst getATCLevelSize = getDxt1LevelSize;\nconst getATCALevelSize = getDxtXLevelSize;\nconst getATCILevelSize = getDxtXLevelSize;\n\nconst DDS_SIZE_FUNCTIONS: Record<string, (width: number, height: number) => number> = {\n DXT1: getDxt1LevelSize,\n DXT3: getDxtXLevelSize,\n DXT5: getDxtXLevelSize,\n 'ATC ': getATCLevelSize,\n ATCA: getATCALevelSize,\n ATCI: getATCILevelSize\n};\n\n/**\n * Check if data is in \"DDS\" format by its magic number\n * @param data - binary data of compressed texture\n * @returns true - data in \"DDS\" format, else - false\n */\nexport function isDDS(data: ArrayBuffer): boolean {\n const header = new Uint32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);\n const magic = header[DDS_CONSTANTS.MAGIC_NUMBER_INDEX];\n return magic === DDS_CONSTANTS.MAGIC_NUMBER;\n}\n\n/**\n * Parse texture data as \"DDS\" format\n * @param data - binary data of compressed texture\n * @returns Array of the texture levels\n */\nexport function parseDDS(data: ArrayBuffer): TextureLevel[] {\n const header = new Int32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);\n const pixelFormatNumber = header[DDS_CONSTANTS.HEADER_PF_FOURCC_INDEX];\n assert(\n Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC),\n 'DDS: Unsupported format, must contain a FourCC code'\n );\n const fourCC = int32ToFourCC(pixelFormatNumber);\n const internalFormat = DDS_PIXEL_FORMATS[fourCC];\n const sizeFunction = DDS_SIZE_FUNCTIONS[fourCC];\n assert(internalFormat && sizeFunction, `DDS: Unknown pixel format ${pixelFormatNumber}`);\n\n let mipMapLevels = 1;\n if (header[DDS_CONSTANTS.HEADER_FLAGS_INDEX] & DDS_CONSTANTS.DDSD_MIPMAPCOUNT) {\n mipMapLevels = Math.max(1, header[DDS_CONSTANTS.MIPMAPCOUNT_INDEX]);\n }\n const width = header[DDS_CONSTANTS.HEADER_WIDTH_INDEX];\n const height = header[DDS_CONSTANTS.HEADER_HEIGHT_INDEX];\n const dataOffset = header[DDS_CONSTANTS.HEADER_SIZE_INDEX] + 4;\n const image = new Uint8Array(data, dataOffset);\n\n return extractMipmapImages(image, {\n mipMapLevels,\n width,\n height,\n sizeFunction,\n internalFormat\n });\n}\n\n/**\n * DXT1 applicable function to calculate level size\n * @param width - level width\n * @param height - level height\n * @returns level size in bytes\n */\nexport function getDxt1LevelSize(width: number, height: number): number {\n return ((width + 3) >> 2) * ((height + 3) >> 2) * 8;\n}\n\n/**\n * DXT3 & DXT5 applicable function to calculate level size\n * @param width - level width\n * @param height - level height\n * @returns level size in bytes\n */\nexport function getDxtXLevelSize(width: number, height: number): number {\n return ((width + 3) >> 2) * ((height + 3) >> 2) * 16;\n}\n\n/**\n * Convert every byte of Int32 value to char\n * @param value - Int32 number\n * @returns string of 4 characters\n */\nfunction int32ToFourCC(value: number): string {\n return String.fromCharCode(\n value & 0xff,\n (value >> 8) & 0xff,\n (value >> 16) & 0xff,\n (value >> 24) & 0xff\n );\n}\n"],"file":"parse-dds.js"}
1
+ {"version":3,"sources":["../../../../src/lib/parsers/parse-dds.ts"],"names":["DDS_CONSTANTS","MAGIC_NUMBER","HEADER_LENGTH","MAGIC_NUMBER_INDEX","HEADER_SIZE_INDEX","HEADER_FLAGS_INDEX","HEADER_HEIGHT_INDEX","HEADER_WIDTH_INDEX","MIPMAPCOUNT_INDEX","HEADER_PF_FLAGS_INDEX","HEADER_PF_FOURCC_INDEX","DDSD_MIPMAPCOUNT","DDPF_FOURCC","DDS_PIXEL_FORMATS","DXT1","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_S3TC_DXT1_EXT","DXT3","COMPRESSED_RGBA_S3TC_DXT3_EXT","DXT5","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB_ATC_WEBGL","ATCA","COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL","ATCI","COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL","getATCLevelSize","getDxt1LevelSize","getATCALevelSize","getDxtXLevelSize","getATCILevelSize","DDS_SIZE_FUNCTIONS","isDDS","data","header","Uint32Array","magic","parseDDS","Int32Array","pixelFormatNumber","Boolean","fourCC","int32ToFourCC","internalFormat","sizeFunction","mipMapLevels","Math","max","width","height","dataOffset","image","Uint8Array","value","String","fromCharCode"],"mappings":"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","sourcesContent":["import type {TextureLevel} from '../../types';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\nimport {extractMipmapImages} from '../utils/extract-mipmap-images';\n\nconst DDS_CONSTANTS = {\n MAGIC_NUMBER: 0x20534444,\n HEADER_LENGTH: 31,\n MAGIC_NUMBER_INDEX: 0,\n HEADER_SIZE_INDEX: 1,\n HEADER_FLAGS_INDEX: 2,\n HEADER_HEIGHT_INDEX: 3,\n HEADER_WIDTH_INDEX: 4,\n MIPMAPCOUNT_INDEX: 7,\n HEADER_PF_FLAGS_INDEX: 20,\n HEADER_PF_FOURCC_INDEX: 21,\n DDSD_MIPMAPCOUNT: 0x20000,\n DDPF_FOURCC: 0x4\n};\n\nconst DDS_PIXEL_FORMATS: Record<string, number> = {\n DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,\n DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n 'ATC ': GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,\n ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,\n ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL\n};\n\nconst getATCLevelSize = getDxt1LevelSize;\nconst getATCALevelSize = getDxtXLevelSize;\nconst getATCILevelSize = getDxtXLevelSize;\n\nconst DDS_SIZE_FUNCTIONS: Record<string, (width: number, height: number) => number> = {\n DXT1: getDxt1LevelSize,\n DXT3: getDxtXLevelSize,\n DXT5: getDxtXLevelSize,\n 'ATC ': getATCLevelSize,\n ATCA: getATCALevelSize,\n ATCI: getATCILevelSize\n};\n\n/**\n * Check if data is in \"DDS\" format by its magic number\n * @param data - binary data of compressed texture\n * @returns true - data in \"DDS\" format, else - false\n */\nexport function isDDS(data: ArrayBuffer): boolean {\n const header = new Uint32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);\n const magic = header[DDS_CONSTANTS.MAGIC_NUMBER_INDEX];\n return magic === DDS_CONSTANTS.MAGIC_NUMBER;\n}\n\n/**\n * Parse texture data as \"DDS\" format\n * @param data - binary data of compressed texture\n * @returns Array of the texture levels\n */\nexport function parseDDS(data: ArrayBuffer): TextureLevel[] {\n const header = new Int32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);\n const pixelFormatNumber = header[DDS_CONSTANTS.HEADER_PF_FOURCC_INDEX];\n assert(\n Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC),\n 'DDS: Unsupported format, must contain a FourCC code'\n );\n const fourCC = int32ToFourCC(pixelFormatNumber);\n const internalFormat = DDS_PIXEL_FORMATS[fourCC];\n const sizeFunction = DDS_SIZE_FUNCTIONS[fourCC];\n assert(internalFormat && sizeFunction, `DDS: Unknown pixel format ${pixelFormatNumber}`);\n\n let mipMapLevels = 1;\n if (header[DDS_CONSTANTS.HEADER_FLAGS_INDEX] & DDS_CONSTANTS.DDSD_MIPMAPCOUNT) {\n mipMapLevels = Math.max(1, header[DDS_CONSTANTS.MIPMAPCOUNT_INDEX]);\n }\n const width = header[DDS_CONSTANTS.HEADER_WIDTH_INDEX];\n const height = header[DDS_CONSTANTS.HEADER_HEIGHT_INDEX];\n const dataOffset = header[DDS_CONSTANTS.HEADER_SIZE_INDEX] + 4;\n const image = new Uint8Array(data, dataOffset);\n\n return extractMipmapImages(image, {\n mipMapLevels,\n width,\n height,\n sizeFunction,\n internalFormat\n });\n}\n\n/**\n * DXT1 applicable function to calculate level size\n * @param width - level width\n * @param height - level height\n * @returns level size in bytes\n */\nexport function getDxt1LevelSize(width: number, height: number): number {\n return ((width + 3) >> 2) * ((height + 3) >> 2) * 8;\n}\n\n/**\n * DXT3 & DXT5 applicable function to calculate level size\n * @param width - level width\n * @param height - level height\n * @returns level size in bytes\n */\nexport function getDxtXLevelSize(width: number, height: number): number {\n return ((width + 3) >> 2) * ((height + 3) >> 2) * 16;\n}\n\n/**\n * Convert every byte of Int32 value to char\n * @param value - Int32 number\n * @returns string of 4 characters\n */\nfunction int32ToFourCC(value: number): string {\n return String.fromCharCode(\n value & 0xff,\n (value >> 8) & 0xff,\n (value >> 16) & 0xff,\n (value >> 24) & 0xff\n );\n}\n"],"file":"parse-dds.js"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.isPVR = isPVR;
7
7
  exports.parsePVR = parsePVR;
8
8
 
9
- var _glConstants = require("../gl-constants");
9
+ var _glExtensions = require("../gl-extensions");
10
10
 
11
11
  var _extractMipmapImages = require("../utils/extract-mipmap-images");
12
12
 
@@ -24,33 +24,33 @@ const PVR_CONSTANTS = {
24
24
  METADATA_SIZE_INDEX: 12
25
25
  };
26
26
  const PVR_PIXEL_FORMATS = {
27
- 0: [_glConstants.GL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
28
- 1: [_glConstants.GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
29
- 2: [_glConstants.GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
30
- 3: [_glConstants.GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
31
- 6: [_glConstants.GL.COMPRESSED_RGB_ETC1_WEBGL],
32
- 7: [_glConstants.GL.COMPRESSED_RGB_S3TC_DXT1_EXT],
33
- 9: [_glConstants.GL.COMPRESSED_RGBA_S3TC_DXT3_EXT],
34
- 11: [_glConstants.GL.COMPRESSED_RGBA_S3TC_DXT5_EXT],
35
- 22: [_glConstants.GL.COMPRESSED_RGB8_ETC2],
36
- 23: [_glConstants.GL.COMPRESSED_RGBA8_ETC2_EAC],
37
- 24: [_glConstants.GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
38
- 25: [_glConstants.GL.COMPRESSED_R11_EAC],
39
- 26: [_glConstants.GL.COMPRESSED_RG11_EAC],
40
- 27: [_glConstants.GL.COMPRESSED_RGBA_ASTC_4X4_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],
41
- 28: [_glConstants.GL.COMPRESSED_RGBA_ASTC_5X4_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],
42
- 29: [_glConstants.GL.COMPRESSED_RGBA_ASTC_5X5_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],
43
- 30: [_glConstants.GL.COMPRESSED_RGBA_ASTC_6X5_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],
44
- 31: [_glConstants.GL.COMPRESSED_RGBA_ASTC_6X6_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],
45
- 32: [_glConstants.GL.COMPRESSED_RGBA_ASTC_8X5_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],
46
- 33: [_glConstants.GL.COMPRESSED_RGBA_ASTC_8X6_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],
47
- 34: [_glConstants.GL.COMPRESSED_RGBA_ASTC_8X8_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],
48
- 35: [_glConstants.GL.COMPRESSED_RGBA_ASTC_10X5_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],
49
- 36: [_glConstants.GL.COMPRESSED_RGBA_ASTC_10X6_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],
50
- 37: [_glConstants.GL.COMPRESSED_RGBA_ASTC_10X8_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],
51
- 38: [_glConstants.GL.COMPRESSED_RGBA_ASTC_10X10_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],
52
- 39: [_glConstants.GL.COMPRESSED_RGBA_ASTC_12X10_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],
53
- 40: [_glConstants.GL.COMPRESSED_RGBA_ASTC_12X12_KHR, _glConstants.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]
27
+ 0: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
28
+ 1: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
29
+ 2: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
30
+ 3: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
31
+ 6: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
32
+ 7: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
33
+ 9: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
34
+ 11: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
35
+ 22: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
36
+ 23: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
37
+ 24: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
38
+ 25: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
39
+ 26: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
40
+ 27: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],
41
+ 28: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],
42
+ 29: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],
43
+ 30: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],
44
+ 31: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],
45
+ 32: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],
46
+ 33: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],
47
+ 34: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],
48
+ 35: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],
49
+ 36: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],
50
+ 37: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],
51
+ 38: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],
52
+ 39: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],
53
+ 40: [_glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR, _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]
54
54
  };
55
55
  const PVR_SIZE_FUNCTIONS = {
56
56
  0: pvrtc2bppSize,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/parsers/parse-pvr.ts"],"names":["PVR_CONSTANTS","MAGIC_NUMBER","MAGIC_NUMBER_EXTRA","HEADER_LENGTH","HEADER_SIZE","MAGIC_NUMBER_INDEX","PIXEL_FORMAT_INDEX","COLOUR_SPACE_INDEX","HEIGHT_INDEX","WIDTH_INDEX","MIPMAPCOUNT_INDEX","METADATA_SIZE_INDEX","PVR_PIXEL_FORMATS","GL","COMPRESSED_RGB_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGB_ETC1_WEBGL","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_R11_EAC","COMPRESSED_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","PVR_SIZE_FUNCTIONS","pvrtc2bppSize","pvrtc4bppSize","dxtEtcSmallSize","dxtEtcAstcBigSize","atc5x4Size","atc5x5Size","atc6x5Size","atc6x6Size","atc8x5Size","atc8x6Size","atc8x8Size","atc10x5Size","atc10x6Size","atc10x8Size","atc10x10Size","atc12x10Size","atc12x12Size","isPVR","data","header","Uint32Array","version","parsePVR","pvrFormat","colourSpace","pixelFormats","internalFormat","length","sizeFunction","mipMapLevels","width","height","dataOffset","image","Uint8Array","Math","max","floor"],"mappings":"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","sourcesContent":["import {TextureLevel} from '../../types';\n/* eslint-disable camelcase */\n// Forked from PicoGL: https://github.com/tsherif/picogl.js/blob/master/examples/utils/utils.js\n// Copyright (c) 2017 Tarek Sherif, The MIT License (MIT)\nimport {GL} from '../gl-constants';\nimport {extractMipmapImages} from '../utils/extract-mipmap-images';\n\nconst PVR_CONSTANTS: Record<string, number> = {\n MAGIC_NUMBER: 0x03525650,\n MAGIC_NUMBER_EXTRA: 0x50565203,\n HEADER_LENGTH: 13,\n HEADER_SIZE: 52,\n MAGIC_NUMBER_INDEX: 0,\n PIXEL_FORMAT_INDEX: 2,\n COLOUR_SPACE_INDEX: 4,\n HEIGHT_INDEX: 6,\n WIDTH_INDEX: 7,\n MIPMAPCOUNT_INDEX: 11,\n METADATA_SIZE_INDEX: 12\n};\n\nconst PVR_PIXEL_FORMATS: Record<number, number[]> = {\n 0: [GL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],\n 1: [GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],\n 2: [GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],\n 3: [GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],\n 6: [GL.COMPRESSED_RGB_ETC1_WEBGL],\n 7: [GL.COMPRESSED_RGB_S3TC_DXT1_EXT],\n 9: [GL.COMPRESSED_RGBA_S3TC_DXT3_EXT],\n 11: [GL.COMPRESSED_RGBA_S3TC_DXT5_EXT],\n 22: [GL.COMPRESSED_RGB8_ETC2],\n 23: [GL.COMPRESSED_RGBA8_ETC2_EAC],\n 24: [GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],\n 25: [GL.COMPRESSED_R11_EAC],\n 26: [GL.COMPRESSED_RG11_EAC],\n 27: [GL.COMPRESSED_RGBA_ASTC_4X4_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],\n 28: [GL.COMPRESSED_RGBA_ASTC_5X4_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],\n 29: [GL.COMPRESSED_RGBA_ASTC_5X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],\n 30: [GL.COMPRESSED_RGBA_ASTC_6X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],\n 31: [GL.COMPRESSED_RGBA_ASTC_6X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],\n 32: [GL.COMPRESSED_RGBA_ASTC_8X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],\n 33: [GL.COMPRESSED_RGBA_ASTC_8X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],\n 34: [GL.COMPRESSED_RGBA_ASTC_8X8_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],\n 35: [GL.COMPRESSED_RGBA_ASTC_10X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],\n 36: [GL.COMPRESSED_RGBA_ASTC_10X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],\n 37: [GL.COMPRESSED_RGBA_ASTC_10X8_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],\n 38: [GL.COMPRESSED_RGBA_ASTC_10X10_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],\n 39: [GL.COMPRESSED_RGBA_ASTC_12X10_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],\n 40: [GL.COMPRESSED_RGBA_ASTC_12X12_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]\n};\n\nconst PVR_SIZE_FUNCTIONS: Record<number, (width: number, height: number) => number> = {\n 0: pvrtc2bppSize,\n 1: pvrtc2bppSize,\n 2: pvrtc4bppSize,\n 3: pvrtc4bppSize,\n 6: dxtEtcSmallSize,\n 7: dxtEtcSmallSize,\n 9: dxtEtcAstcBigSize,\n 11: dxtEtcAstcBigSize,\n 22: dxtEtcSmallSize,\n 23: dxtEtcAstcBigSize,\n 24: dxtEtcSmallSize,\n 25: dxtEtcSmallSize,\n 26: dxtEtcAstcBigSize,\n 27: dxtEtcAstcBigSize,\n 28: atc5x4Size,\n 29: atc5x5Size,\n 30: atc6x5Size,\n 31: atc6x6Size,\n 32: atc8x5Size,\n 33: atc8x6Size,\n 34: atc8x8Size,\n 35: atc10x5Size,\n 36: atc10x6Size,\n 37: atc10x8Size,\n 38: atc10x10Size,\n 39: atc12x10Size,\n 40: atc12x12Size\n};\n\n/**\n * Check if data is in \"PVR\" format by its magic number\n * @param data - binary data of compressed texture\n * @returns true - data in \"PVR\" format, else - false\n */\nexport function isPVR(data: ArrayBuffer): boolean {\n const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);\n const version = header[PVR_CONSTANTS.MAGIC_NUMBER_INDEX];\n\n return version === PVR_CONSTANTS.MAGIC_NUMBER || version === PVR_CONSTANTS.MAGIC_NUMBER_EXTRA;\n}\n\n/**\n * Parse texture data as \"PVR\" format\n * @param data - binary data of compressed texture\n * @returns Array of the texture levels\n * @see http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf\n */\nexport function parsePVR(data: ArrayBuffer): TextureLevel[] {\n const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);\n\n const pvrFormat = header[PVR_CONSTANTS.PIXEL_FORMAT_INDEX];\n const colourSpace = header[PVR_CONSTANTS.COLOUR_SPACE_INDEX];\n const pixelFormats = PVR_PIXEL_FORMATS[pvrFormat] || [];\n const internalFormat = pixelFormats.length > 1 && colourSpace ? pixelFormats[1] : pixelFormats[0];\n\n const sizeFunction = PVR_SIZE_FUNCTIONS[pvrFormat];\n\n const mipMapLevels = header[PVR_CONSTANTS.MIPMAPCOUNT_INDEX];\n\n const width = header[PVR_CONSTANTS.WIDTH_INDEX];\n const height = header[PVR_CONSTANTS.HEIGHT_INDEX];\n\n const dataOffset = PVR_CONSTANTS.HEADER_SIZE + header[PVR_CONSTANTS.METADATA_SIZE_INDEX];\n\n const image = new Uint8Array(data, dataOffset);\n\n return extractMipmapImages(image, {\n mipMapLevels,\n width,\n height,\n sizeFunction,\n internalFormat\n });\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/\nfunction pvrtc2bppSize(width: number, height: number): number {\n width = Math.max(width, 16);\n height = Math.max(height, 8);\n\n return (width * height) / 4;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/\nfunction pvrtc4bppSize(width: number, height: number): number {\n width = Math.max(width, 8);\n height = Math.max(height, 8);\n\n return (width * height) / 2;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/\n// Size for:\n// COMPRESSED_RGB_S3TC_DXT1_EXT\n// COMPRESSED_R11_EAC\n// COMPRESSED_SIGNED_R11_EAC\n// COMPRESSED_RGB8_ETC2\n// COMPRESSED_SRGB8_ETC2\n// COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2\n// COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2\nfunction dxtEtcSmallSize(width: number, height: number): number {\n return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\n// Size for:\n// COMPRESSED_RGBA_S3TC_DXT3_EXT\n// COMPRESSED_RGBA_S3TC_DXT5_EXT\n// COMPRESSED_RG11_EAC\n// COMPRESSED_SIGNED_RG11_EAC\n// COMPRESSED_RGBA8_ETC2_EAC\n// COMPRESSED_SRGB8_ALPHA8_ETC2_EAC\n// COMPRESSED_RGBA_ASTC_4x4_KHR\nfunction dxtEtcAstcBigSize(width: number, height: number): number {\n return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc5x4Size(width: number, height: number): number {\n return Math.floor((width + 4) / 5) * Math.floor((height + 3) / 4) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc5x5Size(width: number, height: number): number {\n return Math.floor((width + 4) / 5) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc6x5Size(width: number, height: number): number {\n return Math.floor((width + 5) / 6) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc6x6Size(width: number, height: number): number {\n return Math.floor((width + 5) / 6) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x5Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x6Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x8Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 7) / 8) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x5Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x6Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x8Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 7) / 8) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x10Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 9) / 10) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc12x10Size(width: number, height: number): number {\n return Math.floor((width + 11) / 12) * Math.floor((height + 9) / 10) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc12x12Size(width: number, height: number): number {\n return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;\n}\n"],"file":"parse-pvr.js"}
1
+ {"version":3,"sources":["../../../../src/lib/parsers/parse-pvr.ts"],"names":["PVR_CONSTANTS","MAGIC_NUMBER","MAGIC_NUMBER_EXTRA","HEADER_LENGTH","HEADER_SIZE","MAGIC_NUMBER_INDEX","PIXEL_FORMAT_INDEX","COLOUR_SPACE_INDEX","HEIGHT_INDEX","WIDTH_INDEX","MIPMAPCOUNT_INDEX","METADATA_SIZE_INDEX","PVR_PIXEL_FORMATS","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGB_ETC1_WEBGL","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_R11_EAC","COMPRESSED_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","PVR_SIZE_FUNCTIONS","pvrtc2bppSize","pvrtc4bppSize","dxtEtcSmallSize","dxtEtcAstcBigSize","atc5x4Size","atc5x5Size","atc6x5Size","atc6x6Size","atc8x5Size","atc8x6Size","atc8x8Size","atc10x5Size","atc10x6Size","atc10x8Size","atc10x10Size","atc12x10Size","atc12x12Size","isPVR","data","header","Uint32Array","version","parsePVR","pvrFormat","colourSpace","pixelFormats","internalFormat","length","sizeFunction","mipMapLevels","width","height","dataOffset","image","Uint8Array","Math","max","floor"],"mappings":"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","sourcesContent":["import {TextureLevel} from '../../types';\n/* eslint-disable camelcase */\n// Forked from PicoGL: https://github.com/tsherif/picogl.js/blob/master/examples/utils/utils.js\n// Copyright (c) 2017 Tarek Sherif, The MIT License (MIT)\nimport {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\nimport {extractMipmapImages} from '../utils/extract-mipmap-images';\n\nconst PVR_CONSTANTS: Record<string, number> = {\n MAGIC_NUMBER: 0x03525650,\n MAGIC_NUMBER_EXTRA: 0x50565203,\n HEADER_LENGTH: 13,\n HEADER_SIZE: 52,\n MAGIC_NUMBER_INDEX: 0,\n PIXEL_FORMAT_INDEX: 2,\n COLOUR_SPACE_INDEX: 4,\n HEIGHT_INDEX: 6,\n WIDTH_INDEX: 7,\n MIPMAPCOUNT_INDEX: 11,\n METADATA_SIZE_INDEX: 12\n};\n\nconst PVR_PIXEL_FORMATS: Record<number, number[]> = {\n 0: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],\n 1: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],\n 2: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],\n 3: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],\n 6: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],\n 7: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],\n 9: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],\n 11: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],\n 22: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],\n 23: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],\n 24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],\n 25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],\n 26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],\n 27: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR\n ],\n 28: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR\n ],\n 29: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR\n ],\n 30: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR\n ],\n 31: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR\n ],\n 32: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR\n ],\n 33: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR\n ],\n 34: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR\n ],\n 35: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR\n ],\n 36: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR\n ],\n 37: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR\n ],\n 38: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR\n ],\n 39: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR\n ],\n 40: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR\n ]\n};\n\nconst PVR_SIZE_FUNCTIONS: Record<number, (width: number, height: number) => number> = {\n 0: pvrtc2bppSize,\n 1: pvrtc2bppSize,\n 2: pvrtc4bppSize,\n 3: pvrtc4bppSize,\n 6: dxtEtcSmallSize,\n 7: dxtEtcSmallSize,\n 9: dxtEtcAstcBigSize,\n 11: dxtEtcAstcBigSize,\n 22: dxtEtcSmallSize,\n 23: dxtEtcAstcBigSize,\n 24: dxtEtcSmallSize,\n 25: dxtEtcSmallSize,\n 26: dxtEtcAstcBigSize,\n 27: dxtEtcAstcBigSize,\n 28: atc5x4Size,\n 29: atc5x5Size,\n 30: atc6x5Size,\n 31: atc6x6Size,\n 32: atc8x5Size,\n 33: atc8x6Size,\n 34: atc8x8Size,\n 35: atc10x5Size,\n 36: atc10x6Size,\n 37: atc10x8Size,\n 38: atc10x10Size,\n 39: atc12x10Size,\n 40: atc12x12Size\n};\n\n/**\n * Check if data is in \"PVR\" format by its magic number\n * @param data - binary data of compressed texture\n * @returns true - data in \"PVR\" format, else - false\n */\nexport function isPVR(data: ArrayBuffer): boolean {\n const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);\n const version = header[PVR_CONSTANTS.MAGIC_NUMBER_INDEX];\n\n return version === PVR_CONSTANTS.MAGIC_NUMBER || version === PVR_CONSTANTS.MAGIC_NUMBER_EXTRA;\n}\n\n/**\n * Parse texture data as \"PVR\" format\n * @param data - binary data of compressed texture\n * @returns Array of the texture levels\n * @see http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf\n */\nexport function parsePVR(data: ArrayBuffer): TextureLevel[] {\n const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);\n\n const pvrFormat = header[PVR_CONSTANTS.PIXEL_FORMAT_INDEX];\n const colourSpace = header[PVR_CONSTANTS.COLOUR_SPACE_INDEX];\n const pixelFormats = PVR_PIXEL_FORMATS[pvrFormat] || [];\n const internalFormat = pixelFormats.length > 1 && colourSpace ? pixelFormats[1] : pixelFormats[0];\n\n const sizeFunction = PVR_SIZE_FUNCTIONS[pvrFormat];\n\n const mipMapLevels = header[PVR_CONSTANTS.MIPMAPCOUNT_INDEX];\n\n const width = header[PVR_CONSTANTS.WIDTH_INDEX];\n const height = header[PVR_CONSTANTS.HEIGHT_INDEX];\n\n const dataOffset = PVR_CONSTANTS.HEADER_SIZE + header[PVR_CONSTANTS.METADATA_SIZE_INDEX];\n\n const image = new Uint8Array(data, dataOffset);\n\n return extractMipmapImages(image, {\n mipMapLevels,\n width,\n height,\n sizeFunction,\n internalFormat\n });\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/\nfunction pvrtc2bppSize(width: number, height: number): number {\n width = Math.max(width, 16);\n height = Math.max(height, 8);\n\n return (width * height) / 4;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/\nfunction pvrtc4bppSize(width: number, height: number): number {\n width = Math.max(width, 8);\n height = Math.max(height, 8);\n\n return (width * height) / 2;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/\n// Size for:\n// COMPRESSED_RGB_S3TC_DXT1_EXT\n// COMPRESSED_R11_EAC\n// COMPRESSED_SIGNED_R11_EAC\n// COMPRESSED_RGB8_ETC2\n// COMPRESSED_SRGB8_ETC2\n// COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2\n// COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2\nfunction dxtEtcSmallSize(width: number, height: number): number {\n return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\n// Size for:\n// COMPRESSED_RGBA_S3TC_DXT3_EXT\n// COMPRESSED_RGBA_S3TC_DXT5_EXT\n// COMPRESSED_RG11_EAC\n// COMPRESSED_SIGNED_RG11_EAC\n// COMPRESSED_RGBA8_ETC2_EAC\n// COMPRESSED_SRGB8_ALPHA8_ETC2_EAC\n// COMPRESSED_RGBA_ASTC_4x4_KHR\nfunction dxtEtcAstcBigSize(width: number, height: number): number {\n return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc5x4Size(width: number, height: number): number {\n return Math.floor((width + 4) / 5) * Math.floor((height + 3) / 4) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc5x5Size(width: number, height: number): number {\n return Math.floor((width + 4) / 5) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc6x5Size(width: number, height: number): number {\n return Math.floor((width + 5) / 6) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc6x6Size(width: number, height: number): number {\n return Math.floor((width + 5) / 6) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x5Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x6Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x8Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 7) / 8) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x5Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x6Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x8Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 7) / 8) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x10Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 9) / 10) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc12x10Size(width: number, height: number): number {\n return Math.floor((width + 11) / 12) * Math.floor((height + 9) / 10) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc12x12Size(width: number, height: number): number {\n return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;\n}\n"],"file":"parse-pvr.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
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
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,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.1" !== 'undefined' ? "3.1.0-beta.1" : 'beta';
7
+ const VERSION = typeof "3.1.0-beta.7" !== 'undefined' ? "3.1.0-beta.7" : 'beta';
8
8
  exports.VERSION = VERSION;
9
9
  //# sourceMappingURL=version.js.map
package/dist/esm/index.js CHANGED
@@ -7,7 +7,7 @@ export { KTX2BasisUniversalTextureWriter } from './ktx2-basis-universal-texture-
7
7
  export { loadImageTexture } from './lib/texture-api/load-image';
8
8
  export { loadImageTextureArray } from './lib/texture-api/load-image-array';
9
9
  export { loadImageTextureCube } from './lib/texture-api/load-image-cube';
10
- export { GL as GL_CONSTANTS } from './lib/gl-constants';
10
+ export { GL_EXTENSIONS_CONSTANTS } from './lib/gl-extensions';
11
11
  export { selectSupportedBasisFormat } from './lib/parsers/parse-basis';
12
12
  export { getSupportedGPUTextureFormats } from './lib/utils/texture-formats';
13
13
  export { CrunchLoader as CrunchWorkerLoader } from './crunch-loader';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["BasisLoader","BasisWorkerLoader","CompressedTextureLoader","CompressedTextureWorkerLoader","CrunchLoader","NPYLoader","NPYWorkerLoader","CompressedTextureWriter","KTX2BasisUniversalTextureWriter","loadImageTexture","loadImageTextureArray","loadImageTextureCube","GL","GL_CONSTANTS","selectSupportedBasisFormat","getSupportedGPUTextureFormats","CrunchWorkerLoader"],"mappings":"AAKA,SAAQA,WAAR,EAAqBC,iBAArB,QAA6C,gBAA7C;AACA,SAAQC,uBAAR,EAAiCC,6BAAjC,QAAqE,6BAArE;AACA,SAAQC,YAAR,QAA2B,iBAA3B;AACA,SAAQC,SAAR,EAAmBC,eAAnB,QAAyC,cAAzC;AAGA,SAAQC,uBAAR,QAAsC,6BAAtC;AACA,SAAQC,+BAAR,QAA8C,uCAA9C;AAGA,SAAQC,gBAAR,QAA+B,8BAA/B;AACA,SAAQC,qBAAR,QAAoC,oCAApC;AACA,SAAQC,oBAAR,QAAmC,mCAAnC;AAGA,SAAQC,EAAE,IAAIC,YAAd,QAAiC,oBAAjC;AACA,SAAQC,0BAAR,QAAyC,2BAAzC;AACA,SAAQC,6BAAR,QAA4C,6BAA5C;AAGA,SAAQX,YAAY,IAAIY,kBAAxB,QAAiD,iBAAjD","sourcesContent":["// Types\nexport type {GPUTextureFormat} from './types';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisUniversalTextureWriter} from './ktx2-basis-universal-texture-writer';\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL as GL_CONSTANTS} from './lib/gl-constants';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["BasisLoader","BasisWorkerLoader","CompressedTextureLoader","CompressedTextureWorkerLoader","CrunchLoader","NPYLoader","NPYWorkerLoader","CompressedTextureWriter","KTX2BasisUniversalTextureWriter","loadImageTexture","loadImageTextureArray","loadImageTextureCube","GL_EXTENSIONS_CONSTANTS","selectSupportedBasisFormat","getSupportedGPUTextureFormats","CrunchWorkerLoader"],"mappings":"AAKA,SAAQA,WAAR,EAAqBC,iBAArB,QAA6C,gBAA7C;AACA,SAAQC,uBAAR,EAAiCC,6BAAjC,QAAqE,6BAArE;AACA,SAAQC,YAAR,QAA2B,iBAA3B;AACA,SAAQC,SAAR,EAAmBC,eAAnB,QAAyC,cAAzC;AAGA,SAAQC,uBAAR,QAAsC,6BAAtC;AACA,SAAQC,+BAAR,QAA8C,uCAA9C;AAGA,SAAQC,gBAAR,QAA+B,8BAA/B;AACA,SAAQC,qBAAR,QAAoC,oCAApC;AACA,SAAQC,oBAAR,QAAmC,mCAAnC;AAGA,SAAQC,uBAAR,QAAsC,qBAAtC;AACA,SAAQC,0BAAR,QAAyC,2BAAzC;AACA,SAAQC,6BAAR,QAA4C,6BAA5C;AAGA,SAAQV,YAAY,IAAIW,kBAAxB,QAAiD,iBAAjD","sourcesContent":["// Types\nexport type {GPUTextureFormat} from './types';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisUniversalTextureWriter} from './ktx2-basis-universal-texture-writer';\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"file":"index.js"}
@@ -1,4 +1,4 @@
1
- export const GL = {
1
+ export const GL_EXTENSIONS_CONSTANTS = {
2
2
  COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83f0,
3
3
  COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83f1,
4
4
  COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83f2,
@@ -58,4 +58,4 @@ export const GL = {
58
58
  COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8c4e,
59
59
  COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8c4f
60
60
  };
61
- //# sourceMappingURL=gl-constants.js.map
61
+ //# sourceMappingURL=gl-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/gl-extensions.ts"],"names":["GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGB8_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ETC2","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGB_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGB_ETC1_WEBGL","COMPRESSED_RGB_ATC_WEBGL","COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL","COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL","COMPRESSED_RGBA_ASTC_4X4_KHR","COMPRESSED_RGBA_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5X5_KHR","COMPRESSED_RGBA_ASTC_6X5_KHR","COMPRESSED_RGBA_ASTC_6X6_KHR","COMPRESSED_RGBA_ASTC_8X5_KHR","COMPRESSED_RGBA_ASTC_8X6_KHR","COMPRESSED_RGBA_ASTC_8X8_KHR","COMPRESSED_RGBA_ASTC_10X5_KHR","COMPRESSED_RGBA_ASTC_10X6_KHR","COMPRESSED_RGBA_ASTC_10X8_KHR","COMPRESSED_RGBA_ASTC_10X10_KHR","COMPRESSED_RGBA_ASTC_12X10_KHR","COMPRESSED_RGBA_ASTC_12X12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"],"mappings":"AACA,OAAO,MAAMA,uBAAuB,GAAG;AAGrCC,EAAAA,4BAA4B,EAAE,MAHO;AAIrCC,EAAAA,6BAA6B,EAAE,MAJM;AAKrCC,EAAAA,6BAA6B,EAAE,MALM;AAMrCC,EAAAA,6BAA6B,EAAE,MANM;AAUrCC,EAAAA,kBAAkB,EAAE,MAViB;AAWrCC,EAAAA,yBAAyB,EAAE,MAXU;AAYrCC,EAAAA,mBAAmB,EAAE,MAZgB;AAarCC,EAAAA,0BAA0B,EAAE,MAbS;AAcrCC,EAAAA,oBAAoB,EAAE,MAde;AAerCC,EAAAA,yBAAyB,EAAE,MAfU;AAgBrCC,EAAAA,qBAAqB,EAAE,MAhBc;AAiBrCC,EAAAA,gCAAgC,EAAE,MAjBG;AAkBrCC,EAAAA,wCAAwC,EAAE,MAlBL;AAmBrCC,EAAAA,yCAAyC,EAAE,MAnBN;AAuBrCC,EAAAA,+BAA+B,EAAE,MAvBI;AAwBrCC,EAAAA,gCAAgC,EAAE,MAxBG;AAyBrCC,EAAAA,+BAA+B,EAAE,MAzBI;AA0BrCC,EAAAA,gCAAgC,EAAE,MA1BG;AA8BrCC,EAAAA,yBAAyB,EAAE,MA9BU;AAkCrCC,EAAAA,wBAAwB,EAAE,MAlCW;AAmCrCC,EAAAA,wCAAwC,EAAE,MAnCL;AAoCrCC,EAAAA,4CAA4C,EAAE,MApCT;AAwCrCC,EAAAA,4BAA4B,EAAE,MAxCO;AAyCrCC,EAAAA,4BAA4B,EAAE,MAzCO;AA0CrCC,EAAAA,4BAA4B,EAAE,MA1CO;AA2CrCC,EAAAA,4BAA4B,EAAE,MA3CO;AA4CrCC,EAAAA,4BAA4B,EAAE,MA5CO;AA6CrCC,EAAAA,4BAA4B,EAAE,MA7CO;AA8CrCC,EAAAA,4BAA4B,EAAE,MA9CO;AA+CrCC,EAAAA,4BAA4B,EAAE,MA/CO;AAgDrCC,EAAAA,6BAA6B,EAAE,MAhDM;AAiDrCC,EAAAA,6BAA6B,EAAE,MAjDM;AAkDrCC,EAAAA,6BAA6B,EAAE,MAlDM;AAmDrCC,EAAAA,8BAA8B,EAAE,MAnDK;AAoDrCC,EAAAA,8BAA8B,EAAE,MApDK;AAqDrCC,EAAAA,8BAA8B,EAAE,MArDK;AAsDrCC,EAAAA,oCAAoC,EAAE,MAtDD;AAuDrCC,EAAAA,oCAAoC,EAAE,MAvDD;AAwDrCC,EAAAA,oCAAoC,EAAE,MAxDD;AAyDrCC,EAAAA,oCAAoC,EAAE,MAzDD;AA0DrCC,EAAAA,oCAAoC,EAAE,MA1DD;AA2DrCC,EAAAA,oCAAoC,EAAE,MA3DD;AA4DrCC,EAAAA,oCAAoC,EAAE,MA5DD;AA6DrCC,EAAAA,oCAAoC,EAAE,MA7DD;AA8DrCC,EAAAA,qCAAqC,EAAE,MA9DF;AA+DrCC,EAAAA,qCAAqC,EAAE,MA/DF;AAgErCC,EAAAA,qCAAqC,EAAE,MAhEF;AAiErCC,EAAAA,sCAAsC,EAAE,MAjEH;AAkErCC,EAAAA,sCAAsC,EAAE,MAlEH;AAmErCC,EAAAA,sCAAsC,EAAE,MAnEH;AAuErCC,EAAAA,wBAAwB,EAAE,MAvEW;AAwErCC,EAAAA,+BAA+B,EAAE,MAxEI;AAyErCC,EAAAA,8BAA8B,EAAE,MAzEK;AA0ErCC,EAAAA,qCAAqC,EAAE,MA1EF;AA8ErCC,EAAAA,6BAA6B,EAAE,MA9EM;AA+ErCC,EAAAA,mCAAmC,EAAE,MA/EA;AAgFrCC,EAAAA,mCAAmC,EAAE,MAhFA;AAiFrCC,EAAAA,mCAAmC,EAAE;AAjFA,CAAhC","sourcesContent":["/* eslint-disable camelcase */\nexport const GL_EXTENSIONS_CONSTANTS = {\n // WEBGL_compressed_texture_s3tc\n\n COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83f0,\n COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83f1,\n COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83f2,\n COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83f3,\n\n // WEBGL_compressed_texture_es3\n\n COMPRESSED_R11_EAC: 0x9270,\n COMPRESSED_SIGNED_R11_EAC: 0x9271,\n COMPRESSED_RG11_EAC: 0x9272,\n COMPRESSED_SIGNED_RG11_EAC: 0x9273,\n COMPRESSED_RGB8_ETC2: 0x9274,\n COMPRESSED_RGBA8_ETC2_EAC: 0x9275,\n COMPRESSED_SRGB8_ETC2: 0x9276,\n COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9277,\n COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9278,\n COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9279,\n\n // WEBGL_compressed_texture_pvrtc\n\n COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8c00,\n COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8c02,\n COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8c01,\n COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8c03,\n\n // WEBGL_compressed_texture_etc1\n\n COMPRESSED_RGB_ETC1_WEBGL: 0x8d64,\n\n // WEBGL_compressed_texture_atc\n\n COMPRESSED_RGB_ATC_WEBGL: 0x8c92,\n COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 0x8c93,\n COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 0x87ee,\n\n // WEBGL_compressed_texture_astc\n\n COMPRESSED_RGBA_ASTC_4X4_KHR: 0x93b0,\n COMPRESSED_RGBA_ASTC_5X4_KHR: 0x93b1,\n COMPRESSED_RGBA_ASTC_5X5_KHR: 0x93b2,\n COMPRESSED_RGBA_ASTC_6X5_KHR: 0x93b3,\n COMPRESSED_RGBA_ASTC_6X6_KHR: 0x93b4,\n COMPRESSED_RGBA_ASTC_8X5_KHR: 0x93b5,\n COMPRESSED_RGBA_ASTC_8X6_KHR: 0x93b6,\n COMPRESSED_RGBA_ASTC_8X8_KHR: 0x93b7,\n COMPRESSED_RGBA_ASTC_10X5_KHR: 0x93b8,\n COMPRESSED_RGBA_ASTC_10X6_KHR: 0x93b9,\n COMPRESSED_RGBA_ASTC_10X8_KHR: 0x93ba,\n COMPRESSED_RGBA_ASTC_10X10_KHR: 0x93bb,\n COMPRESSED_RGBA_ASTC_12X10_KHR: 0x93bc,\n COMPRESSED_RGBA_ASTC_12X12_KHR: 0x93bd,\n COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 0x93d0,\n COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 0x93d1,\n COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 0x93d2,\n COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 0x93d3,\n COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 0x93d4,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 0x93d5,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 0x93d6,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 0x93d7,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 0x93d8,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 0x93d9,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 0x93da,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 0x93db,\n COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 0x93dc,\n COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 0x93dd,\n\n // EXT_texture_compression_rgtc\n\n COMPRESSED_RED_RGTC1_EXT: 0x8dbb,\n COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8dbc,\n COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8dbd,\n COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8dbe,\n\n // WEBGL_compressed_texture_s3tc_srgb\n\n COMPRESSED_SRGB_S3TC_DXT1_EXT: 0x8c4c,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 0x8c4d,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8c4e,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8c4f\n};\n"],"file":"gl-extensions.js"}
@@ -1,4 +1,4 @@
1
- const VERSION = typeof "3.1.0-beta.1" !== 'undefined' ? "3.1.0-beta.1" : 'beta';
1
+ const VERSION = typeof "3.1.0-beta.7" !== 'undefined' ? "3.1.0-beta.7" : 'beta';
2
2
  import { loadLibrary } from '@loaders.gl/worker-utils';
3
3
  const BASIS_CDN_ENCODER_WASM = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.wasm");
4
4
  const BASIS_CDN_ENCODER_JS = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.js");