World in Vectors - Map rendering using WebGPU and WASM - Max Ammann
Digital maps are ubiquitous tools in our everyday life. In the early 90s the idea of browsing the whole world and visiting any place was breathtaking. The first solution to this problem is called “TerraVision” and was groundbreaking. Today the idea of exploring your surroundings using digital maps has become normal. What is the talk about? But how do these maps work? In this talk I want to provide an overview of the foundations of digital mapping solutions. Differences between maps which use vector data and rasterized satellite imaginary will be outlined. These discussions will be accompanied by discussions about the Rust ecosystem and how it enables cross-platform rendering of geographic data on the GPU. A new and open-source map renderer will be presented, which is created using Rust and modern web technologies like WebAssembly and WebGPU. I want to dive into the technical details of the WebGPU specification and how it was implemented by the known wgpu project. I will also present the state of GPU support in Rust in general. Furthermore, I want to prove a good understanding of the WASM technology and why it is so interesting in the context of Rust and computer graphics. How did this project came into existence? Last year I had a lot of spare time and decided to kickstart a project which combines different areas of interest: Rust, 3D Rendering, Maps. The result is a cross-platform map renderer, nowadays officially supported by the MapLibre organization. The project showed me the complexity of mapping solutions. It takes a lot of steps until edits from OpenStreetMap contributors are finally rendered in consumer applications. With this task I want to take listeners on a journey from drawing changes in the OpenStreetMap editor all the way until vectors are uploaded to from memory to GPUs. 🦀 *About Max Ammann* 🦀 (https://twitter.com/maxammann_) I’m an open-source developer and currently work at Trail of Bits as a Security Engineer. This talk is about side project of me, but ToB supports me in talking at EuroRust. At Trail of Bits I audit Rust code on a daily basis. I am born in Germany and currently live in Munich. I enjoy writing open-source software. I regularly contribute to various open-source projects. I’m also a passionate photographer.