bb4813c5c240e494fab39a57921cd9d43f3c480774c7d44a9d1dea25083892f9.json 33 KB

1
  1. {"ast":null,"code":"import { Logger } from \"../Misc/logger.js\";\n//private static _TYPE_NO_DATA = 0;\nconst _TYPE_INDEXED = 1;\nconst _TYPE_RGB = 2;\nconst _TYPE_GREY = 3;\nconst _TYPE_RLE_INDEXED = 9;\nconst _TYPE_RLE_RGB = 10;\nconst _TYPE_RLE_GREY = 11;\nconst _ORIGIN_MASK = 0x30;\nconst _ORIGIN_SHIFT = 0x04;\nconst _ORIGIN_BL = 0x00;\nconst _ORIGIN_BR = 0x01;\nconst _ORIGIN_UL = 0x02;\nconst _ORIGIN_UR = 0x03;\n/**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\nexport function GetTGAHeader(data) {\n let offset = 0;\n const header = {\n id_length: data[offset++],\n colormap_type: data[offset++],\n image_type: data[offset++],\n colormap_index: data[offset++] | data[offset++] << 8,\n colormap_length: data[offset++] | data[offset++] << 8,\n colormap_size: data[offset++],\n origin: [data[offset++] | data[offset++] << 8, data[offset++] | data[offset++] << 8],\n width: data[offset++] | data[offset++] << 8,\n height: data[offset++] | data[offset++] << 8,\n pixel_size: data[offset++],\n flags: data[offset++]\n };\n return header;\n}\n/**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\nexport function UploadContent(texture, data) {\n // Not enough data to contain header ?\n if (data.length < 19) {\n Logger.Error(\"Unable to load TGA file - Not enough data to contain header\");\n return;\n }\n // Read Header\n let offset = 18;\n const header = GetTGAHeader(data);\n // Assume it's a valid Targa file.\n if (header.id_length + offset > data.length) {\n Logger.Error(\"Unable to load TGA file - Not enough data\");\n return;\n }\n // Skip not needed data\n offset += header.id_length;\n let use_rle = false;\n let use_pal = false;\n let use_grey = false;\n // Get some informations.\n switch (header.image_type) {\n case _TYPE_RLE_INDEXED:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_INDEXED:\n use_pal = true;\n break;\n case _TYPE_RLE_RGB:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_RGB:\n // use_rgb = true;\n break;\n case _TYPE_RLE_GREY:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_GREY:\n use_grey = true;\n break;\n }\n let pixel_data;\n // var numAlphaBits = header.flags & 0xf;\n const pixel_size = header.pixel_size >> 3;\n const pixel_total = header.width * header.height * pixel_size;\n // Read palettes\n let palettes;\n if (use_pal) {\n palettes = data.subarray(offset, offset += header.colormap_length * (header.colormap_size >> 3));\n }\n // Read LRE\n if (use_rle) {\n pixel_data = new Uint8Array(pixel_total);\n let c, count, i;\n let localOffset = 0;\n const pixels = new Uint8Array(pixel_size);\n while (offset < pixel_total && localOffset < pixel_total) {\n c = data[offset++];\n count = (c & 0x7f) + 1;\n // RLE pixels\n if (c & 0x80) {\n // Bind pixel tmp array\n for (i = 0; i < pixel_size; ++i) {\n pixels[i] = data[offset++];\n }\n // Copy pixel array\n for (i = 0; i < count; ++i) {\n pixel_data.set(pixels, localOffset + i * pixel_size);\n }\n localOffset += pixel_size * count;\n }\n // Raw pixels\n else {\n count *= pixel_size;\n for (i = 0; i < count; ++i) {\n pixel_data[localOffset + i] = data[offset++];\n }\n localOffset += count;\n }\n }\n }\n // RAW Pixels\n else {\n pixel_data = data.subarray(offset, offset += use_pal ? header.width * header.height : pixel_total);\n }\n // Load to texture\n let x_start, y_start, x_step, y_step, y_end, x_end;\n switch ((header.flags & _ORIGIN_MASK) >> _ORIGIN_SHIFT) {\n default:\n case _ORIGIN_UL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n case _ORIGIN_UR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n }\n // Load the specify method\n const func = \"_getImageData\" + (use_grey ? \"Grey\" : \"\") + header.pixel_size + \"bits\";\n const imageData = TGATools[func](header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end);\n const engine = texture.getEngine();\n engine._uploadDataToTextureDirectly(texture, imageData);\n}\n/**\n * @internal\n */\nfunction _getImageData8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data,\n colormap = palettes;\n const width = header.width,\n height = header.height;\n let color,\n i = 0,\n x,\n y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = colormap[color * 3 + 0];\n imageData[(x + width * y) * 4 + 1] = colormap[color * 3 + 1];\n imageData[(x + width * y) * 4 + 0] = colormap[color * 3 + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width,\n height = header.height;\n let color,\n i = 0,\n x,\n y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n color = image[i + 0] + (image[i + 1] << 8); // Inversed ?\n const r = ((color & 0x7c00) >> 10) * 255 / 0x1f | 0;\n const g = ((color & 0x03e0) >> 5) * 255 / 0x1f | 0;\n const b = (color & 0x001f) * 255 / 0x1f | 0;\n imageData[(x + width * y) * 4 + 0] = r;\n imageData[(x + width * y) * 4 + 1] = g;\n imageData[(x + width * y) * 4 + 2] = b;\n imageData[(x + width * y) * 4 + 3] = color & 0x8000 ? 0 : 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData24bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width,\n height = header.height;\n let i = 0,\n x,\n y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 3) {\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData32bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width,\n height = header.height;\n let i = 0,\n x,\n y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 4) {\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n imageData[(x + width * y) * 4 + 3] = image[i + 3];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width,\n height = header.height;\n let color,\n i = 0,\n x,\n y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 0] = color;\n imageData[(x + width * y) * 4 + 1] = color;\n imageData[(x + width * y) * 4 + 2] = color;\n imageData[(x + width * y) * 4 + 3] = 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width,\n height = header.height;\n let i = 0,\n x,\n y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n imageData[(x + width * y) * 4 + 0] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 0];\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 3] = image[i + 1];\n }\n }\n return imageData;\n}\n/**\n * Based on jsTGALoader - Javascript loader for TGA file\n * By Vincent Thibault\n * @see http://blog.robrowser.com/javascript-tga-loader.html\n */\nexport const TGATools = {\n /**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\n GetTGAHeader,\n /**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\n UploadContent,\n /** @internal */\n _getImageData8bits,\n /** @internal */\n _getImageData16bits,\n /** @internal */\n _getImageData24bits,\n /** @internal */\n _getImageData32bits,\n /** @internal */\n _getImageDataGrey8bits,\n /** @internal */\n _getImageDataGrey16bits\n};","map":{"version":3,"names":["Logger","_TYPE_INDEXED","_TYPE_RGB","_TYPE_GREY","_TYPE_RLE_INDEXED","_TYPE_RLE_RGB","_TYPE_RLE_GREY","_ORIGIN_MASK","_ORIGIN_SHIFT","_ORIGIN_BL","_ORIGIN_BR","_ORIGIN_UL","_ORIGIN_UR","GetTGAHeader","data","offset","header","id_length","colormap_type","image_type","colormap_index","colormap_length","colormap_size","origin","width","height","pixel_size","flags","UploadContent","texture","length","Error","use_rle","use_pal","use_grey","pixel_data","pixel_total","palettes","subarray","Uint8Array","c","count","i","localOffset","pixels","set","x_start","y_start","x_step","y_step","y_end","x_end","func","imageData","TGATools","engine","getEngine","_uploadDataToTextureDirectly","_getImageData8bits","image","colormap","color","x","y","_getImageData16bits","r","g","b","_getImageData24bits","_getImageData32bits","_getImageDataGrey8bits","_getImageDataGrey16bits"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Misc/tga.js"],"sourcesContent":["import { Logger } from \"../Misc/logger.js\";\n//private static _TYPE_NO_DATA = 0;\nconst _TYPE_INDEXED = 1;\nconst _TYPE_RGB = 2;\nconst _TYPE_GREY = 3;\nconst _TYPE_RLE_INDEXED = 9;\nconst _TYPE_RLE_RGB = 10;\nconst _TYPE_RLE_GREY = 11;\nconst _ORIGIN_MASK = 0x30;\nconst _ORIGIN_SHIFT = 0x04;\nconst _ORIGIN_BL = 0x00;\nconst _ORIGIN_BR = 0x01;\nconst _ORIGIN_UL = 0x02;\nconst _ORIGIN_UR = 0x03;\n/**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\nexport function GetTGAHeader(data) {\n let offset = 0;\n const header = {\n id_length: data[offset++],\n colormap_type: data[offset++],\n image_type: data[offset++],\n colormap_index: data[offset++] | (data[offset++] << 8),\n colormap_length: data[offset++] | (data[offset++] << 8),\n colormap_size: data[offset++],\n origin: [data[offset++] | (data[offset++] << 8), data[offset++] | (data[offset++] << 8)],\n width: data[offset++] | (data[offset++] << 8),\n height: data[offset++] | (data[offset++] << 8),\n pixel_size: data[offset++],\n flags: data[offset++],\n };\n return header;\n}\n/**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\nexport function UploadContent(texture, data) {\n // Not enough data to contain header ?\n if (data.length < 19) {\n Logger.Error(\"Unable to load TGA file - Not enough data to contain header\");\n return;\n }\n // Read Header\n let offset = 18;\n const header = GetTGAHeader(data);\n // Assume it's a valid Targa file.\n if (header.id_length + offset > data.length) {\n Logger.Error(\"Unable to load TGA file - Not enough data\");\n return;\n }\n // Skip not needed data\n offset += header.id_length;\n let use_rle = false;\n let use_pal = false;\n let use_grey = false;\n // Get some informations.\n switch (header.image_type) {\n case _TYPE_RLE_INDEXED:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_INDEXED:\n use_pal = true;\n break;\n case _TYPE_RLE_RGB:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_RGB:\n // use_rgb = true;\n break;\n case _TYPE_RLE_GREY:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_GREY:\n use_grey = true;\n break;\n }\n let pixel_data;\n // var numAlphaBits = header.flags & 0xf;\n const pixel_size = header.pixel_size >> 3;\n const pixel_total = header.width * header.height * pixel_size;\n // Read palettes\n let palettes;\n if (use_pal) {\n palettes = data.subarray(offset, (offset += header.colormap_length * (header.colormap_size >> 3)));\n }\n // Read LRE\n if (use_rle) {\n pixel_data = new Uint8Array(pixel_total);\n let c, count, i;\n let localOffset = 0;\n const pixels = new Uint8Array(pixel_size);\n while (offset < pixel_total && localOffset < pixel_total) {\n c = data[offset++];\n count = (c & 0x7f) + 1;\n // RLE pixels\n if (c & 0x80) {\n // Bind pixel tmp array\n for (i = 0; i < pixel_size; ++i) {\n pixels[i] = data[offset++];\n }\n // Copy pixel array\n for (i = 0; i < count; ++i) {\n pixel_data.set(pixels, localOffset + i * pixel_size);\n }\n localOffset += pixel_size * count;\n }\n // Raw pixels\n else {\n count *= pixel_size;\n for (i = 0; i < count; ++i) {\n pixel_data[localOffset + i] = data[offset++];\n }\n localOffset += count;\n }\n }\n }\n // RAW Pixels\n else {\n pixel_data = data.subarray(offset, (offset += use_pal ? header.width * header.height : pixel_total));\n }\n // Load to texture\n let x_start, y_start, x_step, y_step, y_end, x_end;\n switch ((header.flags & _ORIGIN_MASK) >> _ORIGIN_SHIFT) {\n default:\n case _ORIGIN_UL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n case _ORIGIN_UR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n }\n // Load the specify method\n const func = \"_getImageData\" + (use_grey ? \"Grey\" : \"\") + header.pixel_size + \"bits\";\n const imageData = TGATools[func](header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end);\n const engine = texture.getEngine();\n engine._uploadDataToTextureDirectly(texture, imageData);\n}\n/**\n * @internal\n */\nfunction _getImageData8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data, colormap = palettes;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = colormap[color * 3 + 0];\n imageData[(x + width * y) * 4 + 1] = colormap[color * 3 + 1];\n imageData[(x + width * y) * 4 + 0] = colormap[color * 3 + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n color = image[i + 0] + (image[i + 1] << 8); // Inversed ?\n const r = ((((color & 0x7c00) >> 10) * 255) / 0x1f) | 0;\n const g = ((((color & 0x03e0) >> 5) * 255) / 0x1f) | 0;\n const b = (((color & 0x001f) * 255) / 0x1f) | 0;\n imageData[(x + width * y) * 4 + 0] = r;\n imageData[(x + width * y) * 4 + 1] = g;\n imageData[(x + width * y) * 4 + 2] = b;\n imageData[(x + width * y) * 4 + 3] = color & 0x8000 ? 0 : 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData24bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 3) {\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData32bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 4) {\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n imageData[(x + width * y) * 4 + 3] = image[i + 3];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 0] = color;\n imageData[(x + width * y) * 4 + 1] = color;\n imageData[(x + width * y) * 4 + 2] = color;\n imageData[(x + width * y) * 4 + 3] = 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n imageData[(x + width * y) * 4 + 0] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 0];\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 3] = image[i + 1];\n }\n }\n return imageData;\n}\n/**\n * Based on jsTGALoader - Javascript loader for TGA file\n * By Vincent Thibault\n * @see http://blog.robrowser.com/javascript-tga-loader.html\n */\nexport const TGATools = {\n /**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\n GetTGAHeader,\n /**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\n UploadContent,\n /** @internal */\n _getImageData8bits,\n /** @internal */\n _getImageData16bits,\n /** @internal */\n _getImageData24bits,\n /** @internal */\n _getImageData32bits,\n /** @internal */\n _getImageDataGrey8bits,\n /** @internal */\n _getImageDataGrey16bits,\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}