/** * Different types of environments for WebGL. * * @static * @constant * @memberof PIXI * @name ENV * @type {object} * @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 * @constant * @memberof PIXI * @name RENDERER_TYPE * @type {object} * @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. * * @static * @constant * @memberof PIXI * @name BLEND_MODES * @type {object} * @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 */ 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, }; /** * Various webgl draw modes. These can be used to specify which GL drawMode to use * under certain situations and renderers. * * @static * @constant * @memberof PIXI * @name DRAW_MODES * @type {object} * @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. * * @static * @constant * @memberof PIXI * @name FORMATS * @type {object} * @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 target types. * * @static * @constant * @memberof PIXI * @name TARGETS * @type {object} * @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. * * @static * @constant * @memberof PIXI * @name TYPES * @type {object} * @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. * * @static * @constant * @memberof PIXI * @name SCALE_MODES * @type {object} * @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. * * @static * @constant * @name WRAP_MODES * @memberof PIXI * @type {object} * @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, }; /** * 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. * * @static * @constant * @name GC_MODES * @memberof PIXI * @type {object} * @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. * * @static * @constant * @name PRECISION * @memberof PIXI * @type {object} * @property {string} LOW='lowp' * @property {string} MEDIUM='mediump' * @property {string} HIGH='highp' */ export const PRECISION = { LOW: 'lowp', MEDIUM: 'mediump', HIGH: 'highp', }; /** * Determines the shape used to join two line segments where they meet when drawn with use of {@link PIXI.Graphics}. * * IMPORTANT - The WebGL renderer only (at least for now) * * @static * @constant * @name LINE_JOIN * @memberof PIXI * @property {string} MITER - connected segments are joined by extending their outside edges to connect at a single point * @property {string} BEVEL - fills an additional triangular area between the common endpoint of connected segments * @property {string} ROUND - rounds off the corners of a shape by filling an additional sector of disc */ export const LINE_JOIN = { MITER: 'miter', BEVEL: 'bevel', ROUND: 'round', };