Skip to content

Support for vector tiles rendering in SceneKit #276

Open

Description

@6cesco

Do you plan to add support for vector tiles rendering using SceneKit? If not, do you have any recommendations on where to start with adding this support to your project (I'm considering to start contributing)? Maybe you investigated it in the past and have some useful tips.

The reason why this support would be beneficial is for Apple Watch usecases. The newest Apple Watch releases (especially the Ultra model) have large screens and good CPUs suitable for map displaying. There are countless outdoor applications which could be implemented with the help of your library. Unfortunately there's no support for Metal and Open GL on watchOS and SceneKit seems to be the only feasible alternative.

It would be also great if you support reading from vector tiles saved offline (e.g. in .mbtiles format). Do you have this on your roadmap?

Activity

  1. stmitt commented on Jan 9, 2023

    @stmitt
    Collaborator

    This feature is not on our roadmap.
    I think a SceneKit rendering engine could work. Maybe it would be best if you start by implementing the shader_factory_interface and graphics_object_factory_interface.
    maps-core is build in a modular architecture and all modules are injectable.
    Unfortunately I don't have helpful tip how to implement this feature in detail since im not aware how SceneKit works exactly.

  2. mauron85 commented on Oct 7, 2024

    @mauron85

    @6cesco any updates? Did you managed to implement SceneKit?

  3. maerki commented on Oct 7, 2024

    @maerki
    Contributor

    We hope that watchOS will support Metal at some point. The vector style specification contains so many rendering details, that a high level framework like SceneKit is not suitable to implement everything.

  4. maerki commented on Oct 7, 2024

    @maerki
    Contributor

    Having that said, GraphicsFactory.swift might be a point to start. A SceneKit implementation would need to be able to create instances of all those types with correct behavior.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions