From 06bc2ea3c4c8232279b4398e8902199812f60f02 Mon Sep 17 00:00:00 2001 From: Mikhail Pozdnyakov Date: Thu, 11 Apr 2019 17:07:14 +0300 Subject: [core] Render layers use synchronized buckets and paint properties Actual for layers rendering the geometry tile data: line, fill, fill-extrusion, heatmap, circle, symbol (was updated in previous commits). --- src/mbgl/renderer/layers/render_heatmap_layer.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/mbgl/renderer/layers/render_heatmap_layer.cpp') diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.cpp b/src/mbgl/renderer/layers/render_heatmap_layer.cpp index 83a989195b..1f3c179acc 100644 --- a/src/mbgl/renderer/layers/render_heatmap_layer.cpp +++ b/src/mbgl/renderer/layers/render_heatmap_layer.cpp @@ -59,7 +59,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { if (parameters.pass == RenderPass::Opaque) { return; } - const auto& evaluated = static_cast(*evaluatedProperties).evaluated; + if (parameters.pass == RenderPass::Pass3D) { const auto& viewportSize = parameters.staticData.backendSize; const auto size = Size{viewportSize.width / 4, viewportSize.height / 4}; @@ -89,11 +89,12 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { "heatmap texture", { *renderTexture, Color{ 0.0f, 0.0f, 0.0f, 1.0f }, {}, {} }); for (const RenderTile& tile : renderTiles) { - auto bucket_ = tile.tile.getBucket(*baseImpl); - if (!bucket_) { + const LayerRenderData* renderData = tile.tile.getLayerRenderData(*baseImpl); + if (!renderData) { continue; } - HeatmapBucket& bucket = *bucket_; + auto& bucket = static_cast(*renderData->bucket); + const auto& evaluated = getEvaluated(renderData->layerProperties); const auto extrudeScale = tile.id.pixelsToTileUnits(1, parameters.state.getZoom()); @@ -155,7 +156,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { HeatmapTextureProgram::LayoutUniformValues{ uniforms::matrix::Value( viewportMat ), uniforms::world::Value( size ), - uniforms::opacity::Value( evaluated.get() ) + uniforms::opacity::Value( getEvaluated(evaluatedProperties).get() ) }, paintAttributeData, properties, -- cgit v1.2.1