Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Renderer

The main interface through which rendering can be achieved.

Multiple renderers are permitted on a single page.

Hierarchy

  • Renderer

Index

Properties

Readonly canvasSize

canvasSize: ReadonlyVec2

Get the actual resolution of the canvas without triggering a reflow.

A ResizeObserver is utilised fot achieving this.

Readonly insights

insights: RendererInfo | null

Get useful information about the hardware and the SDF2D renderer.

Its scheme is subject to change.

During context lost it might be null.

Readonly viewAreaSize

viewAreaSize: ReadonlyVec2

Get the viewArea size set by the last setViewArea.

By default, canvasSize is used for the view area size.

Methods

addDrawable

  • addDrawable<T>(drawable: T): void

destroy

  • destroy(): void
  • Let go of every GPU resource held by the renderer.

    It's up to the browser and driver whether these resources are actually freed. Nonetheless, when a renderer is no longer needed, this method should be called.

    Returns void

displayToWorldCoordinates

  • displayToWorldCoordinates(displayCoordinates: ReadonlyVec2): vec2
  • The inverse of worldToDisplayCoordinates, returns the world coordinates from a pixel's position.

    The view area coordinates are also given in world coordinates.

    Useful for picking.

    Parameters

    • displayCoordinates: ReadonlyVec2

      The origin is in the display's top left corner. Just as in mouse events' clientX and clientY.

    Returns vec2

renderDrawables

  • renderDrawables(): void
  • Render every drawable added since the last renderDrawables call.

    Resizing of framebuffers and the canvas also takes effect when calling renderDrawables.

    Returns void

setRuntimeSettings

setViewArea

  • setViewArea(topLeft: ReadonlyVec2, size: ReadonlyVec2): void
  • Set the camera transformation.

    Parameters

    • topLeft: ReadonlyVec2

      top (!) left. By default, equals to [0, canvasHeight].

    • size: ReadonlyVec2

      need not be equal to the canvas size, though their aspect ratio should be the same to avoid stretching.

    Returns void

worldToDisplayCoordinates

  • worldToDisplayCoordinates(worldCoordinates: ReadonlyVec2): vec2
  • The inverse of displayToWorldCoordinates, returns the screen space position of a point given in world space coordinates.

    While the origin for worldCoordinates resides in the bottom-left corner, the origin of the returned display coordinates is placed in the top left.

    Parameters

    • worldCoordinates: ReadonlyVec2

      Coordinates used when drawing objects.

    Returns vec2