diff options
-rw-r--r-- | include/mbgl/map/map.hpp | 2 | ||||
-rw-r--r-- | include/mbgl/renderer/painter.hpp | 4 | ||||
-rw-r--r-- | src/map/map.cpp | 12 | ||||
-rw-r--r-- | src/renderer/painter.cpp | 8 | ||||
-rw-r--r-- | src/renderer/painter_fill.cpp | 6 | ||||
-rw-r--r-- | src/renderer/painter_line.cpp | 2 | ||||
-rw-r--r-- | src/renderer/painter_raster.cpp | 6 | ||||
-rw-r--r-- | src/renderer/painter_symbol.cpp | 2 |
8 files changed, 21 insertions, 21 deletions
diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp index b837f79282..14f8f40916 100644 --- a/include/mbgl/map/map.hpp +++ b/include/mbgl/map/map.hpp @@ -45,8 +45,6 @@ public: // Triggers a lazy rerender: only performs a render when the map is not clean. void rerender(); - enum RenderPass { Opaque, Translucent }; - void renderLayer(std::shared_ptr<StyleLayer> layer_desc, RenderPass pass, const Tile::ID* id = nullptr, const mat4* matrix = nullptr); // Forces a map update: always triggers a rerender. diff --git a/include/mbgl/renderer/painter.hpp b/include/mbgl/renderer/painter.hpp index 710e6134b7..385e8bdd0e 100644 --- a/include/mbgl/renderer/painter.hpp +++ b/include/mbgl/renderer/painter.hpp @@ -29,6 +29,8 @@ namespace mbgl { +enum class RenderPass : bool { Opaque, Translucent }; + class Transform; class Style; class Tile; @@ -154,7 +156,7 @@ private: bool gl_depthMask = true; std::array<uint16_t, 2> gl_viewport = {{ 0, 0 }}; float strata = 0; - enum { Opaque, Translucent } pass = Opaque; + RenderPass pass = RenderPass::Opaque; const float strata_epsilon = 1.0f / (1 << 16); public: diff --git a/src/map/map.cpp b/src/map/map.cpp index 3a46be466c..60ddaa5976 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -611,7 +611,7 @@ void Map::renderLayers(std::shared_ptr<StyleLayerGroup> group) { for (auto it = group->layers.rbegin(), end = group->layers.rend(); it != end; ++it, ++i) { painter.setOpaque(); painter.setStrata(i * strata_thickness); - renderLayer(*it, Opaque); + renderLayer(*it, RenderPass::Opaque); } if (debug::renderTree) { std::cout << std::string(--indent * 4, ' ') << "}" << std::endl; @@ -627,7 +627,7 @@ void Map::renderLayers(std::shared_ptr<StyleLayerGroup> group) { for (auto it = group->layers.begin(), end = group->layers.end(); it != end; ++it, --i) { painter.setTranslucent(); painter.setStrata(i * strata_thickness); - renderLayer(*it, Translucent); + renderLayer(*it, RenderPass::Translucent); } if (debug::renderTree) { std::cout << std::string(--indent * 4, ' ') << "}" << std::endl; @@ -637,7 +637,7 @@ void Map::renderLayers(std::shared_ptr<StyleLayerGroup> group) { void Map::renderLayer(std::shared_ptr<StyleLayer> layer_desc, RenderPass pass, const Tile::ID* id, const mat4* matrix) { if (layer_desc->layers && layer_desc->type != StyleLayerType::Raster) { // This is a layer group. We render them during our translucent render pass. - if (pass == Translucent) { + if (pass == RenderPass::Translucent) { const CompositeProperties &properties = layer_desc->getProperties<CompositeProperties>(); if (properties.isVisible()) { gl::group group(std::string("group: ") + layer_desc->id); @@ -698,15 +698,15 @@ void Map::renderLayer(std::shared_ptr<StyleLayer> layer_desc, RenderPass pass, c if (!layer_desc->getProperties<FillProperties>().isVisible()) return; break; case StyleLayerType::Line: - if (pass == Opaque) return; + if (pass == RenderPass::Opaque) return; if (!layer_desc->getProperties<LineProperties>().isVisible()) return; break; case StyleLayerType::Symbol: - if (pass == Opaque) return; + if (pass == RenderPass::Opaque) return; if (!layer_desc->getProperties<SymbolProperties>().isVisible()) return; break; case StyleLayerType::Raster: - if (pass == Opaque) return; + if (pass == RenderPass::Opaque) return; if (!layer_desc->getProperties<RasterProperties>().isVisible()) return; break; default: diff --git a/src/renderer/painter.cpp b/src/renderer/painter.cpp index e2da2d0e56..956543d26b 100644 --- a/src/renderer/painter.cpp +++ b/src/renderer/painter.cpp @@ -144,16 +144,16 @@ void Painter::clear() { } void Painter::setOpaque() { - if (pass != Opaque) { - pass = Opaque; + if (pass != RenderPass::Opaque) { + pass = RenderPass::Opaque; glDisable(GL_BLEND); depthMask(true); } } void Painter::setTranslucent() { - if (pass != Translucent) { - pass = Translucent; + if (pass != RenderPass::Translucent) { + pass = RenderPass::Translucent; glEnable(GL_BLEND); depthMask(false); } diff --git a/src/renderer/painter_fill.cpp b/src/renderer/painter_fill.cpp index 1717639338..8306dd0a2e 100644 --- a/src/renderer/painter_fill.cpp +++ b/src/renderer/painter_fill.cpp @@ -38,7 +38,7 @@ void Painter::renderFill(FillBucket& bucket, const FillProperties& properties, c // Because we're drawing top-to-bottom, and we update the stencil mask // below, we have to draw the outline first (!) - if (outline && pass == Translucent) { + if (outline && pass == RenderPass::Translucent) { useProgram(outlineShader->program); outlineShader->setMatrix(vtxMatrix); lineWidth(2.0f); // This is always fixed and does not depend on the pixelRatio! @@ -70,7 +70,7 @@ void Painter::renderFill(FillBucket& bucket, const FillProperties& properties, c // glStencilOp(GL_KEEP, GL_KEEP, GL_INCR_WRAP); } - if ((fill_color[3] >= 1.0f) == (pass == Opaque)) { + if ((fill_color[3] >= 1.0f) == (pass == RenderPass::Opaque)) { Sprite &sprite = *map.getSprite(); if (properties.image.size() && sprite) { SpriteAtlas &spriteAtlas = *map.getSpriteAtlas(); @@ -128,7 +128,7 @@ void Painter::renderFill(FillBucket& bucket, const FillProperties& properties, c // Because we're drawing top-to-bottom, and we update the stencil mask // below, we have to draw the outline first (!) - if (fringeline && pass == Translucent) { + if (fringeline && pass == RenderPass::Translucent) { useProgram(outlineShader->program); outlineShader->setMatrix(vtxMatrix); lineWidth(2.0f); // This is always fixed and does not depend on the pixelRatio! diff --git a/src/renderer/painter_line.cpp b/src/renderer/painter_line.cpp index 20c6491fcc..375b99297d 100644 --- a/src/renderer/painter_line.cpp +++ b/src/renderer/painter_line.cpp @@ -7,7 +7,7 @@ using namespace mbgl; void Painter::renderLine(LineBucket& bucket, std::shared_ptr<StyleLayer> layer_desc, const Tile::ID& id, const mat4 &matrix) { // Abort early. - if (pass == Opaque) return; + if (pass == RenderPass::Opaque) return; if (!bucket.hasData()) return; const LineProperties &properties = layer_desc->getProperties<LineProperties>(); diff --git a/src/renderer/painter_raster.cpp b/src/renderer/painter_raster.cpp index b5f09a3e19..3f2de8591d 100644 --- a/src/renderer/painter_raster.cpp +++ b/src/renderer/painter_raster.cpp @@ -10,7 +10,7 @@ using namespace mbgl; void Painter::renderRaster(RasterBucket& bucket, std::shared_ptr<StyleLayer> layer_desc, const Tile::ID& id, const mat4 &matrix) { - if (pass != Translucent) return; + if (pass != RenderPass::Translucent) return; const RasterProperties &properties = layer_desc->getProperties<RasterProperties>(); @@ -37,9 +37,9 @@ void Painter::renderRaster(RasterBucket& bucket, std::shared_ptr<StyleLayer> lay int i = 0; for (auto it = layer_desc->layers->layers.begin(), end = layer_desc->layers->layers.end(); it != end; ++it, --i) { setOpaque(); - map.renderLayer(*it, Map::RenderPass::Opaque, &id, &preMatrix); + map.renderLayer(*it, RenderPass::Opaque, &id, &preMatrix); setTranslucent(); - map.renderLayer(*it, Map::RenderPass::Translucent, &id, &preMatrix); + map.renderLayer(*it, RenderPass::Translucent, &id, &preMatrix); } if (bucket.properties.blur > 0) { diff --git a/src/renderer/painter_symbol.cpp b/src/renderer/painter_symbol.cpp index 497051f772..720f84d24e 100644 --- a/src/renderer/painter_symbol.cpp +++ b/src/renderer/painter_symbol.cpp @@ -12,7 +12,7 @@ namespace mbgl { void Painter::renderSymbol(SymbolBucket &bucket, std::shared_ptr<StyleLayer> layer_desc, const Tile::ID &/*id*/, const mat4 &matrix) { // Abort early. - if (pass == Opaque) { + if (pass == RenderPass::Opaque) { return; } |