6 ms·
Mapr: Native cross platform maps in Rust using WebGPU
- meetups323 5y agoThe `Example` link's href seems to be `https:// https://`.
- HellsMaddy 5y agoI'm guessing that's a placeholder for later. But I did find some sort of demo in the parent directory of the API docs site: https://maxammann.org/mapr/webgl/ https://maxammann.org/mapr/webgl/
- rektide 5y ago> mapr is a portable and performant vector maps renderer. We aim to support the web, mobile and desktop applications. This is achieved by the novel WebGPU specification. badass, perfect. get that hardware cranking! another very excellent use for wgpu!
- maxammann 5y agowgpu felt right for the project from the first minute. Let's just hope that the WebGPU succeed. But even if it does not, wgpu is still a great HAL
- adamnemecek 5y agoThe step up from OpenGL is astounding and overdue. Vulkan is ok but also too much.
- qchris 5y agoWow, I'm really excited for this! I'm actually currently rendering a MapLibre-based web map of some drone orthomosaics I've built on my personal site[1], which is using Rust on the backend to dynamically assemble the Javascript code running on the page for each new dataset. It's not the prettiest, and writing the initial Javascript code is that I'm using as the template for adding data is kind of a pain, so possibly being able to write the entire application in native Rust would be really awesome. [1] https://cmoran.xyz/geospatial https://cmoran.xyz/geospatial
- maxammann 5y agothats cool! sadly I haven't looked into rendering raster tiles for satellite imagery Vector tiles are just much cooler! :D
- blacha 5y agoare your orthomosaics geo refernced? You could look at storing them as a cloud optimised geotiff (COG) and then adding them directly into your web map.
- openbrian 5y agoI heard about this idea from Yuri at State of the Map US. So happy to see it happening.
- ushakov 5y agoi love that you're using Rust and supporting different platforms! Mapr seems to be really great if you want to use the same framework for each platform you're building for
- pcwalton 5y agoI find it interesting that the Web platform ended up being the catalyst to finally get all the OS and GPU vendors to sit down and write a single interoperable API. The existence of wgpu is a very nice outcome for all graphics programmers, even those who don't work on the Web.
- adamnemecek 5y agoIt makes sense. The standardization effort is pretty involved, I don’t know what besides the Web would have been able to twist their arms into doing it.
- pjmlp 5y agoExcept the end result are fossilized 3D APIs. WebGL 2.0 is a subset of OpenGL ES 3.0, meaning 2011 mobile GPUs. WebGPU 1.0 is a subset of Vulkan/Metal/DX 12, meaning 2016 GPUs. And on top, you get a new C++/Rust flavoured shading language, throwing away all shaders created for WebGL. If you want top graphics on the Web, the answer is surprise, surprise, server side rendering to textures with native 3D APIs alongside data streaming.
- adamnemecek 5y agoHow would the api be different if it was targeting 2022 gpus?
- pjmlp 5y agoIt would be exposing stuff like ray tracing and mesh shaders for example. Or having a shading language with C++ like capabilities. WebGL still cannot do compute or geometry shaders, for example. Nor it will ever be able to do them.
- Jweb_Guru 5y agoIf you know of a way to portably expose ray tracing even on just the GPUs that actually support it, feel free to tell me (or anyone for that matter). AFAIK the problem of abstracting over the different stuff Nvidia and AMD call "ray tracing" is currently an open research problem. Of course you could respond that portability isn't important if you only care about delivering the best graphics you can on given hardware, but if you're really willing to write totally different pipelines for newer AMD cards, newer Nvidia cards, older cards, consoles, etc. you are probably not in the target audience for WebGPU. (BTW, the biggest reason stuff like wgpu-rs doesn't support geometry shaders on non-Metal is that they're horribly slow on a bunch of GPUs, with vendors indicating that they found it super hard to profitably support them in hardware. That's why Metal removed them entirely. I think all the features of geometry shaders that are actually reliably fast, as well as the stuff required to integrate with tessellation shaders, will almost certainly come eventually in other forms. This is an example of why if you care about performance and portability you shouldn't just dump every feature under the sun into your abstraction layer).
- chimen 5y ago
- teaearlgraycold 5y agoIf code is written - but it's not in Rust - does it really even exist?
- nxrabl 5y agoHere, stick this in your uBlock config: news.ycombinator.com##.athing:has-text(in Rust) news.ycombinator.com##.athing:has-text(in Rust) + tr news.ycombinator.com##.athing:has-text(in Rust) + tr + tr
- HKH2 5y agoWhat does '+ tr' do?
- Arnavion 5y ago`+ tr` selects the sibling tr element to the matched element. The HTML on the page uses three tr's per post. The first (with class "athing") contains the title. The second contains the post karma, submitter name, comments link. The third is a spacer. So you'd want to block all three.
- capableweb 5y agoDoesn't this filter the submission itself, hiding the story completely? Rather than just hiding the "In Rust" part of the titles.
- nxrabl 5y agoYes, I think I misinterpreted the parent comment.
- unrealhoang 5y agoWill it be written in Rust?
- LeanderK 5y agoWhat a cool project, is there a performance comparison wrt to other solutions?
- nanis 5y agoNot to be confused with MapR https://en.wikipedia.org/wiki/MapR https://en.wikipedia.org/wiki/MapR