diff options
Diffstat (limited to 'src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp index 29002d8bdf..5ad2e53a5b 100644 --- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp +++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp @@ -55,7 +55,12 @@ bool RenderFillExtrusionLayer::hasCrossfade() const { return getCrossfade<FillExtrusionLayerProperties>(evaluatedProperties).t != 1; } +bool RenderFillExtrusionLayer::is3D() const { + return true; +} + void RenderFillExtrusionLayer::render(PaintParameters& parameters) { + assert(renderTiles); if (parameters.pass != RenderPass::Translucent) { return; } @@ -115,7 +120,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters) { if (unevaluated.get<FillExtrusionPattern>().isUndefined()) { // Draw solid color extrusions auto drawTiles = [&](const gfx::StencilMode& stencilMode_, const gfx::ColorMode& colorMode_, const std::string& name) { - for (const RenderTile& tile : renderTiles) { + for (const RenderTile& tile : *renderTiles) { const LayerRenderData* renderData = tile.getLayerRenderData(*baseImpl); if (!renderData) { continue; @@ -162,7 +167,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters) { // Draw textured extrusions const auto fillPatternValue = evaluated.get<FillExtrusionPattern>().constantOr(mbgl::Faded<std::basic_string<char> >{"", ""}); auto drawTiles = [&](const gfx::StencilMode& stencilMode_, const gfx::ColorMode& colorMode_, const std::string& name) { - for (const RenderTile& tile : renderTiles) { + for (const RenderTile& tile : *renderTiles) { const LayerRenderData* renderData = tile.getLayerRenderData(*baseImpl); if (!renderData) { continue; |