Skip to content

MVT: Add support for annotations #1600

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions