Class: Mesh

PIXI.Mesh

Base mesh class.

This class empowers you to have maximum flexibility to render any kind of WebGL visuals you can think of. This class assumes a certain level of WebGL knowledge. If you know a bit this should abstract enough away to make you life easier!

Pretty much ALL WebGL can be broken down into the following:

  • Geometry - The structure and data for the mesh. This can include anything from positions, uvs, normals, colors etc..
  • Shader - This is the shader that PixiJS will render the geometry with (attributes in the shader must match the geometry)
  • State - This is the state of WebGL required to render the mesh.

Through a combination of the above elements you can render anything you want, 2D or 3D!

new PIXI.Mesh (geometry, shader, state, drawMode)

Name Type Default Description
geometry PIXI.Geometry

the geometry the mesh will use

shader PIXI.Shader | PIXI.MeshMaterial

the shader the mesh will use

state PIXI.State optional

the state that the WebGL context is required to be in to render the mesh if no state is provided, uses PIXI.State.for2d to create a 2D state for PixiJS.

drawMode number PIXI.DRAW_MODES.TRIANGLES optional

the drawMode, can be any of the PIXI.DRAW_MODES consts

Extends

Members

PIXI.Mesh.BATCHABLE_SIZE number static

The maximum number of vertices to consider batchable. Generally, the complexity of the geometry.

_accessibleActive boolean inherited

TODO
  • Needs docs.

_accessibleDiv boolean inherited

TODO
  • Needs docs.

_bounds PIXI.Bounds protected inherited

The bounds object, this is used to calculate and store the bounds of the displayObject.

_destroyed boolean protected inherited

If the object has been destroyed via destroy(). If true, it should not be used.

_lastSortedIndex number protected inherited

Which index in the children array the display component was before the previous zIndex sort. Used by containers to help sort objects with the same zIndex, by using previous array index as the decider.

_mask PIXI.Graphics | PIXI.Sprite | null protected inherited

The original, cached mask of the object.

_tempDisplayObjectParent PIXI.DisplayObject protected inherited

_zIndex number protected inherited

The zIndex of the displayObject. A higher value will mean it will be rendered on top of other displayObjects within the same container.

accessible boolean inherited

Flag for if the object is accessible. If true AccessibilityManager will overlay a shadow div with attributes set

accessibleChildren boolean inherited

Setting to false will prevent any children inside this container to be accessible. Defaults to true.

Default Value:
  • true

accessibleHint string inherited

Sets the aria-label attribute of the shadow div

accessiblePointerEvents string inherited

Specify the pointer-events the accessible div will use Defaults to auto.

Default Value:
  • 'auto'

accessibleTitle string nullable inherited

Sets the title attribute of the shadow div If accessibleTitle AND accessibleHint has not been this will default to 'displayObject [tabIndex]'

accessibleType string inherited

Specify the type of div the accessible layer is. Screen readers treat the element differently depending on this type. Defaults to button.

Default Value:
  • 'button'

alpha number inherited

The opacity of the object.

angle number inherited

The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

blendMode number

The blend mode to be applied to the Mesh. Apply a value of PIXI.BLEND_MODES.NORMAL to reset the blend mode.

Default Value:
  • PIXI.BLEND_MODES.NORMAL;
See:

buttonMode boolean inherited

If enabled, the mouse cursor use the pointer behavior when hovered over the displayObject if it is interactive Setting this changes the 'cursor' property to 'pointer'.

Example
const sprite = new PIXI.Sprite(texture);
sprite.interactive = true;
sprite.buttonMode = true;

cacheAsBitmap boolean inherited

Set this to true if you want this display object to be cached as a bitmap. This basically takes a snap shot of the display object as it is at that moment. It can provide a performance benefit for complex static displayObjects. To remove simply set this property to false

IMPORTANT GOTCHA - Make sure that all your textures are preloaded BEFORE setting this property to true as it will take a snapshot of what is currently there. If the textures have not loaded then they will not appear.

