Class: WebGLRenderer

PIXI.WebGLRenderer

The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer should be used for browsers that support webGL. This Render works by automatically managing webGLBatchs. 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 :)

new PIXI.WebGLRenderer (options)

Name Type Description
options object optional

The optional renderer parameters

Name Type Default Description
width number 800 optional

the width of the screen

height number 600 optional

the height of the screen

view HTMLCanvasElement optional

the canvas to use as a view, optional

transparent boolean false optional

If the render view is transparent, default false

autoResize boolean false optional

If the render view is automatically resized, default false

antialias boolean false optional

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

forceFXAA boolean false optional

forces FXAA antialiasing to be used over native. FXAA is faster, but may not always look as great

resolution number 1 optional

The resolution / device pixel ratio of the renderer. The resolution of the renderer retina would be 2.

clearBeforeRender boolean true 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.

preserveDrawingBuffer boolean false optional

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

roundPixels boolean false optional

If true PixiJS will Math.floor() x/y values when rendering, stopping pixel interpolation.

backgroundColor number 0x000000 optional

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

legacy boolean false optional

If true PixiJS will aim to ensure compatibility with older / less advanced devices. If you experience unexplained flickering try setting this to true.

powerPreference string optional

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

Extends

Members

_activeRenderTarget PIXI.RenderTarget

Holds the current render target

_activeShader PIXI.Shader

Holds the current shader

autoResize boolean inherited

Whether css dimensions of canvas view should be resized to screen dimensions automatically

backgroundColor number inherited

The background color to fill if not transparent

blendModes object.<string, mixed> inherited

Tracks the blend modes useful for this renderer.

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.

currentRenderer PIXI.ObjectRenderer

The currently active ObjectRenderer.

emptyRenderer PIXI.ObjectRenderer

An empty renderer.

Collection of methods for extracting data (image, pixels, etc.) from a display object or render texture

See:

filterManager PIXI.FilterManager

Manages the filters.

height number readonly inherited

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

Default Value:
  • 600

maskManager PIXI.MaskManager

Manages the masks using the stencil buffer.

options Object readonly inherited

The supplied constructor options.

plugins object readonly

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.

Properties:
Name Type Description
accessibility PIXI.accessibility.AccessibilityManager

Support tabbing interactive elements.

extract PIXI.extract.WebGLExtract

Extract image data from renderer.

interaction PIXI.interaction.InteractionManager

Handles mouse, touch and pointer events.

prepare PIXI.prepare.WebGLPrepare

Pre-render display objects.

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:
  • 1

roundPixels boolean inherited

If true PixiJS will Math.floor() x/y values when rendering, stopping pixel interpolation. Handy for crisp pixel art and speed on legacy devices.

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

Its safe to use as filterArea or hitArea for whole stage

The currently active ObjectRenderer.

stencilManager PIXI.StencilManager

Manages the stencil buffer.

textureManager PIXI.TextureManager

Manages textures

transparent boolean inherited

Whether the render view is transparent

type number overrides

The type of this renderer as a standardised const

See:

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

Methods

bindRenderTarget (renderTarget)PIXI.WebGLRenderer

Changes the current render target to the one given in parameter

Name Type Description
renderTarget PIXI.RenderTarget

the new render target

Returns:
Type Description
PIXI.WebGLRenderer Returns itself.

bindRenderTexture (renderTexture, transform)PIXI.WebGLRenderer

Binds a render texture for rendering

Name Type Description
renderTexture PIXI.RenderTexture

The render texture to render

transform PIXI.Matrix

The transform to be applied to the render texture

Returns:
Type Description
PIXI.WebGLRenderer Returns itself.

bindShader (shader, autoProject)PIXI.WebGLRenderer

Changes the current shader to the one given in parameter

Name Type Default Description
shader PIXI.Shader

the new shader

autoProject boolean true optional

Whether automatically set the projection matrix

Returns:
Type Description
PIXI.WebGLRenderer Returns itself.

bindTexture (texture, location, forceLocation)number

Binds the texture. This will return the location of the bound texture. It may not be the same as the one you pass in. This is due to optimisation that prevents needless binding of textures. For example if the texture is already bound it will return the current location of the texture instead of the one provided. To bypass this use force location

Name Type Description
texture PIXI.Texture

the new texture

location number

the suggested texture location

forceLocation boolean

force the location

Returns:
Type Description
number bound texture location

Changes the current Vao to the one given in parameter

Name Type Description
vao PIXI.VertexArrayObject

the new Vao

Returns:
Type Description
PIXI.WebGLRenderer Returns itself.

clear (clearColor)

Erases the active render target and fills the drawing area with a colour

Name Type Description
clearColor number optional

The colour

clearRenderTexture (renderTexture, clearColor)PIXI.WebGLRenderer

Erases the render texture and fills the drawing area with a colour

Name Type Description
renderTexture PIXI.RenderTexture

The render texture to clear

clearColor number optional

The colour

Returns:
Type Description
PIXI.WebGLRenderer Returns itself.

createVao ()VertexArrayObject

Creates a new VAO from this renderer's context and state.

Returns:
Type Description
VertexArrayObject The new VAO.

destroy (removeView) overrides

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

Name Type Default Description
removeView boolean false optional

Removes the Canvas element from the DOM. See: https://github.com/pixijs/pixi.js/issues/2233

This should be called if you wish to do some custom rendering It will basically render anything that may be batched up such as sprites

generateTexture (displayObject, scaleMode, resolution, region)PIXI.Texture inherited

Useful function that returns a texture of the display object that can then be used to create sprites This can be quite useful if your displayObject is complicated and needs to be reused multiple times.

Name Type Description
displayObject PIXI.DisplayObject

The displayObject the object will be generated from

scaleMode number

Should be one of the scaleMode consts

resolution number

The resolution / device pixel ratio of the texture being generated

region PIXI.Rectangle optional

The region of the displayObject, that shall be rendered, if no region is specified, defaults to the local bounds of the displayObject.

Returns:
Type Description
PIXI.Texture a texture of the graphics object

registerPlugin (pluginName, ctor)

Adds a plugin to the renderer.

Name Type Description
pluginName string

The name of the plugin.

ctor function

The constructor function or class for the plugin.

render (displayObject, renderTexture, clear, transform, skipUpdateTransform)

Renders the object to its webGL view

Name Type Description
displayObject PIXI.DisplayObject

the object to be rendered

renderTexture PIXI.RenderTexture

The render texture to render to.

clear boolean optional

Should the canvas be cleared before the new render

transform PIXI.Matrix optional

A transform to apply to the render texture before rendering.

skipUpdateTransform boolean optional

Should we skip the update transform pass?

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

Returns:
Type Description
PIXI.WebGLRenderer Returns itself.

resize (screenWidth, screenHeight) overrides

Resizes the webGL view to the specified width and height.

Name Type Description
screenWidth number

the new width of the screen

screenHeight number

the new height of the screen

setBlendMode (blendMode)

Resizes the webGL view to the specified width and height.

Name Type Description
blendMode number

the desired blend mode

setObjectRenderer (objectRenderer)

Changes the current renderer to the one given in parameter

Name Type Description
objectRenderer PIXI.ObjectRenderer

The object renderer to use.

setTransform (matrix)

Sets the transform of the active render target to the given matrix

Name Type Description
matrix PIXI.Matrix

The transformation matrix

unbindTexture (texture)PIXI.WebGLRenderer

unbinds the texture ...

Name Type Description
texture PIXI.Texture

the texture to unbind

Returns:
Type Description
PIXI.WebGLRenderer Returns itself.

Events

Fired when the WebGL context is set.

Name Type Description
gl WebGLRenderingContext

WebGL context.

Fired after rendering finishes.

Fired before rendering starts.