summaryrefslogtreecommitdiff
path: root/include/llmr/renderer/painter.hpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-03-21 13:36:32 +0100
committerKonstantin Käfer <mail@kkaefer.com>2014-03-21 13:36:32 +0100
commit3413ee536d1e3fdd30aeb8a0105f713115302279 (patch)
treef5d622751328ab7233b3631ae167f781c6e7e292 /include/llmr/renderer/painter.hpp
parent4ee0cf1791f8f4b787793d2612c583bfb8b9c62f (diff)
parent0730ca640b095662a918fa55486c7b5bc4eba31c (diff)
downloadqtlocation-mapboxgl-3413ee536d1e3fdd30aeb8a0105f713115302279.tar.gz
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
Diffstat (limited to 'include/llmr/renderer/painter.hpp')
-rw-r--r--include/llmr/renderer/painter.hpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/llmr/renderer/painter.hpp b/include/llmr/renderer/painter.hpp
index 71bb606153..0f8118ca5f 100644
--- a/include/llmr/renderer/painter.hpp
+++ b/include/llmr/renderer/painter.hpp
@@ -13,7 +13,7 @@
#include <llmr/shader/line_shader.hpp>
#include <llmr/shader/linejoin_shader.hpp>
#include <llmr/shader/point_shader.hpp>
-
+#include <llmr/shader/raster_shader.hpp>
namespace llmr {
@@ -44,10 +44,11 @@ public:
void resize(int width, int height);
void prepareClippingMask();
- void drawClippingMask(const mat4& matrix, uint8_t clip_id);
+ void drawClippingMask(const mat4& matrix, uint8_t clip_id, bool opaque = true);
void finishClippingMask();
private:
void setupShaders();
+ void renderRaster(const std::shared_ptr<TileData>& tile);
void renderLayers(const std::shared_ptr<TileData>& tile, const std::vector<LayerDescription>& layers);
void renderLayer(const std::shared_ptr<TileData>& tile_data, const LayerDescription& layer_desc);
void renderDebug(const std::shared_ptr<TileData>& tile);
@@ -82,6 +83,7 @@ private:
std::unique_ptr<LinejoinShader> linejoinShader;
std::unique_ptr<PatternShader> patternShader;
std::unique_ptr<PointShader> pointShader;
+ std::unique_ptr<RasterShader> rasterShader;
// Set up the stencil quad we're using to generate the stencil mask.
VertexBuffer tileStencilBuffer = {
@@ -98,6 +100,7 @@ private:
VertexArrayObject coveringPlainArray;
VertexArrayObject coveringPatternArray;
+ VertexArrayObject coveringRasterArray;
// Set up the tile boundary lines we're using to draw the tile outlines.
VertexBuffer tileBorderBuffer = {