children Array.<PIXI.DisplayObject> readonly inherited

The array of children of this container.

cursor string inherited

This defines what cursor mode is used when the mouse cursor is hovered over the displayObject.

See:
Example
const sprite = new PIXI.Sprite(texture);
sprite.interactive = true;
sprite.cursor = 'wait';

drawMode number

The way the Mesh should be drawn, can be any of the PIXI.DRAW_MODES constants.

See:

filterArea PIXI.Rectangle nullable inherited

The area the filter is applied to. This is used as more of an optimization rather than figuring out the dimensions of the displayObject each frame you can set this rectangle.

Also works as an interaction mask.

filters Array.<PIXI.Filter> nullable inherited

Sets the filters for the displayObject.

  • IMPORTANT: This is a WebGL only feature and will be ignored by the canvas renderer. To remove filters simply set this property to 'null'.

geometry PIXI.Geometry readonly

Includes vertex positions, face indices, normals, colors, UVs, and custom attributes within buffers, reducing the cost of passing all this data to the GPU. Can be shared between multiple Mesh objects.

height number inherited

The height of the Container, setting this will actually modify the scale to achieve the value set

Interaction shape. Children will be hit first, then this shape will be checked. Setting this will cause this shape to be checked in hit tests rather than the displayObject's bounds.

Example
const sprite = new PIXI.Sprite(texture);
sprite.interactive = true;
sprite.hitArea = new PIXI.Rectangle(0, 0, 100, 100);

interactive boolean inherited

Enable interaction events for the DisplayObject. Touch, pointer and mouse events will not be emitted unless interactive is set to true.

Example
const sprite = new PIXI.Sprite(texture);
sprite.interactive = true;
sprite.on('tap', (event) => {
   //handle event
});

interactiveChildren boolean inherited

Determines if the children to the displayObject can be clicked/touched Setting this to false allows PixiJS to bypass a recursive hitTest function

isMask boolean inherited

Does any other displayObject use this object as a mask?

isSprite boolean inherited

used to fast check if a sprite is.. a sprite!

localTransform PIXI.Matrix readonly inherited

Current transform of the object based on local factors: position, scale, other stuff.

Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. In PixiJS a regular mask must be a PIXI.Graphics or a PIXI.Sprite object. This allows for much faster masking in canvas as it utilities shape clipping. To remove a mask, set this property to null.

For sprite mask both alpha and red channel are used. Black mask is the same as transparent mask.

TODO
  • At the moment, PIXI.CanvasRenderer doesn't support PIXI.Sprite as mask.
Example
const graphics = new PIXI.Graphics();
graphics.beginFill(0xFF3300);
graphics.drawRect(50, 250, 100, 100);
graphics.endFill();

const sprite = new PIXI.Sprite(texture);
sprite.mask = graphics;

Alias for PIXI.Mesh#shader.

name string inherited

The instance name of the object.

parent PIXI.Container readonly inherited

The display object container that contains this display object.

The pivot point of the displayObject that it rotates around. Assignment by value since pixi-v4.

The coordinate of the object relative to the local coordinates of the parent. Assignment by value since pixi-v4.

renderable boolean inherited

Can this object be rendered, if false the object will not be drawn but the updateTransform methods will still be called.

Only affects recursive calls from parent. You can ask for bounds manually.

rotation number inherited

The rotation of the object in radians. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

roundPixels boolean

If true PixiJS will Math.floor() x/y values when rendering, stopping pixel interpolation. Advantages can include sharper image quality (like text) and faster rendering on canvas. The main disadvantage is movement of objects may appear less smooth. To set the global default, change PIXI.settings.ROUND_PIXELS

Default Value:
  • false

The scale factor of the object. Assignment by value since pixi-v4.

Represents the vertex and fragment shaders that processes the geometry and runs on the GPU. Can be shared between multiple Mesh objects.

size number

How much of the geometry to draw, by default 0 renders everything.

