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 лет назад
Johannes Hofmann
6269775c2c
buffer: Add missing draw modes
7 лет назад
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 лет назад
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 лет назад
Johannes Hofmann
7a3a12aa68
Rename tile_layer -> mercator_tile_layer
and TileLayer -> MercatorTileLayer
7 лет назад
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 лет назад
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 лет назад
Johannes Hofmann
eefea571ea
Add orthografic_view::tile_neighbors and tests
7 лет назад
Johannes Hofmann
cd29a5f0c8
Update glutin (to 0.17) and become DPI aware
7 лет назад
Johannes Hofmann
4803a02187
Update dependencies (except glutin/winit)
7 лет назад
Johannes Hofmann
cf7f21acc3
Restructure modules
* Split up map_view module into
* map_view
* mercator_view
* orthografic_view
7 лет назад
Johannes Hofmann
333593ca95
Rename ViewMode -> Projection
ViewMode::Flat -> Projection::Mercator
ViewMode::Globe -> Projection::Orthografic
7 лет назад
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 лет назад
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 лет назад
Johannes Hofmann
c8959c4fdc
coord: Add TileCoord::globe_norm
7 лет назад
Johannes Hofmann
e64385d0ca
Add TileCoord::children_iter method and Iterator
7 лет назад
Johannes Hofmann
cfbf9d20fa
globe_tile_layer: Add missing tiles to globe's edge
7 лет назад
Johannes Hofmann
f482a08091
coord: Fix conversion edge cases
This removes the holes of the globe at the poles.
7 лет назад
Johannes Hofmann
d51ed6a905
globe_tile_layer: Combine transformation matrices
7 лет назад
Johannes Hofmann
7034b667a9
Fix seams between globe tiles
7 лет назад
Johannes Hofmann
408f7da93e
Rename coord::LatLon -> coord::LatLonDeg
7 лет назад
Johannes Hofmann
f5f4e00d26
coord: Add some conversions and tests
7 лет назад
Johannes Hofmann
d7a9681521
Render the map as a sphere
A work in progress...
7 лет назад
Johannes Hofmann
86d79ff4e3
Fix test
7 лет назад
Johannes Hofmann
d3c51824af
Add option --list-paths
7 лет назад
Johannes Hofmann
71befdbef1
Update dependencies (glutin->winit is now 0.15.1)
7 лет назад
Johannes Hofmann
d543ec8738
search: Fix bug and report all matching ways
7 лет назад
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 лет назад
Johannes Hofmann
e115c2acd1
search: Extract function for parallel blob iteration
7 лет назад
Johannes Hofmann
247770609a
Fix window title with restored session
7 лет назад
Johannes Hofmann
bfa801d2e3
Add option to store and restore last session
7 лет назад
Johannes Hofmann
c64b1bf28e
Fix clippy warnings
7 лет назад
Johannes Hofmann
2f257afb43
Add config key pbf_file
7 лет назад
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 лет назад
Johannes Hofmann
fc394f3d20
Add coord::LatLon
7 лет назад
Johannes Hofmann
13d366fc1d
Extract code into tile_layer module
7 лет назад
Johannes Hofmann
ec1da095e8
Update dependencies
7 лет назад
Johannes Hofmann
3ffbe5011c
search_pbf: Update closure can change control flow
7 лет назад
Johannes Hofmann
ea610bdeaa
travis: Add Rust beta channel
7 лет назад
Johannes Hofmann
5f47684dc4
Extract code into marker_layer module
7 лет назад
Johannes Hofmann
b12e7885ed
Add search module
7 лет назад
Johannes Hofmann
2f5db2e7ad
Fix marker visibility calculation
7 лет назад
Johannes Hofmann
bea18cc290
Add some jobs to .appveyor.yml
7 лет назад
Johannes Hofmann
f478fc1e07
Search Nodes in addition to DenseNodes
7 лет назад
Johannes Hofmann
0f30790da8
Search PBF files and display matches as markers
Use the parameters -s and --pbf for this.
7 лет назад
Johannes Hofmann
c430500e69
Support drawing markers
7 лет назад
Johannes Hofmann
5891c0de46
Cache enabled vertex attributes, store params
* Cache the enabled vertex attributes in `Context`
* The vertex attribute parameters (offset, stride, ...) are not cached,
yet
* Store parameters as `VertexAttribParams` in `Program`
7 лет назад
Johannes Hofmann
43ecb10350
context: Cache active buffer
This reduces calls to glUseBuffer.
7 лет назад
Johannes Hofmann
4962639d01
context: Cache active program
This would reduce the calls to glUseProgram if there actually was more
than one program.
7 лет назад
Johannes Hofmann
c7f1518897
Cache active texture unit, assign unit to texture
Each Texture is bound to a unique texture unit (glBindTexture is called
only once). Context keeps track of the current active texture unit and
reduces the number of glActiveTexture calls to a minimum.
7 лет назад