diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-04-11 17:07:14 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-04-11 17:41:06 +0300 |
commit | 06bc2ea3c4c8232279b4398e8902199812f60f02 (patch) | |
tree | addd47c898bb5afdb4265cea9537024bd2bffec4 /src/mbgl/renderer/layers/render_circle_layer.cpp | |
parent | 099e320b5b3081b29490c420b579eda921aaed82 (diff) | |
download | qtlocation-mapboxgl-06bc2ea3c4c8232279b4398e8902199812f60f02.tar.gz |
[core] Render layers use synchronized buckets and paint propertiesupstream/mikhail_sync_buckets_and_paint_properties
Actual for layers rendering the geometry tile data: line, fill, fill-extrusion, heatmap, circle, symbol (was updated in previous commits).
Diffstat (limited to 'src/mbgl/renderer/layers/render_circle_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_circle_layer.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/mbgl/renderer/layers/render_circle_layer.cpp b/src/mbgl/renderer/layers/render_circle_layer.cpp index 9df20cf874..a0531afaed 100644 --- a/src/mbgl/renderer/layers/render_circle_layer.cpp +++ b/src/mbgl/renderer/layers/render_circle_layer.cpp @@ -56,17 +56,16 @@ void RenderCircleLayer::render(PaintParameters& parameters, RenderSource*) { if (parameters.pass == RenderPass::Opaque) { return; } - const auto& evaluated = static_cast<const CircleLayerProperties&>(*evaluatedProperties).evaluated; - const bool scaleWithMap = evaluated.get<CirclePitchScale>() == CirclePitchScaleType::Map; - const bool pitchWithMap = evaluated.get<CirclePitchAlignment>() == AlignmentType::Map; for (const RenderTile& tile : renderTiles) { - auto bucket_ = tile.tile.getBucket<CircleBucket>(*baseImpl); - if (!bucket_) { + const LayerRenderData* renderData = tile.tile.getLayerRenderData(*baseImpl); + if (!renderData) { continue; } - CircleBucket& bucket = *bucket_; - + auto& bucket = static_cast<CircleBucket&>(*renderData->bucket); + const auto& evaluated = getEvaluated<CircleLayerProperties>(renderData->layerProperties); + const bool scaleWithMap = evaluated.get<CirclePitchScale>() == CirclePitchScaleType::Map; + const bool pitchWithMap = evaluated.get<CirclePitchAlignment>() == AlignmentType::Map; const auto& paintPropertyBinders = bucket.paintPropertyBinders.at(getID()); auto& programInstance = parameters.programs.getCircleLayerPrograms().circle; |