Default Value:
  • 0

The skew factor for the object in radians. Assignment by value since pixi-v4.

sortableChildren boolean inherited

If set to true, the container will sort its children by zIndex value when updateTransform() is called, or manually if sortChildren() is called.

This actually changes the order of elements in the array, so should be treated as a basic solution that is not performant compared to other solutions, such as @link https://github.com/pixijs/pixi-display

Also be aware of that this may not work nicely with the addChildAt() function, as the zIndex sorting may cause the child to automatically sorted to another position.

See:

sortDirty boolean inherited

Should children be sorted by zIndex at the next updateTransform call. Will get automatically set to true if a new child is added, or if a child's zIndex changes.

start number

Typically the index of the IndexBuffer where to start drawing.

Default Value:
  • 0

state PIXI.State

Represents the WebGL state the Mesh required to render, excludes shader and geometry. E.g., blend mode, culling, depth testing, direction of rendering triangles, backface, etc.

texture PIXI.Texture

The texture that the Mesh uses.

tint number

The multiply tint applied to the Mesh. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

Default Value:
  • 0xFFFFFF

World transform and local transform of this object. This will become read-only later, please do not assign anything there unless you know what are you doing.

uvBuffer PIXI.Buffer readonly

To change mesh uv's, change its uvBuffer data and increment its _updateID.

verticesBuffer PIXI.Buffer readonly

To change mesh vertices, change its uvBuffer data and increment its _updateID. Incrementing _updateID is optional because most of Mesh objects do it anyway.

visible boolean inherited

The visibility of the object. If false the object will not be drawn, and the updateTransform function will not be called.

Only affects recursive calls from parent. You can ask for bounds or call updateTransform manually.

width number inherited

The width of the Container, setting this will actually modify the scale to achieve the value set

worldAlpha number readonly inherited

The multiplied alpha of the displayObject.

worldTransform PIXI.Matrix readonly inherited

Current transform of the object based on world (parent) factors.

worldVisible boolean readonly inherited

Indicates if the object is globally visible.

x number inherited

The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x

y number inherited

The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y

zIndex number inherited

The zIndex of the displayObject. If a container has the sortableChildren property set to true, children will be automatically sorted by zIndex value; a higher value will mean it will be moved towards the end of the array, and thus rendered on top of other displayObjects within the same container.

Methods

_calculateBounds () protected overrides

Updates the bounds of the mesh as a rectangle. The bounds calculation takes the worldTransform into account. there must be a aVertexPosition attribute present in the geometry for bounds to be calculated correctly.

_recursivePostUpdateTransform () inherited

Recursively updates transform of all objects from the root to this one internal function for toLocal()

_render (renderer) protected overrides

Standard renderer draw.

Name Type Description
renderer PIXI.Renderer

Instance to renderer.

_renderCanvas (renderer) protected overrides

Renders the object using the Canvas renderer

Name Type Description
renderer PIXI.CanvasRenderer

The canvas renderer.

_renderDefault (renderer) protected

Standard non-batching way of rendering.

Name Type Description
renderer PIXI.Renderer

Instance to renderer.

_renderToBatch (renderer) protected

Rendering by using the Batch system.

Name Type Description
renderer PIXI.Renderer

Instance to renderer.

Adds one or more children to the container.

Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)

Name Type Description
child PIXI.DisplayObject repeatable

The DisplayObject(s) to add to the container

Returns:
Type Description
PIXI.DisplayObject The first child that was added.

addChildAt (child, index)PIXI.DisplayObject inherited

Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown

Name Type Description
child PIXI.DisplayObject

The child to add

index number

The index to place the child in

Returns:
Type Description
PIXI.DisplayObject The child that was added.

calculateBounds () inherited

Recalculates the bounds of the container.

calculateUvs ()

Updates uv field based on from geometry uv's or batchUvs

calculateVertices ()

Updates vertexData field based on transform and vertices

containsPoint (point)boolean

