Class: Renderer


The Renderer draws the scene and all its content onto a WebGL enabled canvas.

This renderer should be used for browsers that support WebGL.

This renderer works by automatically managing WebGLBatchesm, so no need for Sprite Batches or Sprite Clouds. Don't forget to add the view to your DOM or you will not see anything!

Renderer is composed of systems that manage specific tasks. The following systems are added by default whenever you create a renderer:

System Description
PIXI.BatchSystem This manages object renderers that defer rendering until a flush.
PIXI.ContextSystem This manages the WebGL context and extensions.
PIXI.EventSystem This manages UI events.
PIXI.FilterSystem This manages the filtering pipeline for post-processing effects.
PIXI.FramebufferSystem This manages framebuffers, which are used for offscreen rendering.
PIXI.GeometrySystem This manages geometries & buffers, which are used to draw object meshes.
PIXI.MaskSystem This manages masking operations.
PIXI.ProjectionSystem This manages the projectionMatrix, used by shaders to get NDC coordinates.
PIXI.RenderTextureSystem This manages render-textures, which are an abstraction over framebuffers.
PIXI.ScissorSystem This handles scissor masking, and is used internally by MaskSystem
PIXI.ShaderSystem This manages shaders, programs that run on the GPU to calculate 'em pixels.
PIXI.StateSystem This manages the WebGL state variables like blend mode, depth testing, etc.
PIXI.StencilSystem This handles stencil masking, and is used internally by MaskSystem
PIXI.TextureSystem This manages textures and their resources on the GPU.
PIXI.TextureGCSystem This will automatically remove textures from the GPU if they are not used.

The breadth of the API surface provided by the renderer is contained within these systems.

new PIXI.Renderer (options) overrides

Name Type Attributes Default Description
options IRendererOptions <optional>

The optional renderer parameters.

options.width number <optional>

The width of the screen.

options.height number <optional>

The height of the screen.

options.view HTMLCanvasElement <optional>

The canvas to use as a view, optional.

options.useContextAlpha boolean <optional>

Pass-through value for canvas' context alpha property. If you want to set transparency, please use backgroundAlpha. This option is for cases where the canvas needs to be opaque, possibly for performance reasons on some older devices.

options.autoDensity boolean <optional>

Resizes renderer view in CSS pixels to allow for resolutions other than 1.

options.antialias boolean <optional>

Sets antialias. If not available natively then FXAA antialiasing is used.

options.resolution number <optional>

The resolution / device pixel ratio of the renderer.

options.clearBeforeRender boolean <optional>

This sets if the renderer will clear the canvas or not before the new render pass. If you wish to set this to false, you must set preserveDrawingBuffer to true.

options.preserveDrawingBuffer boolean <optional>

Enables drawing buffer preservation, enable this if you need to call toDataUrl on the WebGL context.

options.backgroundColor number <optional>

The background color of the rendered area (shown if not transparent).

options.backgroundAlpha number <optional>

Value from 0 (fully transparent) to 1 (fully opaque).

options.powerPreference string <optional>

Parameter passed to WebGL context, set to "high-performance" for devices with dual graphics card.

options.context object <optional>

If WebGL context already exists, all parameters must be taken from it.



PIXI.Renderer.plugins object staticreadonly overrides

Collection of installed plugins. These are included by default in PIXI, but can be excluded by creating a custom build. Consult the README for more information about creating custom builds and excluding plugins.

Name Type Description
accessibility PIXI.AccessibilityManager

Support tabbing interactive elements.

batch PIXI.BatchRenderer

Batching of Sprite, Graphics and Mesh objects.

extract PIXI.Extract

Extract image data from renderer.

interaction PIXI.InteractionManager

Handles mouse, touch and pointer events.

particle PIXI.ParticleRenderer

Renderer for ParticleContainer objects.

prepare PIXI.Prepare

Pre-render display objects.

tilingSprite PIXI.TilingSpriteRenderer

Renderer for TilingSprite objects.

batch PIXI.BatchSystem readonly

Batch system instance

buffer readonly

Geometry system instance

context PIXI.ContextSystem readonly

Context system instance

extract PIXI.Extract Deprecated : since 6.0.0 readonly

Please use plugins.extract instead.

filter PIXI.FilterSystem readonly

Filter system instance

framebuffer PIXI.FramebufferSystem readonly

Framebuffer system instance

geometry readonly

Geometry system instance

gl WebGLRenderingContext readonly

WebGL context, set by the contextSystem (this.context)

Default Value:
  • undefined

globalUniforms PIXI.UniformGroup

Global uniforms

mask PIXI.MaskSystem readonly

Mask system instance

multisample PIXI.MSAA_QUALITY readonly

The number of msaa samples of the canvas.

projection PIXI.ProjectionSystem readonly

Projection system instance

renderingToScreen boolean readonly

Flag if we are rendering to the screen vs renderTexture

Default Value:
  • true

renderTexture PIXI.RenderTextureSystem readonly

RenderTexture system instance

scissor PIXI.ScissorSystem readonly

Scissor system instance

shader PIXI.ShaderSystem readonly

Shader system instance

state PIXI.StateSystem readonly

State system instance

stencil PIXI.StencilSystem readonly

