ExcaliburGraphicsContextWebGL
Implements
Index
Constructors
Properties
Accessors
Methods
- addPostProcessor
- beginDrawLifecycle
- checkIfResolutionSupported
- clear
- clearPostProcessors
- createMaterial
- createShader
- dispose
- draw
- drawCircle
- drawImage
- drawLine
- drawRectangle
- endDrawLifecycle
- flush
- get
- getTransform
- lazyRegister
- multiply
- register
- removePostProcessor
- resetTransform
- restore
- rotate
- save
- scale
- transform
- translate
- updateViewport
Constructors
constructor
Parameters
options: ExcaliburGraphicsContextWebGLOptions
Returns ExcaliburGraphicsContextWebGL
Properties
publicbackgroundColor
debug
Access the debug drawing api
publicimageRenderer
publicmaterialScreenTexture
publicreadonlymultiSampleAntialiasing
publicreadonlypixelArtSampler
Whether the pixel art sampler is enabled for smooth sub pixel anti-aliasing
publicoptionalreadonlysamples
publicreadonlysmoothing
Native context smoothing
publicsnapToPixel
Snaps the drawing x/y coordinate to the nearest whole pixel
publictextureLoader
publicreadonlytransparency
publicuseDrawSorting
Excalibur will automatically sort draw calls by z and priority for maximal draw performance, this can disrupt a specific desired painter order.
To force a specific draw call order, use ExcaliburGraphicsContext.z
By default useDrawSorting is true, to opt out set this to false
publicuvPadding
UV padding in pixels to use in internal image rendering to prevent texture bleed
Accessors
publicheight
Returns number
publicmaterial
Gets or sets the material to be used in the current context's drawings
This allows customs shaders to be used but draw calls are no longer batched by default.
Returns Material | null | undefined
Gets or sets the material to be used in the current context's drawings
This allows customs shaders to be used but draw calls are no longer batched by default.
Parameters
material: Material | null | undefined
Returns void
publicopacity
publicortho
Returns Matrix
publictint
publicwidth
Returns number
publicz
Set the current z context for the graphics context. Draw calls issued to the context will use this z to inform their sort order.
Note it is important to all ExcaliburGraphicsContext.save and ExcaliburGraphicsContext.restore when modifying state.
Returns number
Set the current z context for the graphics context. Draw calls issued to the context will use this z to inform their sort order.
Note it is important to all ExcaliburGraphicsContext.save and ExcaliburGraphicsContext.restore when modifying state.
Parameters
value: number
Returns void
Methods
publicaddPostProcessor
Add a post processor to the graphics context
Post processors are run in the order they were added.
Parameters
postprocessor: PostProcessor
Returns void
publicbeginDrawLifecycle
Returns void
publiccheckIfResolutionSupported
Checks the underlying webgl implementation if the requested internal resolution is supported
Parameters
dim: Resolution
Returns boolean
clear
Clears the screen with the current background color
Returns void
publicclearPostProcessors
Remove all post processors from the graphics context
Returns void
publiccreateMaterial
Creates and initializes the material which compiles the internal shader
Parameters
options: Omit<MaterialOptions, graphicsContext>
Returns Material
Material
publiccreateShader
Parameters
options: Omit<ShaderOptions, graphicsContext>
Returns Shader
publicdispose
Returns void
publicdraw
Issue a draw command to a named renderer plugin.
The renderer is looked up by name (auto-instantiating lazy renderers) and its
draw()method is called with the provided arguments. Draw calls are sorted by z-index and renderer priority before flushing.In the Canvas 2D fallback context this is a no-op.
Type parameters
- TRenderer: RendererPlugin
Parameters
rendererName: TRenderer[type]
The unique renderer type name to draw with
rest...args: Parameters<TRenderer[draw]>
Arguments forwarded to the renderer's
draw()method
Returns void
publicdrawCircle
drawImage
Draw an image to the Excalibur Graphics context at an x and y coordinate using the images width and height
Parameters
image: HTMLImageSource
x: number
y: number
Returns void
publicdrawLine
publicdrawRectangle
publicendDrawLifecycle
Returns void
flush
Flushes all batched rendering to the screen
Returns void
publicget
Look up a registered renderer plugin by its type name.
If the renderer was lazily registered, it will be instantiated and initialized on first access.
Parameters
rendererName: string
The unique renderer type name
Returns RendererPlugin | undefined
The renderer plugin, or
undefinedif not found
publicgetTransform
Gets the current transform
Returns AffineMatrix
publiclazyRegister
Lazily register a custom renderer plugin with the graphics context.
The renderer factory is stored and only instantiated the first time it is requested via ExcaliburGraphicsContext.get. Use this for renderers that may not be needed in every game to avoid unnecessary initialization cost.
In the Canvas 2D fallback context this is a no-op.
Type parameters
- TRenderer: RendererPlugin
Parameters
type: TRenderer[type]
The unique renderer type name (matches RendererPlugin.type)
renderer: () => TRenderer
A factory function that creates the renderer
Returns void
publicmultiply
Multiplies the current transform by a matrix
Parameters
m: AffineMatrix
Returns void
publicregister
Register a custom renderer plugin with the graphics context.
The renderer is immediately initialized with the WebGL context. Use this for renderers that should always be available.
In the Canvas 2D fallback context this is a no-op.
Type parameters
Parameters
renderer: T
The renderer plugin to register
Returns void
publicremovePostProcessor
Remove a specific post processor from the graphics context
Parameters
postprocessor: PostProcessor
Returns void
publicresetTransform
Resets the current transform to the identity matrix
Returns void
publicrestore
Restore the state of the canvas from the stack
Returns void
publicrotate
Rotate the context about the current origin
Parameters
angle: number
Returns void
publicsave
Save the current state of the canvas to the stack (transforms and opacity)
Returns void
publicscale
Scale the context by an x and y factor
Parameters
x: number
y: number
Returns void
publictransform
Parameters
matrix: AffineMatrix
Returns void
publictranslate
Translate the origin of the context by an x and y
Parameters
x: number
y: number
Returns void
publicupdateViewport
Update the context with the current viewport dimensions (used in resizing)
Parameters
resolution: Resolution
Returns void
Set the background color of the graphics context, default is Color.ExcaliburBlue