Tests if a point is inside this mesh. Works only for PIXI.DRAW_MODES.TRIANGLES.

Name Type Description
point PIXI.Point

the point to test

Returns:
Type Description
boolean the result of the test

destroy (options) overrides

Destroys the Mesh object.

Name Type Description
options object | boolean optional

Options parameter. A boolean will act as if all options have been set to that value

Name Type Default Description
children boolean false optional

if set to true, all the children will have their destroy method called as well. 'options' will be passed on to those calls.

displayObjectUpdateTransform () inherited

DisplayObject default updateTransform, does not update children of container. Will crash if there's no parent element.

getBounds (skipUpdate, rect)PIXI.Rectangle inherited

Retrieves the bounds of the displayObject as a rectangle object.

Name Type Description
skipUpdate boolean optional

Setting to true will stop the transforms of the scene graph from being updated. This means the calculation returned MAY be out of date BUT will give you a nice performance boost.

rect PIXI.Rectangle optional

Optional rectangle to store the result of the bounds calculation.

Returns:
Type Description
PIXI.Rectangle The rectangular bounding area.

Returns the child at the specified index

Name Type Description
index number

The index to get the child at

Returns:
Type Description
PIXI.DisplayObject The child at the given index, if any.

getChildByName (name)PIXI.DisplayObject inherited

Returns the display object in the container.

Name Type Description
name string

Instance name.

Returns:
Type Description
PIXI.DisplayObject The child with the specified name.

getChildIndex (child)number inherited

Returns the index position of a child DisplayObject instance

Name Type Description
child PIXI.DisplayObject

The DisplayObject instance to identify

Returns:
Type Description
number The index position of the child display object to identify

getGlobalPosition (point, skipUpdate)PIXI.Point inherited

Returns the global position of the displayObject. Does not depend on object scale, rotation and pivot.

Name Type Default Description
point PIXI.Point new PIXI.Point() optional

The point to write the global value to.

skipUpdate boolean false optional

Setting to true will stop the transforms of the scene graph from being updated. This means the calculation returned MAY be out of date BUT will give you a nice performance boost.

Returns:
Type Description
PIXI.Point The updated point.

Retrieves the local bounds of the displayObject as a rectangle object.

Name Type Description
rect PIXI.Rectangle optional

Optional rectangle to store the result of the bounds calculation.

Returns:
Type Description
PIXI.Rectangle The rectangular bounding area.

onChildrenChange () protected inherited

Overridable method that can be used by Container subclasses whenever the children array is modified

Removes one or more children from the container.

Name Type Description
child PIXI.DisplayObject repeatable

The DisplayObject(s) to remove

Returns:
Type Description
PIXI.DisplayObject The first child that was removed.

Removes a child from the specified index position.

Name Type Description
index number

The index to get the child from

Returns:
Type Description
PIXI.DisplayObject The child that was removed.

removeChildren (beginIndex, endIndex)Array.<PIXI.DisplayObject> inherited

Removes all children from this container that are within the begin and end indexes.

Name Type Default Description
beginIndex number 0 optional

The beginning position.

endIndex number this.children.length optional

The ending position. Default value is size of the container.

Returns:
Type Description
Array.<PIXI.DisplayObject> List of removed children

render (renderer) inherited

Renders the object using the WebGL renderer

Name Type Description
renderer PIXI.Renderer

The renderer

renderAdvanced (renderer) protected inherited

Render the object using the WebGL renderer and advanced features.

Name Type Description
renderer PIXI.Renderer

The renderer

renderAdvancedWebGL (renderer) Deprecated : since 5.0.0 inherited

Name Type Description
renderer PIXI.Renderer

Instance of renderer

See:

renderCanvas (renderer) inherited overrides

Renders the object using the Canvas renderer

Name Type Description
renderer PIXI.CanvasRenderer

The renderer

renderWebGL (renderer) Deprecated : since 5.0.0 inherited

Name Type Description
renderer PIXI.Renderer

