Skip to content

MVT: Add support for annotations #1600

@gkjohnson

Description

@gkjohnson
  • Create a dedicate MVT Annotations plugin that takes an overlay instance (usable via ImageOverlayPlugin)
  • Track annotations (road names, locations) with a "locking" mechanism that prioritizes data from the higher LoD annotations.
  • Each annotation will have a unique ID constructed for the content + quantized location
  • The plugin will use tile visibility to determine which tile content is visible and track the potential annotations across the scene.
  • Users can provide a "sort" callback that can be used to sort visual priority of annotations (default set to vertical positioning)
  • Road names candidate locations are determined ahead of time.
  • Screen space occupation grid (granularity TBD, possibly determined by annotation size) is used to detect and prevent "clashing" of annotations.
  • Positioning / settling of annotations is done with raycasting spread over multiple frames.
  • Text is done with a text glyph atlas and reference counting to determine whether the space is free. To start we can use a canvas set to the target resolution (no SDF) and instancing via custom shader.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions