UNPKG

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 11.8 kB
{"version":3,"file":"mapFormatToGlInternalFormat.mjs","sources":["../../../../../../src/rendering/renderers/gl/texture/utils/mapFormatToGlInternalFormat.ts"],"sourcesContent":["import { DOMAdapter } from '../../../../../environment/adapter';\n\nimport type { GlRenderingContext } from '../../context/GlRenderingContext';\nimport type { WebGLExtensions } from '../../context/WebGLExtensions';\n\n/**\n * Returns a lookup table that maps each type-format pair to a compatible internal format.\n * @function mapTypeAndFormatToInternalFormat\n * @private\n * @param gl - The rendering context.\n * @param extensions - The WebGL extensions.\n * @returns Lookup table.\n */\nexport function mapFormatToGlInternalFormat(\n gl: GlRenderingContext,\n extensions: WebGLExtensions,\n): Record<string, number>\n{\n let srgb = {};\n let bgra8unorm: number = gl.RGBA;\n\n if (!(gl instanceof DOMAdapter.get().getWebGLRenderingContext()))\n {\n srgb = {\n 'rgba8unorm-srgb': gl.SRGB8_ALPHA8,\n 'bgra8unorm-srgb': gl.SRGB8_ALPHA8,\n };\n\n bgra8unorm = gl.RGBA8;\n }\n else if (extensions.srgb)\n {\n srgb = {\n 'rgba8unorm-srgb': extensions.srgb.SRGB8_ALPHA8_EXT,\n 'bgra8unorm-srgb': extensions.srgb.SRGB8_ALPHA8_EXT,\n };\n }\n\n return {\n // 8-bit formats\n r8unorm: gl.R8,\n r8snorm: gl.R8_SNORM,\n r8uint: gl.R8UI,\n r8sint: gl.R8I,\n\n // 16-bit formats\n r16uint: gl.R16UI,\n r16sint: gl.R16I,\n r16float: gl.R16F,\n rg8unorm: gl.RG8,\n rg8snorm: gl.RG8_SNORM,\n rg8uint: gl.RG8UI,\n rg8sint: gl.RG8I,\n\n // 32-bit formats\n r32uint: gl.R32UI,\n r32sint: gl.R32I,\n r32float: gl.R32F,\n rg16uint: gl.RG16UI,\n rg16sint: gl.RG16I,\n rg16float: gl.RG16F,\n rgba8unorm: gl.RGBA,\n\n ...srgb,\n\n // Packed 32-bit formats\n rgba8snorm: gl.RGBA8_SNORM,\n rgba8uint: gl.RGBA8UI,\n rgba8sint: gl.RGBA8I,\n bgra8unorm,\n rgb9e5ufloat: gl.RGB9_E5,\n rgb10a2unorm: gl.RGB10_A2,\n rg11b10ufloat: gl.R11F_G11F_B10F,\n\n // 64-bit formats\n rg32uint: gl.RG32UI,\n rg32sint: gl.RG32I,\n rg32float: gl.RG32F,\n rgba16uint: gl.RGBA16UI,\n rgba16sint: gl.RGBA16I,\n rgba16float: gl.RGBA16F,\n\n // 128-bit formats\n rgba32uint: gl.RGBA32UI,\n rgba32sint: gl.RGBA32I,\n rgba32float: gl.RGBA32F,\n\n // Depth/stencil formats\n stencil8: gl.STENCIL_INDEX8,\n depth16unorm: gl.DEPTH_COMPONENT16,\n depth24plus: gl.DEPTH_COMPONENT24,\n 'depth24plus-stencil8': gl.DEPTH24_STENCIL8,\n depth32float: gl.DEPTH_COMPONENT32F,\n 'depth32float-stencil8': gl.DEPTH32F_STENCIL8,\n\n // Compressed formats\n ...extensions.s3tc ? {\n 'bc1-rgba-unorm': extensions.s3tc.COMPRESSED_RGBA_S3TC_DXT1_EXT,\n 'bc2-rgba-unorm': extensions.s3tc.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n 'bc3-rgba-unorm': extensions.s3tc.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n } : {},\n ...extensions.s3tc_sRGB ? {\n 'bc1-rgba-unorm-srgb': extensions.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,\n 'bc2-rgba-unorm-srgb': extensions.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,\n 'bc3-rgba-unorm-srgb': extensions.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,\n } : {},\n ...extensions.rgtc ? {\n 'bc4-r-unorm': extensions.rgtc.COMPRESSED_RED_RGTC1_EXT,\n 'bc4-r-snorm': extensions.rgtc.COMPRESSED_SIGNED_RED_RGTC1_EXT,\n 'bc5-rg-unorm': extensions.rgtc.COMPRESSED_RED_GREEN_RGTC2_EXT,\n 'bc5-rg-snorm': extensions.rgtc.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,\n } : {},\n ...extensions.bptc ? {\n 'bc6h-rgb-float': extensions.bptc.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,\n 'bc6h-rgb-ufloat': extensions.bptc.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,\n 'bc7-rgba-unorm': extensions.bptc.COMPRESSED_RGBA_BPTC_UNORM_EXT,\n 'bc7-rgba-unorm-srgb': extensions.bptc.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,\n } : {},\n ...extensions.etc ? {\n 'etc2-rgb8unorm': extensions.etc.COMPRESSED_RGB8_ETC2,\n 'etc2-rgb8unorm-srgb': extensions.etc.COMPRESSED_SRGB8_ETC2,\n 'etc2-rgb8a1unorm': extensions.etc.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 'etc2-rgb8a1unorm-srgb': extensions.etc.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 'etc2-rgba8unorm': extensions.etc.COMPRESSED_RGBA8_ETC2_EAC,\n 'etc2-rgba8unorm-srgb': extensions.etc.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,\n 'eac-r11unorm': extensions.etc.COMPRESSED_R11_EAC,\n // 'eac-r11snorm'\n 'eac-rg11unorm': extensions.etc.COMPRESSED_SIGNED_RG11_EAC,\n // 'eac-rg11snorm'\n } : {},\n ...extensions.astc ? {\n 'astc-4x4-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_4x4_KHR,\n 'astc-4x4-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,\n 'astc-5x4-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_5x4_KHR,\n 'astc-5x4-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,\n 'astc-5x5-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_5x5_KHR,\n 'astc-5x5-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,\n 'astc-6x5-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_6x5_KHR,\n 'astc-6x5-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,\n 'astc-6x6-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_6x6_KHR,\n 'astc-6x6-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,\n 'astc-8x5-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_8x5_KHR,\n 'astc-8x5-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,\n 'astc-8x6-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_8x6_KHR,\n 'astc-8x6-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,\n 'astc-8x8-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_8x8_KHR,\n 'astc-8x8-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,\n 'astc-10x5-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_10x5_KHR,\n 'astc-10x5-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,\n 'astc-10x6-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_10x6_KHR,\n 'astc-10x6-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,\n 'astc-10x8-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_10x8_KHR,\n 'astc-10x8-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,\n 'astc-10x10-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_10x10_KHR,\n 'astc-10x10-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,\n 'astc-12x10-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_12x10_KHR,\n 'astc-12x10-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,\n 'astc-12x12-unorm': extensions.astc.COMPRESSED_RGBA_ASTC_12x12_KHR,\n 'astc-12x12-unorm-srgb': extensions.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,\n } : {},\n };\n}\n"],"names":[],"mappings":"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"}