Instance of renderer

See:

setChildIndex (child, index) inherited

Changes the position of an existing child in the display object container

Name Type Description
child PIXI.DisplayObject

The child DisplayObject instance for which you want to change the index number

index number

The resulting index number for the child display object

Set the parent Container of this DisplayObject.

Name Type Description
container PIXI.Container

The Container to add this DisplayObject to.

Returns:
Type Description
PIXI.Container The Container that this DisplayObject was added to.

setTransform (x, y, scaleX, scaleY, rotation, skewX, skewY, pivotX, pivotY)PIXI.DisplayObject inherited

Convenience function to set the position, scale, skew and pivot at once.

Name Type Default Description
x number 0 optional

The X position

y number 0 optional

The Y position

scaleX number 1 optional

The X scale value

scaleY number 1 optional

The Y scale value

rotation number 0 optional

The rotation

skewX number 0 optional

The X skew value

skewY number 0 optional

The Y skew value

pivotX number 0 optional

The X pivot value

pivotY number 0 optional

The Y pivot value

Returns:
Type Description
PIXI.DisplayObject The DisplayObject instance

sortChildren () inherited

Sorts children by zIndex. Previous order is mantained for 2 children with the same zIndex.

swapChildren (child, child2) inherited

Swaps the position of 2 Display Objects within this container.

Name Type Description
child PIXI.DisplayObject

First display object to swap

child2 PIXI.DisplayObject

Second display object to swap

toGlobal (position, point, skipUpdate)PIXI.IPoint inherited

Calculates the global position of the display object.

Name Type Default Description
position PIXI.IPoint

The world origin to calculate from.

point PIXI.IPoint optional

A Point object in which to store the value, optional (otherwise will create a new Point).

skipUpdate boolean false optional

Should we skip the update transform.

Returns:
Type Description
PIXI.IPoint A point object representing the position of this object.

toLocal (position, from, point, skipUpdate)PIXI.IPoint inherited

Calculates the local position of the display object relative to another point.

Name Type Default Description
position PIXI.IPoint

The world origin to calculate from.

from PIXI.DisplayObject optional

The DisplayObject to calculate the global position from.

point PIXI.IPoint optional

A Point object in which to store the value, optional (otherwise will create a new Point).

skipUpdate boolean false optional

Should we skip the update transform

Returns:
Type Description
PIXI.IPoint A point object representing the position of this object

updateTransform () inherited

Updates the transform on all children of this container for rendering

Events

Fired when this DisplayObject is added to a Container.

Name Type Description
container PIXI.Container

The container added to.

Fired when a pointer device button (usually a mouse left-button) is pressed and released on the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device button (usually a mouse left-button) is pressed on the display. object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device (usually a mouse) is moved while over the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device (usually a mouse) is moved off the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device (usually a mouse) is moved onto the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device button (usually a mouse left-button) is released over the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device button (usually a mouse left-button) is released outside the display object that initially registered a mousedown. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when the operating system cancels a pointer event. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device button is pressed on the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device is moved while over the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device is moved off the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device is moved onto the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device button is pressed and released on the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device button is released over the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device button is released outside the display object that initially registered a pointerdown. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when this DisplayObject is removed from a Container.

Name Type Description
container PIXI.Container

The container removed from.

Fired when a pointer device secondary button (usually a mouse right-button) is pressed and released on the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device secondary button (usually a mouse right-button) is pressed on the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device secondary button (usually a mouse right-button) is released over the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a pointer device secondary button (usually a mouse right-button) is released outside the display object that initially registered a rightdown. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a touch point is placed and removed from the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when the operating system cancels a touch. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a touch point is removed from the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a touch point is removed outside of the display object that initially registered a touchstart. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a touch point is moved along the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event

Fired when a touch point is placed on the display object. DisplayObject's interactive property must be set to true to fire event.

Name Type Description
event PIXI.interaction.InteractionEvent

Interaction event