Commit Graph

130 Commits

Author SHA1 Message Date
Konstantin Käfer
7bfcde4025 split up painter into multiple files 2014-05-13 15:37:45 +02:00
Konstantin Käfer
2b14579986 only paint layer if it has data
refs #184
2014-05-12 19:08:59 +02:00
Konstantin Käfer
6ebb4c21f7 clean up gl::group() structure 2014-05-12 18:25:48 +02:00
Konstantin Käfer
6136ab6d21 draw by layer, not by tile
This is needed for correctly compositing raster imagery into the map

fixes #122
fixes #157
2014-05-12 17:13:26 +02:00
Konstantin Käfer
0bfd7b0f43 Calculate clip IDs with a huffman prefix tree
This changes the clip IDs from sequential to a huffman prefix tree, meaning that
parent tiles share the same prefix with child tiles (but are shorter). This allows
us to use the same checkerboard pattern to draw all tiles.

TODO:
- make sure we're not overflowing the 8 bit limit of the stencil buffer
- draw all checkerboard fields at the same time, with one draw call
- fix raster drawing (fading, clipping)

refs #132
2014-05-09 18:10:28 +02:00
Justin R. Miller
2b9fbb0731 squashed stylequest merge
* uses OSM Bright style
 * adds dot shader
 * adds layer translation
 * adds dashed line support
 * adds style array parsing
 * improves background layer parsing
 * improves style constant parsing
 * fixes sprite JSON pixel ratio parsing
2014-05-07 10:37:25 -07:00
Konstantin Käfer
52cd9a6561 update framehistory to use nanosecond timestamps 2014-04-30 14:25:57 +02:00
Konstantin Käfer
74768abeb8 make sure we call the sprite load callback 2014-04-30 12:58:38 +02:00
Konstantin Käfer
1216a061d3 move to libuv for the rendering loop 2014-04-30 12:01:26 +02:00
Konstantin Käfer
ddc359f006 add more timers to headless test 2014-04-25 17:04:22 +02:00
Konstantin Käfer
666f593803 use an event loop per map that is not the render thread 2014-04-25 14:26:59 +02:00
Konstantin Käfer
29d6f22e48 make sure we use a sufficiently large rect
using this on my 1920x1200 display shows the bottom cut off
2014-04-23 18:00:46 +02:00
Konstantin Käfer
b119aa92d8 remove Settings object from Painter 2014-04-16 16:45:09 -04:00
Konstantin Käfer
797f590cfb cleanup + unused arguments 2014-04-16 10:55:06 -04:00
Konstantin Käfer
d43044249c make sure we always have a non-zero viewport 2014-04-15 18:45:51 -04:00
Konstantin Käfer
2e4637ea1d remove opacity (use color instead) 2014-04-15 18:42:23 -04:00
Konstantin Käfer
3c656d2bf2 add debug markers for easier gl debugging 2014-04-15 14:30:05 -04:00
Konstantin Käfer
f859945e06 fix clipping 2014-04-15 13:22:32 -04:00
Konstantin Käfer
78c10c0701 Merge remote-tracking branch 'remotes/origin/pr/127'
Conflicts:
	include/llmr/map/map.hpp
	src/map/map.cpp
	src/platform/platform.cpp
2014-04-15 12:46:19 -04:00
Konstantin Käfer
f18aa61e33 derive from GLKViewController
this handles resizing the view/framebuffer much better

fixes #130, #131, #133, #118
2014-04-14 18:50:17 -04:00
Konstantin Käfer
442d9ce4ec we only need 2px lines here 2014-04-10 14:30:00 -04:00
Konstantin Käfer
06bcab9560 correctly update the map dimensions on rotate
refs #37
2014-04-10 14:07:36 -04:00
Konstantin Käfer
eb499e77c1 fix linejoin drawing on retina 2014-04-10 11:49:43 -04:00
Justin R. Miller
e5713f31a6 move to raster buckets & tile parser handling raster decoding 2014-04-09 11:38:42 -07:00
Justin R. Miller
1215f6f1fe refs #101: data sources with styling
* add second, satellite class to stylesheet
 * get rid of tile clipping masks for now
 * flesh out raster styling properties
2014-04-04 13:24:11 -07:00
Justin R. Miller
2eca1c419b add support for background opacity in style 2014-04-02 16:09:31 -07:00
Justin R. Miller
f60a46229d refs #101: first cut of basic hacky data sources 2014-04-02 11:07:22 -07:00
Konstantin Käfer
67b1d8df51 fix build by changing to enabled 2014-03-25 13:40:47 +01:00
Konstantin Käfer
166305fb14 change hidden to enabled
refs #83
2014-03-25 13:23:51 +01:00
Konstantin Käfer
afe27ed74c only animate when we need to fade the text 2014-03-24 18:00:03 +01:00
Konstantin Käfer
b4a67a959c remove commented out js code 2014-03-24 17:39:37 +01:00
Konstantin Käfer
9621038d8a implement alwaysVisible 2014-03-24 17:38:10 +01:00
Konstantin Käfer
f9759d72a6 set correct strata 2014-03-24 14:45:56 +01:00
Konstantin Käfer
5c613b5455 normalizedZoom() == zoom level of the visual appearance 2014-03-24 14:44:44 +01:00
Konstantin Käfer
ea6b24d02d add text rendering code 2014-03-21 17:36:29 +01:00
Konstantin Käfer
a7b9b96d4d add textshader 2014-03-21 14:26:25 +01:00
Konstantin Käfer
3413ee536d Merge branch 'master' into sdf
Conflicts:
	include/llmr/map/tile_data.hpp
	include/llmr/shader/shaders.hpp
	src/map/map.cpp
	src/map/tile_data.cpp
	src/platform/platform.cpp
	src/shader/shaders.cpp
2014-03-21 13:36:32 +01:00
Justin R. Miller
00a3245ce8 fixes #70: raster tile rendering as toggleable mode from vector 2014-03-18 16:57:17 -07:00
Konstantin Käfer
8171c7bb43 add empty classes for rendering glyphs 2014-03-14 11:36:10 +01:00
Konstantin Käfer
c44d056c24 respect style background color 2014-03-12 11:42:17 +01:00
Konstantin Käfer
978b714de8 two render passes
Conflicts:
	resources/style.pbf
	src/renderer/painter.cpp
	src/style/resources.cpp
2014-03-11 12:15:06 +01:00
Konstantin Käfer
b7b2812d30 remove debug uniform 2014-03-11 12:09:39 +01:00
Konstantin Käfer
69a5c0e15f better support for gles2 2014-03-05 16:58:46 +01:00
Konstantin Käfer
1fbaa95b02 fix tile loading 2014-03-05 16:40:07 +01:00
Konstantin Käfer
a3a1b812c8 don't pass around pointers if all we need is the state 2014-03-05 09:56:36 +01:00
Konstantin Käfer
027c6f33b3 implement tile wrapping
fixes #14
2014-03-05 09:40:32 +01:00
Konstantin Käfer
b0ddabd6ac rename Tile to TileData 2014-03-04 17:53:16 +01:00
Konstantin Käfer
ba5070bf52 Port scanline algorithm from _getCoveringTiles()
fixes #22
2014-03-04 14:50:17 +01:00
Konstantin Käfer
ed5e335da1 do not write linejoin fragments to depth buffer 2014-03-04 11:35:37 +01:00
Konstantin Käfer
e85304d510 use depth buffer to avoid writing to opaque fragments 2014-03-04 11:21:42 +01:00