3D Extrusion of Buildings#192
Conversation
|
Converted to draft, or it this ready for review? :) |
I think it's not quite ready for production but being an experimental functionality, we could just disable it by default and enable it when we want to. I guess the main thing left to do is to cleanup the big function with the extrusion to simplify the code and review/discuss about the implementation details. |
|
Yes please, 3D buildings! The changes are not that much: |
|
I'll resolve merge conflicts now! |
# Conflicts: # maplibre/src/headless.rs # maplibre/src/render/stages/upload_stage.rs # maplibre/src/stages/request_stage.rs
| wgpu::VertexAttribute { | ||
| offset: 0, | ||
| format: wgpu::VertexFormat::Float32x2, | ||
| format: wgpu::VertexFormat::Float32x3, |
There was a problem hiding this comment.
I'm not sure if we should upgrade from 2D to 3D for everything.
This will increase the required bandwidth to the GPU.
But I'm not sure how much the impact is performance wise.
|
@Drabble Hi! Are you still interested in pushing this forward? :) I guess a lot changed, but I think it would be nice to keep this effort updated. |
This is a simple implementation for showcasing 3d possibilities in Maplibre-rs.
We simply take the elements in the buildings layer and extrude them with a fixed height.
In the future, it would be very interesting to add details to the buildings that are extruded and extrude based on the height metadata available in OSM.
Extrusion can be enabled/disabled in the
Styleconfiguration.Finally I probably should split the function in
tile_pipelines.rsinto smaller functions to make it easier to understand.