Skip to content

glContext()

ts
function glContext<T>(params: {
  canvas: T;
  colorSpace?: "srgb" | "display-p3";
  alpha?: boolean;
  antialias?: boolean;
  depth?: boolean;
  desynchronized?: boolean;
  failIfMajorPerformanceCaveat?: boolean;
  powerPreference?: "default" | "high-performance" | "low-power";
  premultipliedAlpha?: boolean;
  preserveDrawingBuffer?: boolean;
  stencil?: boolean;
}): {
  gl: WebGL2RenderingContext;
  canvas: T extends OffscreenCanvas ? OffscreenCanvas : HTMLCanvasElement;
  setSize: (width: number, height: number) => void;
};

Initializes a WebGL2 rendering context for a given canvas.

Type Parameters

T

T extends string | HTMLCanvasElement | OffscreenCanvas

Parameters

params

Canvas and WebGL2 context configuration.

canvas

T

The canvas element to use or CSS selector to query it.

colorSpace?

"srgb" | "display-p3"

The color space to use for the drawing buffer.

alpha?

boolean

antialias?

boolean

depth?

boolean

desynchronized?

boolean

failIfMajorPerformanceCaveat?

boolean

powerPreference?

"default" | "high-performance" | "low-power"

premultipliedAlpha?

boolean

preserveDrawingBuffer?

boolean

stencil?

boolean

Returns

ts
{
  gl: WebGL2RenderingContext;
  canvas: T extends OffscreenCanvas ? OffscreenCanvas : HTMLCanvasElement;
  setSize: (width: number, height: number) => void;
}
NameType
glWebGL2RenderingContext
canvasT extends OffscreenCanvas ? OffscreenCanvas : HTMLCanvasElement
setSize()(width: number, height: number) => void

Throws

Error if the canvas or WebGL2 context could not be created.

Released under the MIT License.