Stencil system instance

texture PIXI.TextureSystem readonly

Texture system instance

textureGC PIXI.TextureGCSystem readonly

Texture garbage collector system instance


PIXI.Renderer.registerPlugin (pluginName, ctor) void static


Adds a plugin to the renderer.

Name Type Description
pluginName string

The name of the plugin.

ctor IRendererPluginConstructor

The constructor function or class for the plugin.

addSystem (ClassRef, name) PIXI.Renderer


Add a new system to the renderer.

Name Type Attributes Description
ClassRef ISystemConstructor

Class reference

name string <optional>

Property name for system, if not specified will use a static name property on the class itself. This name will be assigned as s property on the Renderer so make sure it doesn't collide with properties on Renderer.

Type Description
PIXI.Renderer Return instance of renderer

clear () void


Clear the frame buffer

destroy (removeView) void overrides


Removes everything from the renderer (event listeners, spritebatch, etc...)

Name Type Attributes Default Description
removeView boolean <optional>

Removes the Canvas element from the DOM. See:

generateTexture (displayObject, options, resolution, region) PIXI.RenderTexture overrides

Name Type Attributes Description
displayObject PIXI.IRenderableObject
resolution number <optional>
region PIXI.Rectangle <optional>
Type Description

render (displayObject, options) void


Renders the object to its WebGL view.

Name Type Attributes Default Description
displayObject PIXI.IRenderableObject

The object to be rendered.

options object <optional>

Object to use for render options.

options.renderTexture PIXI.RenderTexture <optional>

The render texture to render to.

options.clear boolean <optional>

Should the canvas be cleared before the new render.

options.transform PIXI.Matrix <optional>

A transform to apply to the render texture before rendering.

options.skipUpdateTransform boolean <optional>

Should we skip the update transform pass?

render (displayObject, renderTexture, clear, transform, skipUpdateTransform) void Deprecated`` : Since 6.0.0


Please use the option render arguments instead.

Name Type Attributes Description
displayObject PIXI.IRenderableObject
renderTexture PIXI.RenderTexture <optional>
clear boolean <optional>
transform PIXI.Matrix <optional>
skipUpdateTransform boolean <optional>

reset () PIXI.Renderer


Resets the WebGL state so you can render things however you fancy!

Type Description
PIXI.Renderer Returns itself.

resize (desiredScreenWidth, desiredScreenHeight) void


Resizes the WebGL view to the specified width and height.

Name Type Description
desiredScreenWidth number

The desired width of the screen.

desiredScreenHeight number

The desired height of the screen.




Fired when the WebGL context is set.

Name Type Description
gl WebGLRenderingContext

WebGL context.



Fired after rendering finishes.



Fired before rendering starts.

resize overrides


Fired after view has been resized.

Name Type Description
screenWidth number

The new width of the screen.

screenHeight number

The new height of the screen.

Inherited Properties

From class PIXI.AbstractRenderer

autoDensity boolean inherited

Whether CSS dimensions of canvas view should be resized to screen dimensions automatically.

Default Value:
  • --

backgroundAlpha number inherited

The background color alpha. Setting this to 0 will make the canvas transparent.

backgroundColor number inherited

The background color to fill if not transparent

clearBeforeRender boolean inherited

This sets if the CanvasRenderer will clear the canvas or not before the new render pass. If the scene is NOT transparent PixiJS will use a canvas sized fillRect operation every frame to set the canvas background color. If the scene is transparent PixiJS will use clearRect to clear the canvas every frame. Disable this by setting this to false. For example, if your game has a canvas filling background image you often don't need this set.

height number readonly inherited

Same as view.height, actual number of pixels in the canvas by vertical.

Default Value:
  • 600

options Object readonly inherited

The supplied constructor options.

preserveDrawingBuffer boolean inherited

The value of the preserveDrawingBuffer flag affects whether or not the contents of the stencil buffer is retained after rendering.

resolution number inherited

The resolution / device pixel ratio of the renderer.

Default Value:
  • PIXI.settings.RESOLUTION

Measurements of the screen. (0, 0, screenWidth, screenHeight).

Its safe to use as filterArea or hitArea for the whole stage.

type number inherited

The type of the renderer.

Default Value:

useContextAlpha boolean inherited

Pass-thru setting for the the canvas' context alpha property. This is typically not something you need to fiddle with. If you want transparency, use backgroundAlpha.

view HTMLCanvasElement inherited

The canvas element that everything is drawn to.

width number readonly inherited

Same as view.width, actual number of pixels in the canvas by horizontal.

Default Value:
  • 800

_backgroundColor number protected inherited

The background color as a number.

Default Value:
  • 0

_backgroundColorRgba Array<number> protected inherited

The background color as an [R, G, B, A] array.

_backgroundColorString string protected inherited

The background color as a string.

Default Value:
  • "#000000"

_lastObjectRendered PIXI.DisplayObject protected inherited

The last root object that the renderer tried to render.

Default Value:
  • undefined

Inherited Methods

From class PIXI.AbstractRenderer

initPlugins (staticMap) void protected inherited


Initialize the plugins.

Name Type Description
staticMap object

The dictionary of statically saved plugins.