/** * Different types of environments for WebGL. * * @static * @memberof PIXI * @name ENV * @enum {number} * @property {number} WEBGL_LEGACY - Used for older v1 WebGL devices. PixiJS will aim to ensure compatibility * with older / less advanced devices. If you experience unexplained flickering prefer this environment. * @property {number} WEBGL - Version 1 of WebGL * @property {number} WEBGL2 - Version 2 of WebGL */ export const ENV = { WEBGL_LEGACY: 0, WEBGL: 1, WEBGL2: 2, }; /** * Constant to identify the Renderer Type. * * @static * @memberof PIXI * @name RENDERER_TYPE * @enum {number} * @property {number} UNKNOWN - Unknown render type. * @property {number} WEBGL - WebGL render type. * @property {number} CANVAS - Canvas render type. */ export const RENDERER_TYPE = { UNKNOWN: 0, WEBGL: 1, CANVAS: 2, }; /** * Various blend modes supported by PIXI. * * IMPORTANT - The WebGL renderer only supports the NORMAL, ADD, MULTIPLY and SCREEN blend modes. * Anything else will silently act like NORMAL. * * @memberof PIXI * @name BLEND_MODES * @enum {number} * @property {number} NORMAL * @property {number} ADD * @property {number} MULTIPLY * @property {number} SCREEN * @property {number} OVERLAY * @property {number} DARKEN * @property {number} LIGHTEN * @property {number} COLOR_DODGE * @property {number} COLOR_BURN * @property {number} HARD_LIGHT * @property {number} SOFT_LIGHT * @property {number} DIFFERENCE * @property {number} EXCLUSION * @property {number} HUE * @property {number} SATURATION * @property {number} COLOR * @property {number} LUMINOSITY * @property {number} NORMAL_NPM * @property {number} ADD_NPM * @property {number} SCREEN_NPM * @property {number} NONE * @property {number} SRC_IN * @property {number} SRC_OUT * @property {number} SRC_ATOP * @property {number} DST_OVER * @property {number} DST_IN * @property {number} DST_OUT * @property {number} DST_ATOP * @property {number} SUBTRACT * @property {number} SRC_OVER * @property {number} ERASE */ export const BLEND_MODES = { NORMAL: 0, ADD: 1, MULTIPLY: 2, SCREEN: 3, OVERLAY: 4, DARKEN: 5, LIGHTEN: 6, COLOR_DODGE: 7, COLOR_BURN: 8, HARD_LIGHT: 9, SOFT_LIGHT: 10, DIFFERENCE: 11, EXCLUSION: 12, HUE: 13, SATURATION: 14, COLOR: 15, LUMINOSITY: 16, NORMAL_NPM: 17, ADD_NPM: 18, SCREEN_NPM: 19, NONE: 20, SRC_OVER: 0, SRC_IN: 21, SRC_OUT: 22, SRC_ATOP: 23, DST_OVER: 24, DST_IN: 25, DST_OUT: 26, DST_ATOP: 27, ERASE: 26, SUBTRACT: 28, }; /** * Various webgl draw modes. These can be used to specify which GL drawMode to use * under certain situations and renderers. * * @memberof PIXI * @static * @name DRAW_MODES * @enum {number} * @property {number} POINTS * @property {number} LINES * @property {number} LINE_LOOP * @property {number} LINE_STRIP * @property {number} TRIANGLES * @property {number} TRIANGLE_STRIP * @property {number} TRIANGLE_FAN */ export const DRAW_MODES = { POINTS: 0, LINES: 1, LINE_LOOP: 2, LINE_STRIP: 3, TRIANGLES: 4, TRIANGLE_STRIP: 5, TRIANGLE_FAN: 6, }; /** * Various GL texture/resources formats. * * @memberof PIXI * @static * @name FORMATS * @enum {number} * @property {number} RGBA=6408 * @property {number} RGB=6407 * @property {number} ALPHA=6406 * @property {number} LUMINANCE=6409 * @property {number} LUMINANCE_ALPHA=6410 * @property {number} DEPTH_COMPONENT=6402 * @property {number} DEPTH_STENCIL=34041 */ export const FORMATS = { RGBA: 6408, RGB: 6407, ALPHA: 6406, LUMINANCE: 6409, LUMINANCE_ALPHA: 6410, DEPTH_COMPONENT: 6402, DEPTH_STENCIL: 34041, }; /** * Various GL floating point texture internal formats * * @memberof PIXI * @static * @name FLOAT_FORMATS * @enum {number} * @property {number} RGBA32F = 0x8814 * @property {number} RGBA32F_ARB = 0x8814 * @property {number} RGBA_FLOAT32_ATI = 0x8814 * @property {number} RGB32F = 0x8815 * @property {number} RGB32F_ARB = 0x8815 * @property {number} RGB_FLOAT32_ATI = 0x8815 * @property {number} ALPHA32F_ARB = 0x8816 * @property {number} ALPHA_FLOAT32_ATI = 0x8816 * @property {number} INTENSITY32F_ARB = 0x8817 * @property {number} INTENSITY_FLOAT32_ATI = 0x8817 * @property {number} LUMINANCE32F_ARB = 0x8818 * @property {number} LUMINANCE_FLOAT32_ATI = 0x8818 * @property {number} LUMINANCE_ALPHA32F_ARB = 0x8819 * @property {number} LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819 * @property {number} RGBA16F = 0x881A * @property {number} RGBA16F_ARB = 0x881A * @property {number} RGBA_FLOAT16_ATI = 0x881A * @property {number} RGB16F = 0x881B * @property {number} RGB16F_ARB = 0x881B * @property {number} RGB_FLOAT16_ATI = 0x881B * @property {number} ALPHA16F_ARB = 0x881C * @property {number} ALPHA_FLOAT16_ATI = 0x881C * @property {number} INTENSITY16F_ARB = 0x881D * @property {number} INTENSITY_FLOAT16_ATI = 0x881D * @property {number} LUMINANCE16F_ARB = 0x881E * @property {number} LUMINANCE_FLOAT16_ATI = 0x881E * @property {number} LUMINANCE_ALPHA16F_ARB = 0x881F * @property {number} LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F */ export const FLOAT_FORMATS = { RGBA32F : 0x8814, RGBA32F_ARB : 0x8814, RGBA_FLOAT32_ATI : 0x8814, RGB32F : 0x8815, RGB32F_ARB : 0x8815, RGB_FLOAT32_ATI : 0x8815, ALPHA32F_ARB : 0x8816, ALPHA_FLOAT32_ATI : 0x8816, INTENSITY32F_ARB : 0x8817, INTENSITY_FLOAT32_ATI : 0x8817, LUMINANCE32F_ARB : 0x8818, LUMINANCE_FLOAT32_ATI : 0x8818, LUMINANCE_ALPHA32F_ARB : 0x8819, LUMINANCE_ALPHA_FLOAT32_ATI : 0x8819, RGBA16F : 0x881A, RGBA16F_ARB : 0x881A, RGBA_FLOAT16_ATI : 0x881A, RGB16F : 0x881B, RGB16F_ARB : 0x881B, RGB_FLOAT16_ATI : 0x881B, ALPHA16F_ARB : 0x881C, ALPHA_FLOAT16_ATI : 0x881C, INTENSITY16F_ARB : 0x881D, INTENSITY_FLOAT16_ATI : 0x881D, LUMINANCE16F_ARB : 0x881E, LUMINANCE_FLOAT16_ATI : 0x881E, LUMINANCE_ALPHA16F_ARB : 0x881F, LUMINANCE_ALPHA_FLOAT16_ATI : 0x881F, }; /** * Various GL target types. * * @memberof PIXI * @static * @name TARGETS * @enum {number} * @property {number} TEXTURE_2D=3553 * @property {number} TEXTURE_CUBE_MAP=34067 * @property {number} TEXTURE_2D_ARRAY=35866 * @property {number} TEXTURE_CUBE_MAP_POSITIVE_X=34069 * @property {number} TEXTURE_CUBE_MAP_NEGATIVE_X=34070 * @property {number} TEXTURE_CUBE_MAP_POSITIVE_Y=34071 * @property {number} TEXTURE_CUBE_MAP_NEGATIVE_Y=34072 * @property {number} TEXTURE_CUBE_MAP_POSITIVE_Z=34073 * @property {number} TEXTURE_CUBE_MAP_NEGATIVE_Z=34074 */ export const TARGETS = { TEXTURE_2D: 3553, TEXTURE_CUBE_MAP: 34067, TEXTURE_2D_ARRAY: 35866, TEXTURE_CUBE_MAP_POSITIVE_X: 34069, TEXTURE_CUBE_MAP_NEGATIVE_X: 34070, TEXTURE_CUBE_MAP_POSITIVE_Y: 34071, TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072, TEXTURE_CUBE_MAP_POSITIVE_Z: 34073, TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074, }; /** * Various GL data format types. * * @memberof PIXI * @static * @name TYPES * @enum {number} * @property {number} UNSIGNED_BYTE=5121 * @property {number} UNSIGNED_SHORT=5123 * @property {number} UNSIGNED_SHORT_5_6_5=33635 * @property {number} UNSIGNED_SHORT_4_4_4_4=32819 * @property {number} UNSIGNED_SHORT_5_5_5_1=32820 * @property {number} FLOAT=5126 * @property {number} HALF_FLOAT=36193 */ export const TYPES = { UNSIGNED_BYTE: 5121, UNSIGNED_SHORT: 5123, UNSIGNED_SHORT_5_6_5: 33635, UNSIGNED_SHORT_4_4_4_4: 32819, UNSIGNED_SHORT_5_5_5_1: 32820, FLOAT: 5126, HALF_FLOAT: 36193, }; /** * The scale modes that are supported by pixi. * * The {@link PIXI.settings.SCALE_MODE} scale mode affects the default scaling mode of future operations. * It can be re-assigned to either LINEAR or NEAREST, depending upon suitability. * * @memberof PIXI * @static * @name SCALE_MODES * @enum {number} * @property {number} LINEAR Smooth scaling * @property {number} NEAREST Pixelating scaling */ export const SCALE_MODES = { LINEAR: 1, NEAREST: 0, }; /** * The wrap modes that are supported by pixi. * * The {@link PIXI.settings.WRAP_MODE} wrap mode affects the default wrapping mode of future operations. * It can be re-assigned to either CLAMP or REPEAT, depending upon suitability. * If the texture is non power of two then clamp will be used regardless as WebGL can * only use REPEAT if the texture is po2. * * This property only affects WebGL. * * @name WRAP_MODES * @memberof PIXI * @static * @enum {number} * @property {number} CLAMP - The textures uvs are clamped * @property {number} REPEAT - The texture uvs tile and repeat * @property {number} MIRRORED_REPEAT - The texture uvs tile and repeat with mirroring */ export const WRAP_MODES = { CLAMP: 33071, REPEAT: 10497, MIRRORED_REPEAT: 33648, }; /** * Mipmap filtering modes that are supported by pixi. * * The {@link PIXI.settings.MIPMAP_TEXTURES} affects default texture filtering. * Mipmaps are generated for a baseTexture if its `mipmap` field is `ON`, * or its `POW2` and texture dimensions are powers of 2. * Due to platform restriction, `ON` option will work like `POW2` for webgl-1. * * This property only affects WebGL. * * @name MIPMAP_MODES * @memberof PIXI * @static * @enum {number} * @property {number} OFF - No mipmaps * @property {number} POW2 - Generate mipmaps if texture dimensions are pow2 * @property {number} ON - Always generate mipmaps */ export const MIPMAP_MODES = { OFF: 0, POW2: 1, ON: 2, }; /** * The gc modes that are supported by pixi. * * The {@link PIXI.settings.GC_MODE} Garbage Collection mode for PixiJS textures is AUTO * If set to GC_MODE, the renderer will occasionally check textures usage. If they are not * used for a specified period of time they will be removed from the GPU. They will of course * be uploaded again when they are required. This is a silent behind the scenes process that * should ensure that the GPU does not get filled up. * * Handy for mobile devices! * This property only affects WebGL. * * @name GC_MODES * @enum {number} * @static * @memberof PIXI * @property {number} AUTO - Garbage collection will happen periodically automatically * @property {number} MANUAL - Garbage collection will need to be called manually */ export const GC_MODES = { AUTO: 0, MANUAL: 1, }; /** * Constants that specify float precision in shaders. * * @name PRECISION * @memberof PIXI * @static * @enum {string} * @constant * @property {string} LOW='lowp' * @property {string} MEDIUM='mediump' * @property {string} HIGH='highp' */ export const PRECISION = { LOW: 'lowp', MEDIUM: 'mediump', HIGH: 'highp', };