summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-02-05 18:35:19 +0100
committerKonstantin Käfer <mail@kkaefer.com>2014-02-05 18:35:19 +0100
commite94cb1b00b81685a958219e749ea638dc087adb6 (patch)
treebbbcc3a580c557856990dc6f09c2cb7714a65a32 /include
parentc922980eebc6d32e68c8cfcd5f90eeb767791549 (diff)
downloadqtlocation-mapboxgl-e94cb1b00b81685a958219e749ea638dc087adb6.tar.gz
remove switchShader()
Diffstat (limited to 'include')
-rw-r--r--include/llmr/renderer/painter.hpp40
-rw-r--r--include/llmr/renderer/shader.hpp3
2 files changed, 16 insertions, 27 deletions
diff --git a/include/llmr/renderer/painter.hpp b/include/llmr/renderer/painter.hpp
index 7688763acf..b638fcca18 100644
--- a/include/llmr/renderer/painter.hpp
+++ b/include/llmr/renderer/painter.hpp
@@ -6,20 +6,19 @@
#include <llmr/geometry/vertex_buffer.hpp>
#include <llmr/util/mat4.hpp>
+#include <llmr/renderer/shader-plain.hpp>
+#include <llmr/renderer/shader-fill.hpp>
+#include <llmr/renderer/shader-outline.hpp>
+#include <llmr/renderer/shader-pattern.hpp>
+#include <llmr/renderer/shader-line.hpp>
+
+
namespace llmr {
class Transform;
class Settings;
class Style;
class Tile;
-// class LayerDescription;
-
-class Shader;
-class PlainShader;
-class OutlineShader;
-class FillShader;
-class LineShader;
-class PatternShader;
class FillBucket;
class LineBucket;
@@ -34,29 +33,21 @@ public:
Painter& operator=(const Painter&) = delete;
Painter& operator=(const Painter && ) = delete;
-
void setup();
-
void clear();
void changeMatrix(const Tile::ID& id);
void render(const std::shared_ptr<Tile>& tile);
- void renderLayers(const std::shared_ptr<Tile>& tile, const std::vector<LayerDescription>& layers);
- void renderDebug(const std::shared_ptr<Tile>& tile);
-
void renderMatte();
void renderBackground();
void renderFill(FillBucket& bucket, const std::string& layer_name, const Tile::ID& id);
void renderLine(LineBucket& bucket, const std::string& layer_name, const Tile::ID& id);
-
- void drawClippingMask();
- bool switchShader(std::shared_ptr<Shader> shader);
-
private:
void setupShaders();
-
-public:
+ void drawClippingMask();
+ void renderLayers(const std::shared_ptr<Tile>& tile, const std::vector<LayerDescription>& layers);
+ void renderDebug(const std::shared_ptr<Tile>& tile);
private:
Transform& transform;
@@ -67,12 +58,11 @@ private:
mat4 matrix;
mat4 exMatrix;
- std::shared_ptr<Shader> currentShader;
- std::shared_ptr<FillShader> fillShader;
- std::shared_ptr<PlainShader> plainShader;
- std::shared_ptr<OutlineShader> outlineShader;
- std::shared_ptr<LineShader> lineShader;
- std::shared_ptr<PatternShader> patternShader;
+ std::unique_ptr<FillShader> fillShader;
+ std::unique_ptr<PlainShader> plainShader;
+ std::unique_ptr<OutlineShader> outlineShader;
+ std::unique_ptr<LineShader> lineShader;
+ std::unique_ptr<PatternShader> patternShader;
// Set up the stencil quad we're using to generate the stencil mask.
VertexBuffer tileStencilBuffer = {
diff --git a/include/llmr/renderer/shader.hpp b/include/llmr/renderer/shader.hpp
index a32d0b647c..26674d2d62 100644
--- a/include/llmr/renderer/shader.hpp
+++ b/include/llmr/renderer/shader.hpp
@@ -1,7 +1,7 @@
#ifndef LLMR_RENDERER_SHADER
#define LLMR_RENDERER_SHADER
-#include <forward_list>
+#include <cstdint>
namespace llmr {
@@ -18,7 +18,6 @@ public:
bool valid;
uint32_t program;
- std::forward_list<uint32_t> attributes;
private:
bool compileShader(uint32_t *shader, uint32_t type, const char *source);