Commit Graph

99 Commits

Author SHA1 Message Date
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
1216a061d3 move to libuv for the rendering loop 2014-04-30 12:01:26 +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
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
06bcab9560 correctly update the map dimensions on rotate
refs #37
2014-04-10 14:07:36 -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
Konstantin Käfer
85f0d9392b do not use shared pointers for buffers 2014-03-25 13:41:20 +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
67a8882457 use the correct glyphs 2014-03-24 11:13:20 +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
Konstantin Käfer
4ee0cf1791 port remainder of the the placement algorithm 2014-03-19 18:58:50 +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
25ff0b253f merge vec2 and Coordinate 2014-03-18 17:57:09 +01:00
Konstantin Käfer
168ee4659e rename text shader file 2014-03-17 12:31:13 +01:00
Konstantin Käfer
d9589573bc extract label shaping 2014-03-14 11:36:10 +01:00
Konstantin Käfer
8171c7bb43 add empty classes for rendering glyphs 2014-03-14 11:36:10 +01:00
Konstantin Käfer
8fd4d855d5 move shader classes to separate folder 2014-03-12 15:25:39 +01:00
Konstantin Käfer
af3bae59d6 limit matte to full hd 2014-03-11 12:16:54 +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
fc53caf99a use proper initializers 2014-03-05 16:45:47 +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
e85304d510 use depth buffer to avoid writing to opaque fragments 2014-03-04 11:21:42 +01:00
Konstantin Käfer
0a6dbc8064 Merge branch 'nostencil'
Conflicts:
	macosx/main.mm
	src/map/map.cpp
2014-03-03 16:02:13 +01:00
Konstantin Käfer
5d7ff19994 fix compile 2014-02-28 12:27:29 +01:00
Konstantin Käfer
4e73a4d47c Merge branch 'master' into tessellation
Conflicts:
	include/llmr/renderer/fill_bucket.hpp
	src/renderer/fill_bucket.cpp
	src/renderer/painter.cpp
2014-02-28 12:25:45 +01:00
Konstantin Käfer
eadafede08 use clipper and add missing vertices to avoid missing triangles 2014-02-27 16:00:49 +01:00
Konstantin Käfer
8d68bd73e7 draw a checkerboard stencil clipping mask initially 2014-02-26 12:24:17 +01:00
Konstantin Käfer
70ec13e302 fix compile error 2014-02-26 10:48:12 +01:00
Konstantin Käfer
f87e21b6e8 Merge branch 'tessellation' into nostencil
Conflicts:
	include/llmr/renderer/fill_bucket.hpp
	src/renderer/painter.cpp
2014-02-26 10:44:09 +01:00
Konstantin Käfer
e382cab17d make implicit type conversions explicit 2014-02-21 13:08:13 +01:00
Konstantin Käfer
7f5a674a91 add texture settings 2014-02-19 18:14:42 +01:00
Konstantin Käfer
504b60b93e don't used element arrays 2014-02-19 14:46:50 +01:00
Konstantin Käfer
ea80daa129 allow switching the vao if we switch the style from plain color to pattern fill 2014-02-18 15:56:23 +01:00
Konstantin Käfer
3843bf1ce5 better allocator defaults 2014-02-17 16:35:12 +01:00
Konstantin Käfer
b087c35c98 add tessellation library 2014-02-17 12:45:57 +01:00
Justin R. Miller
828d8ba26f refs #60: first cut of POI rendering
* add basic marker style to stylesheet
 * pass through marker style to PBF conversion
 * marker/point tile parsing, bucket, buffer, shaders, etc.
 * new sprite hosting for 1x/2x variants
 * sprite load accepts screen scale argument
2014-02-14 18:13:12 -08:00
Konstantin Käfer
da06a52056 cut down on redundant gl uniform changes 2014-02-13 16:21:51 +01:00
Konstantin Käfer
f5846e1ebb change line_strip drawing for outlines to indexed lines 2014-02-13 15:32:25 +01:00
Konstantin Käfer
54454ed66a optimizations + reorder vertex index 2014-02-13 14:10:04 +01:00