Johannes Hofmann
63531915dd
Use high precision for all shaders
medium precision causes visible seams between tiles on some drivers.
7 lat temu
Johannes Hofmann
bb87e09bc1
Update glutin (to 0.18)
7 lat temu
Johannes Hofmann
f95d4268c8
Add OrthograficView::zoom_at
which only includes a dummy implementation.
7 lat temu
Johannes Hofmann
76666e804c
Update dependencies
7 lat temu
Johannes Hofmann
f0dcd3a80c
Fix OrthograficView::covers_viewport
7 lat temu
Johannes Hofmann
4b7f8419c0
Remove some superfluous calls to check_gl_errors
7 lat temu
Johannes Hofmann
87739486fd
OrthograficView::radius_physical_pixels -> diameter_*
7 lat temu
Johannes Hofmann
15c9e053e9
{mercator,orthografic}_view: Convert ScreenCoords
Add functions to convert screen coordinates to MapCoord/LatLonRad.
7 lat temu
Johannes Hofmann
03c33086ba
Spherical tile visibility, part IV
Partial solution. Check AABB of tile vertices.
7 lat temu
Johannes Hofmann
2651bfe138
Fix clippy warnings
7 lat temu
Johannes Hofmann
b3e327b59c
Add overly dramatic atmosphere layer
Toggle with Ctrl+h
7 lat temu
Johannes Hofmann
1bad7a91bd
Also draw markers in orthografic view
7 lat temu
Johannes Hofmann
b3dc228f1e
Remove redundant viewport parameter from draw fns
7 lat temu
Johannes Hofmann
2642342dab
Add module projection, store projection in Session
and restore the projection of the last session.
7 lat temu
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 lat temu
Johannes Hofmann
6269775c2c
buffer: Add missing draw modes
7 lat temu
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 lat temu
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 lat temu
Johannes Hofmann
7a3a12aa68
Rename tile_layer -> mercator_tile_layer
and TileLayer -> MercatorTileLayer
7 lat temu
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 lat temu
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 lat temu
Johannes Hofmann
eefea571ea
Add orthografic_view::tile_neighbors and tests
7 lat temu
Johannes Hofmann
cd29a5f0c8
Update glutin (to 0.17) and become DPI aware
7 lat temu
Johannes Hofmann
4803a02187
Update dependencies (except glutin/winit)
7 lat temu
Johannes Hofmann
cf7f21acc3
Restructure modules
* Split up map_view module into
* map_view
* mercator_view
* orthografic_view
7 lat temu
Johannes Hofmann
333593ca95
Rename ViewMode -> Projection
ViewMode::Flat -> Projection::Mercator
ViewMode::Globe -> Projection::Orthografic
7 lat temu
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 lat temu
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 lat temu
Johannes Hofmann
c8959c4fdc
coord: Add TileCoord::globe_norm
7 lat temu
Johannes Hofmann
e64385d0ca
Add TileCoord::children_iter method and Iterator
7 lat temu
Johannes Hofmann
cfbf9d20fa
globe_tile_layer: Add missing tiles to globe's edge
7 lat temu
Johannes Hofmann
f482a08091
coord: Fix conversion edge cases
This removes the holes of the globe at the poles.
7 lat temu
Johannes Hofmann
d51ed6a905
globe_tile_layer: Combine transformation matrices
7 lat temu
Johannes Hofmann
7034b667a9
Fix seams between globe tiles
7 lat temu
Johannes Hofmann
408f7da93e
Rename coord::LatLon -> coord::LatLonDeg
7 lat temu
Johannes Hofmann
f5f4e00d26
coord: Add some conversions and tests
7 lat temu
Johannes Hofmann
d7a9681521
Render the map as a sphere
A work in progress...
7 lat temu
Johannes Hofmann
86d79ff4e3
Fix test
7 lat temu
Johannes Hofmann
d3c51824af
Add option --list-paths
7 lat temu
Johannes Hofmann
71befdbef1
Update dependencies (glutin->winit is now 0.15.1)
7 lat temu
Johannes Hofmann
d543ec8738
search: Fix bug and report all matching ways
7 lat temu
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 lat temu
Johannes Hofmann
e115c2acd1
search: Extract function for parallel blob iteration
7 lat temu
Johannes Hofmann
247770609a
Fix window title with restored session
7 lat temu
Johannes Hofmann
bfa801d2e3
Add option to store and restore last session
7 lat temu
Johannes Hofmann
c64b1bf28e
Fix clippy warnings
7 lat temu
Johannes Hofmann
2f257afb43
Add config key pbf_file
7 lat temu
Johannes Hofmann
2120e9b16f
Speed up searching
* Decode/search in parallel
* Start decoding the first Blob as soon as possible
* Update multiple markers at once
7 lat temu
Johannes Hofmann
fc394f3d20
Add coord::LatLon
7 lat temu
Johannes Hofmann
13d366fc1d
Extract code into tile_layer module
7 lat temu