RoverMap: Rendering a Vector Map With Rust and Vulkan
summary
RoverMap implements a native Rust renderer with Vulkan/Metal/WebGPU backends and Kotlin bindings, compiling one codebase to Android, iOS, macOS, Linux, and Windows. It preprocesses OSM geometry with clipping (Vatti’s algorithm), triangulation and compression; Saxony fits into 250–300 MB and a Germany bundle is 5.5 GB. Android integration uses C bindgen and JNI returning an opaque jlong handle to manage Rust map instances and surfaces; the demo runs on Android and desktop and the pipeline is slated for open source after the PhD is finished.
AI-written summary · about
chapters (9)
- 0:00Introduction to RoverMap
- 1:10Rendering with Vulkan and Rust
- 5:22Why choose Rust
- 10:20Android integration with Rust
- 15:00Developer perspective and styling
- 17:49Style editor with Compose
- 19:15Use cases and production apps
- 20:43Live demo of RoverMap
- 22:09Q&A and future plans
related talks
23mMap rendering using WebGPU and WASM
22m"How We Built a Rust-y Real-Time Public Transport Map"
39mSeamless Multiplatform – Kotlin-Rust-Multiplatform?!
21mA journey to fullstack mobile game development in Rust
34mDirector's Commentary: Veloren
54mUnwrap()Ing Rust on Embedded Linux
30mShipping production ready Rust for Android
24mJourney to Fullstack Mobile Game Development in Rust
