Optionaloptions: anyoptional parameters for the renderer
The background color used to clear the main framebuffer. Note: alpha value will be set based on the transparent property of the renderer settings.
an optional custom shader to use instead of the default one. Set by a renderable's preDraw when a shader is assigned. (WebGL only, ignored by Canvas renderer)
the requested video size ratio
The GPU renderer string (WebGL only, undefined for Canvas)
true if the current rendering context is valid
The Path2D instance used by the renderer to draw primitives
The renderer state container (color, tint, transform, scissor, blend mode) with a zero-allocation save/restore stack.
The renderer renderTarget
the scaling ratio to be applied to the main canvas
The given constructor options
The renderer type : Canvas, WebGL, etc... (override this property with a specific value when implementing a custom renderer)
return the height of the canvas which this renderer draws to
height of the system Canvas
return the width of the canvas which this renderer draws to
width of the system Canvas
prepare the framebuffer for drawing a new frame
Create a linear gradient that can be used with Renderer#setColor.
x-axis coordinate of the start point
y-axis coordinate of the start point
x-axis coordinate of the end point
y-axis coordinate of the end point
a Gradient object
Create a radial gradient that can be used with Renderer#setColor.
x-axis coordinate of the start circle
y-axis coordinate of the start circle
radius of the start circle
x-axis coordinate of the end circle
y-axis coordinate of the end circle
radius of the end circle
a Gradient object
Draw a textured triangle mesh.
The mesh object must provide: vertices (Float32Array, x/y/z triplets),
uvs (Float32Array, u/v pairs), indices (Uint16Array, triangle indices),
texture (TextureAtlas), vertexCount (number), and optionally
cullBackFaces (boolean, default true).
WebGL uses hardware depth testing; Canvas uses painter's algorithm (back-to-front sort).
a Mesh renderable or compatible object
render the main framebuffer on screen
returns the current blend mode for this renderer
blend mode
return a reference to the current render target corresponding canvas which this renderer draws to
return a reference to the current render target corresponding Context
Get the current line dash pattern.
the current dash pattern
return the list of supported compressed texture formats. The base implementation returns null for all formats (no GPU compressed texture support). The WebGL renderer overrides this with actual extension availability.
an object with one key per extension family, each value is the WebGL extension object or null
return the current global alpha
return true if the given compressed texture format is supported
a WebGL compressed texture format constant
Reset context state
resizes the system canvas
new width of the canvas
new height of the canvas
enable/disable image smoothing (scaling interpolation) for the current render target
Optionalenable: boolean = falseset the current blend mode. Subclasses (CanvasRenderer, WebGLRenderer) implement the actual GL/Canvas logic.
Optionalmode: string = "normal"blend mode
Set the line dash pattern for stroke operations.
an array of numbers specifying distances to alternately draw a line and a gap. An empty array clears the dash pattern (solid lines).
A mask limits rendering elements to the shape and position of the given mask object. So, if the renderable is larger than the mask, only the intersecting part of the renderable will be visible. Mask are not preserved through renderer context save and restore.
set a coloring tint for sprite based renderables
the tint color
Optionalalpha: number = tint.alphaan alpha value to be applied to the tint
tint the given image or canvas using the given color
the source image to be tinted
the color that will be used to tint the image
Optionalmode: string = "multiply"the composition mode used to tint the image
a new canvas or offscreencanvas (if supported) element representing the tinted image
creates a Blob object representing the last rendered frame
Optionaltype: string = "image/png"A string indicating the image format
Optionalquality: numberA Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
A Promise returning a Blob object representing the last rendered frame
returns a data URL containing a representation of the last frame rendered
Optionaltype: string = "image/png"A string indicating the image format
Optionalquality: numberA Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
A Promise returning a string containing the requested data URL.
creates an ImageBitmap object of the last frame rendered (not supported by standard Canvas)
Optionaltype: string = "image/png"A string indicating the image format
Optionalquality: numberA Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
A Promise returning an ImageBitmap.
a base renderer object