• Public
  • Public/Protected
  • All

A helper class used by the Sight Layer to represent a source of vision or illumination.

param object

The object responsible for the PointSource






The PlaceableObject which is the origin of this PointSource.

active: boolean = false

A flag for whether this source is currently rendered or not.

The animation configuration applied to this source

data: any = {}

The object of data which configures how this source is rendered

radius: number = 0

The maximum radius of emission for this source

The restricted line-of-sight polygon that is generated by the origin and radius of this source.

losMask: any = ...

A Graphics object with pre-computed geometry used for masking based on line-of-sight.

_flags: Object = {}

Additional information which controls whether certain behaviors of the source must be enforced

_meshesInit: boolean = false

To track meshes initialization

_sourceGeometry: any = null

PIXI Geometry generated to draw meshes.

sourceType: string

The type of source represented by this data structure. Each subclass must implement this attribute.

EDGE_OFFSET: number = -8

The offset in pixels applied to create soft edges.


  • get x(): number
  • The x-coordinate of the point source origin.

    Returns number

  • get y(): number
  • The y-coordinate of the point source origin.

    Returns number

  • get sourceType(): string
  • The type of source represented by this data structure.

    Returns string

  • get elevation(): number
  • The elevation of the object bound to this base source, if any. Returns the canvas primary background elevation otherwise.

    Returns number

  • get isAnimated(): boolean
  • If the source is animated or not.

    Returns boolean


  • containsPoint(point: Point): boolean
  • A point is contained with the area of the source if it is within both the FOV circle and the LOS polygon.


    • point: Point

      The point to test

    Returns boolean

    Is the point contained

  • destroy(): void
  • Steps that must be performed when the base source is destroyed.

    Returns void

  • refreshSource(): void
  • Refresh the state and uniforms of the BaseSource


    Returns void

  • _createMeshes(): void
  • Create all meshes needed with this PointSource


    Returns void

  • animate(dt: number): any
  • Animate the BaseSource, if an animation is enabled and if it currently has rendered containers.


    • dt: number

      Delta time.

    Returns any

  • _updateLosGeometry(polygon: Polygon): void
  • Create or update the source geometry with a polygon shape Triangulate the form and create buffers


    Returns void

  • Create the LOS polygon for this Light Source instance using provided parameters.


    Returns PointSourcePolygon | Polygon

  • _initializeMeshes(polygon: Polygon): void
  • Create or update the source geometry and create meshes if necessary


    Returns void

  • _createMesh(shaderCls: Function): Mesh
  • Create a new Mesh for this source using a provided shader class


    • shaderCls: Function

      The subclass of AdaptiveLightingShader being used for this Mesh

    Returns Mesh

    The created Mesh

  • _updateMesh(mesh: Mesh): Mesh
  • Update the position and size of the mesh each time it is drawn.


    • mesh: Mesh

      The Mesh being updated

    Returns Mesh

    The updated Mesh