Johannes Hofmann
b95968c3ed
Update dependencies, min Rust version to 1.25.0
crossbeam-utils needs Rust >= 1.25.0
7 anni fa
Johannes Hofmann
b3149bc777
Accelerate key-value queries
by examining the stringtable for each PrimitiveBlock before iterating
over the contained elements.
7 anni fa
Johannes Hofmann
f974ea1701
Add key-value queries
* Add --keyval command line option to search for elements with a
specific tag
* Add query module and Query trait to abstract over different types of
queries
7 anni fa
Johannes Hofmann
f07306b538
Update dependencies
7 anni fa
Johannes Hofmann
1e62ec6a99
Update directories (to 1.0)
7 anni fa
Johannes Hofmann
98a1ace781
Add windows_subsystem crate attribute
7 anni fa
Johannes Hofmann
9a40c6dfb7
Fix virtual key code mapping for zooming
7 anni fa
Johannes Hofmann
d9d2dd7e3c
Log winit events at trace level
7 anni fa
Johannes Hofmann
63531915dd
Use high precision for all shaders
medium precision causes visible seams between tiles on some drivers.
7 anni fa
Johannes Hofmann
bb87e09bc1
Update glutin (to 0.18)
7 anni fa
Johannes Hofmann
f95d4268c8
Add OrthograficView::zoom_at
which only includes a dummy implementation.
7 anni fa
Johannes Hofmann
76666e804c
Update dependencies
7 anni fa
Johannes Hofmann
f0dcd3a80c
Fix OrthograficView::covers_viewport
7 anni fa
Johannes Hofmann
4b7f8419c0
Remove some superfluous calls to check_gl_errors
7 anni fa
Johannes Hofmann
87739486fd
OrthograficView::radius_physical_pixels -> diameter_*
7 anni fa
Johannes Hofmann
15c9e053e9
{mercator,orthografic}_view: Convert ScreenCoords
Add functions to convert screen coordinates to MapCoord/LatLonRad.
7 anni fa
Johannes Hofmann
03c33086ba
Spherical tile visibility, part IV
Partial solution. Check AABB of tile vertices.
7 anni fa
Johannes Hofmann
2651bfe138
Fix clippy warnings
7 anni fa
Johannes Hofmann
b3e327b59c
Add overly dramatic atmosphere layer
Toggle with Ctrl+h
7 anni fa
Johannes Hofmann
1bad7a91bd
Also draw markers in orthografic view
7 anni fa
Johannes Hofmann
b3dc228f1e
Remove redundant viewport parameter from draw fns
7 anni fa
Johannes Hofmann
2642342dab
Add module projection, store projection in Session
and restore the projection of the last session.
7 anni fa
Johannes Hofmann
69a245c187
Fix accuracy issue at high zoom levels in ortho view
This now uses an f64 transformation matrix (instead of f32) to transform
points on the sphere to screen coordinates. Conversion to f32 vertex
positions happens as a last step before uploading to a GPU buffer.
7 anni fa
Johannes Hofmann
6269775c2c
buffer: Add missing draw modes
7 anni fa
Johannes Hofmann
7d5997991a
Improve tile rendering in orthografic view
* Reach feature parity with mercator view:
* Resize tile atlas to reduce draw calls
* Fill in tiles from other zoom layers
7 anni fa
Johannes Hofmann
d92bde5ac4
Add trait tile_atlas::VisibleTilesProvider
This enables the implementation of TileAtlas::textured_visible_tiles for
different kinds of visible tiles, e.g. for different layers.
7 anni fa
Johannes Hofmann
7a3a12aa68
Rename tile_layer -> mercator_tile_layer
and TileLayer -> MercatorTileLayer
7 anni fa
Johannes Hofmann
2084a7bb2d
Update dependencies
This fixes a glutin/winit issue that resulted in 100% CPU usage because
of repeated X11 ConfigureWindow/ConfigureNotify events.
7 anni fa
Johannes Hofmann
cf5a195488
Spherical tile visibility, part III
Still a partial solution. Uses region growing starting from the central
tile and checks if at least one of the vertices is visible.
7 anni fa
Johannes Hofmann
eefea571ea
Add orthografic_view::tile_neighbors and tests
7 anni fa
Johannes Hofmann
cd29a5f0c8
Update glutin (to 0.17) and become DPI aware
7 anni fa
Johannes Hofmann
4803a02187
Update dependencies (except glutin/winit)
7 anni fa
Johannes Hofmann
cf7f21acc3
Restructure modules
* Split up map_view module into
* map_view
* mercator_view
* orthografic_view
7 anni fa
Johannes Hofmann
333593ca95
Rename ViewMode -> Projection
ViewMode::Flat -> Projection::Mercator
ViewMode::Globe -> Projection::Orthografic
7 anni fa
Johannes Hofmann
c8f358ebc6
Spherical tile visibility, part II
Still not solved. Tried to approach by calculating properties of
elliptical arcs, but there are so many edge cases...
7 anni fa
Johannes Hofmann
696d382fc8
Add globe view mode, partially solve tile visibility
* Toggle between ViewMode::Flat and ViewMode::Globe with Ctrl+G
* Approach tile visibility problem at the sphere
7 anni fa
Johannes Hofmann
c8959c4fdc
coord: Add TileCoord::globe_norm
7 anni fa
Johannes Hofmann
e64385d0ca
Add TileCoord::children_iter method and Iterator
7 anni fa
Johannes Hofmann
cfbf9d20fa
globe_tile_layer: Add missing tiles to globe's edge
7 anni fa
Johannes Hofmann
f482a08091
coord: Fix conversion edge cases
This removes the holes of the globe at the poles.
7 anni fa
Johannes Hofmann
d51ed6a905
globe_tile_layer: Combine transformation matrices
7 anni fa
Johannes Hofmann
7034b667a9
Fix seams between globe tiles
7 anni fa
Johannes Hofmann
408f7da93e
Rename coord::LatLon -> coord::LatLonDeg
7 anni fa
Johannes Hofmann
f5f4e00d26
coord: Add some conversions and tests
7 anni fa
Johannes Hofmann
d7a9681521
Render the map as a sphere
A work in progress...
7 anni fa
Johannes Hofmann
86d79ff4e3
Fix test
7 anni fa
Johannes Hofmann
d3c51824af
Add option --list-paths
7 anni fa
Johannes Hofmann
71befdbef1
Update dependencies (glutin->winit is now 0.15.1)
7 anni fa
Johannes Hofmann
d543ec8738
search: Fix bug and report all matching ways
7 anni fa
Johannes Hofmann
e2f7171031
search: Find OSM ways in a second pass
search::par_search_blocking: Remember node ids for matching ways and
return the positions of these nodes in a second pass over the file.
7 anni fa