-
Notifications
You must be signed in to change notification settings - Fork 261
Open
Labels
adrArchitectural Decision RecordsArchitectural Decision Records
Description
Context and Problem Statement
We are looking to support Vector Tiles: 2D vector data contained within a 3D Tiles tileset. This vector data should be draped over the terrain in a similar way to how raster overlays currently work. This means that we need to find a way to support tile loading and selection from a 3D Tiles tileset within a raster / vector overlay.
Considered Options
- Separate Tileset: Creating a separate tileset object on the game engine side that can be linked to the vector overlay through some means, allowing a vector overlay to grab the results of the existing tileset selection algorithm.
- Embedded Tileset: Embedding a
Tilesetobject within the vector overlay itself, with the same results as option 1 but without the need for the user to create and link a separate tileset. - New Selection Algorithm: Implementing an entirely new and separate tileset selection algorithm just for vector overlays.
- Selection Algorithm Refactor: Refactoring the existing tileset selection algorithm so that the code can be shared across the tileset and vector overlay implementations.
Decision Outcome
We chose option "Selection Algorithm Refactor" as it will allow us to handle tileset selection efficiently for vector overlays without the development time of creating an entirely new tileset selection algorithm.
Consequences
- Good, because we can do away with parts of the tileset that won't be needed for vector overlays (eg. uploading to the GPU)
- Good, because we can avoid the development time of an entirely new tileset selection algorithm.
- Good, because we can use this refactor to pave the way for future work to support customizable tileset selection algorithms (such as Implement predictive 3D Tiles loading from CesiumJS #85)
- Bad, because this will involve refactoring an especially complex part of the codebase (tileset selection and loading internals)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
adrArchitectural Decision RecordsArchitectural Decision Records