UNPKG

@pixi/core

Version:
1 lines 8.88 kB
{"version":3,"file":"mapTypeAndFormatToInternalFormat.js","sources":["../../../src/textures/utils/mapTypeAndFormatToInternalFormat.ts"],"sourcesContent":["import { FORMATS, TYPES } from '@pixi/constants';\n\n/**\n * Returns a lookup table that maps each type-format pair to a compatible internal format.\n * @memberof PIXI\n * @function mapTypeAndFormatToInternalFormat\n * @private\n * @param {WebGLRenderingContext} gl - The rendering context.\n * @returns Lookup table.\n */\nexport function mapTypeAndFormatToInternalFormat(gl: WebGLRenderingContextBase):\n{ [type: number]: { [format: number]: number } }\n{\n let table;\n\n if ('WebGL2RenderingContext' in globalThis && gl instanceof globalThis.WebGL2RenderingContext)\n {\n table = {\n [TYPES.UNSIGNED_BYTE]: {\n [FORMATS.RGBA]: gl.RGBA8,\n [FORMATS.RGB]: gl.RGB8,\n [FORMATS.RG]: gl.RG8,\n [FORMATS.RED]: gl.R8,\n [FORMATS.RGBA_INTEGER]: gl.RGBA8UI,\n [FORMATS.RGB_INTEGER]: gl.RGB8UI,\n [FORMATS.RG_INTEGER]: gl.RG8UI,\n [FORMATS.RED_INTEGER]: gl.R8UI,\n [FORMATS.ALPHA]: gl.ALPHA,\n [FORMATS.LUMINANCE]: gl.LUMINANCE,\n [FORMATS.LUMINANCE_ALPHA]: gl.LUMINANCE_ALPHA,\n },\n [TYPES.BYTE]: {\n [FORMATS.RGBA]: gl.RGBA8_SNORM,\n [FORMATS.RGB]: gl.RGB8_SNORM,\n [FORMATS.RG]: gl.RG8_SNORM,\n [FORMATS.RED]: gl.R8_SNORM,\n [FORMATS.RGBA_INTEGER]: gl.RGBA8I,\n [FORMATS.RGB_INTEGER]: gl.RGB8I,\n [FORMATS.RG_INTEGER]: gl.RG8I,\n [FORMATS.RED_INTEGER]: gl.R8I,\n },\n [TYPES.UNSIGNED_SHORT]: {\n [FORMATS.RGBA_INTEGER]: gl.RGBA16UI,\n [FORMATS.RGB_INTEGER]: gl.RGB16UI,\n [FORMATS.RG_INTEGER]: gl.RG16UI,\n [FORMATS.RED_INTEGER]: gl.R16UI,\n [FORMATS.DEPTH_COMPONENT]: gl.DEPTH_COMPONENT16,\n },\n [TYPES.SHORT]: {\n [FORMATS.RGBA_INTEGER]: gl.RGBA16I,\n [FORMATS.RGB_INTEGER]: gl.RGB16I,\n [FORMATS.RG_INTEGER]: gl.RG16I,\n [FORMATS.RED_INTEGER]: gl.R16I,\n },\n [TYPES.UNSIGNED_INT]: {\n [FORMATS.RGBA_INTEGER]: gl.RGBA32UI,\n [FORMATS.RGB_INTEGER]: gl.RGB32UI,\n [FORMATS.RG_INTEGER]: gl.RG32UI,\n [FORMATS.RED_INTEGER]: gl.R32UI,\n [FORMATS.DEPTH_COMPONENT]: gl.DEPTH_COMPONENT24,\n },\n [TYPES.INT]: {\n [FORMATS.RGBA_INTEGER]: gl.RGBA32I,\n [FORMATS.RGB_INTEGER]: gl.RGB32I,\n [FORMATS.RG_INTEGER]: gl.RG32I,\n [FORMATS.RED_INTEGER]: gl.R32I,\n },\n [TYPES.FLOAT]: {\n [FORMATS.RGBA]: gl.RGBA32F,\n [FORMATS.RGB]: gl.RGB32F,\n [FORMATS.RG]: gl.RG32F,\n [FORMATS.RED]: gl.R32F,\n [FORMATS.DEPTH_COMPONENT]: gl.DEPTH_COMPONENT32F,\n },\n [TYPES.HALF_FLOAT]: {\n [FORMATS.RGBA]: gl.RGBA16F,\n [FORMATS.RGB]: gl.RGB16F,\n [FORMATS.RG]: gl.RG16F,\n [FORMATS.RED]: gl.R16F,\n },\n [TYPES.UNSIGNED_SHORT_5_6_5]: {\n [FORMATS.RGB]: gl.RGB565,\n },\n [TYPES.UNSIGNED_SHORT_4_4_4_4]: {\n [FORMATS.RGBA]: gl.RGBA4,\n },\n [TYPES.UNSIGNED_SHORT_5_5_5_1]: {\n [FORMATS.RGBA]: gl.RGB5_A1,\n },\n [TYPES.UNSIGNED_INT_2_10_10_10_REV]: {\n [FORMATS.RGBA]: gl.RGB10_A2,\n [FORMATS.RGBA_INTEGER]: gl.RGB10_A2UI,\n },\n [TYPES.UNSIGNED_INT_10F_11F_11F_REV]: {\n [FORMATS.RGB]: gl.R11F_G11F_B10F,\n },\n [TYPES.UNSIGNED_INT_5_9_9_9_REV]: {\n [FORMATS.RGB]: gl.RGB9_E5,\n },\n [TYPES.UNSIGNED_INT_24_8]: {\n [FORMATS.DEPTH_STENCIL]: gl.DEPTH24_STENCIL8,\n },\n [TYPES.FLOAT_32_UNSIGNED_INT_24_8_REV]: {\n [FORMATS.DEPTH_STENCIL]: gl.DEPTH32F_STENCIL8,\n },\n };\n }\n else\n {\n table = {\n [TYPES.UNSIGNED_BYTE]: {\n [FORMATS.RGBA]: gl.RGBA,\n [FORMATS.RGB]: gl.RGB,\n [FORMATS.ALPHA]: gl.ALPHA,\n [FORMATS.LUMINANCE]: gl.LUMINANCE,\n [FORMATS.LUMINANCE_ALPHA]: gl.LUMINANCE_ALPHA,\n },\n [TYPES.UNSIGNED_SHORT_5_6_5]: {\n [FORMATS.RGB]: gl.RGB,\n },\n [TYPES.UNSIGNED_SHORT_4_4_4_4]: {\n [FORMATS.RGBA]: gl.RGBA,\n },\n [TYPES.UNSIGNED_SHORT_5_5_5_1]: {\n [FORMATS.RGBA]: gl.RGBA,\n },\n };\n }\n\n return table;\n}\n"],"names":["TYPES","FORMATS"],"mappings":"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"}