pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 6.3 kB
Source Map (JSON)
{"version":3,"file":"glUploadCompressedTextureResource.mjs","sources":["../../../../../../src/rendering/renderers/gl/texture/uploaders/glUploadCompressedTextureResource.ts"],"sourcesContent":["import type { CompressedSource } from '../../../shared/texture/sources/CompressedSource';\nimport type { GlRenderingContext } from '../../context/GlRenderingContext';\nimport type { GlTexture } from '../GlTexture';\nimport type { GLTextureUploader } from './GLTextureUploader';\n\nconst compressedFormatMap: Record<string, boolean> = {\n 'bc1-rgba-unorm': true,\n 'bc1-rgba-unorm-srgb': true,\n 'bc2-rgba-unorm': true,\n 'bc2-rgba-unorm-srgb': true,\n 'bc3-rgba-unorm': true,\n 'bc3-rgba-unorm-srgb': true,\n 'bc4-r-unorm': true,\n 'bc4-r-snorm': true,\n 'bc5-rg-unorm': true,\n 'bc5-rg-snorm': true,\n 'bc6h-rgb-ufloat': true,\n 'bc6h-rgb-float': true,\n 'bc7-rgba-unorm': true,\n 'bc7-rgba-unorm-srgb': true,\n\n // ETC2 compressed formats usable if \"texture-compression-etc2\" is both\n // supported by the device/user agent and enabled in requestDevice.\n 'etc2-rgb8unorm': true,\n 'etc2-rgb8unorm-srgb': true,\n 'etc2-rgb8a1unorm': true,\n 'etc2-rgb8a1unorm-srgb': true,\n 'etc2-rgba8unorm': true,\n 'etc2-rgba8unorm-srgb': true,\n 'eac-r11unorm': true,\n 'eac-r11snorm': true,\n 'eac-rg11unorm': true,\n 'eac-rg11snorm': true,\n\n // ASTC compressed formats usable if \"texture-compression-astc\" is both\n // supported by the device/user agent and enabled in requestDevice.\n 'astc-4x4-unorm': true,\n 'astc-4x4-unorm-srgb': true,\n 'astc-5x4-unorm': true,\n 'astc-5x4-unorm-srgb': true,\n 'astc-5x5-unorm': true,\n 'astc-5x5-unorm-srgb': true,\n 'astc-6x5-unorm': true,\n 'astc-6x5-unorm-srgb': true,\n 'astc-6x6-unorm': true,\n 'astc-6x6-unorm-srgb': true,\n 'astc-8x5-unorm': true,\n 'astc-8x5-unorm-srgb': true,\n 'astc-8x6-unorm': true,\n 'astc-8x6-unorm-srgb': true,\n 'astc-8x8-unorm': true,\n 'astc-8x8-unorm-srgb': true,\n 'astc-10x5-unorm': true,\n 'astc-10x5-unorm-srgb': true,\n 'astc-10x6-unorm': true,\n 'astc-10x6-unorm-srgb': true,\n 'astc-10x8-unorm': true,\n 'astc-10x8-unorm-srgb': true,\n 'astc-10x10-unorm': true,\n 'astc-10x10-unorm-srgb': true,\n 'astc-12x10-unorm': true,\n 'astc-12x10-unorm-srgb': true,\n 'astc-12x12-unorm': true,\n 'astc-12x12-unorm-srgb': true,\n};\n\n/** @internal */\nexport const glUploadCompressedTextureResource = {\n\n id: 'compressed',\n\n upload(source: CompressedSource, glTexture: GlTexture, gl: GlRenderingContext)\n {\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, 4);\n\n let mipWidth = source.pixelWidth;\n let mipHeight = source.pixelHeight;\n\n const compressed = !!compressedFormatMap[source.format];\n\n for (let i = 0; i < source.resource.length; i++)\n {\n const levelBuffer = source.resource[i];\n\n if (compressed)\n {\n gl.compressedTexImage2D(\n gl.TEXTURE_2D, i, glTexture.internalFormat,\n mipWidth, mipHeight, 0,\n levelBuffer\n );\n }\n else\n {\n gl.texImage2D(\n gl.TEXTURE_2D, i, glTexture.internalFormat,\n mipWidth, mipHeight, 0,\n glTexture.format, glTexture.type,\n levelBuffer);\n }\n\n mipWidth = Math.max(mipWidth >> 1, 1);\n mipHeight = Math.max(mipHeight >> 1, 1);\n }\n }\n} as GLTextureUploader;\n\n"],"names":[],"mappings":"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"}