diff options
author | Ansis Brammanis <ansis@mapbox.com> | 2017-11-07 16:10:58 -0500 |
---|---|---|
committer | Ansis Brammanis <ansis@mapbox.com> | 2017-11-09 13:11:31 -0500 |
commit | cd10190515693dae6cca7ad9087046a8dd2350a6 (patch) | |
tree | 4adc154d0a880486f0abc45c83755ca525375979 /src/mbgl/renderer/layers/render_symbol_layer.cpp | |
parent | 0f4eed2959f7741ccf73dd79297b5fe17ff23829 (diff) | |
download | qtlocation-mapboxgl-upstream/start-collision-async.tar.gz |
partially do Placement asyncupstream/start-collision-async
Diffstat (limited to 'src/mbgl/renderer/layers/render_symbol_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index e194c9c857..9a3aceed77 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -78,7 +78,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { assert(dynamic_cast<SymbolBucket*>(tile.tile.getBucket(*baseImpl))); SymbolBucket& bucket = *reinterpret_cast<SymbolBucket*>(tile.tile.getBucket(*baseImpl)); - const auto& layout = bucket.layout; + const auto& core = **bucket.core; + const auto& layout = core.layout; auto draw = [&] (auto& program, auto&& uniformValues, @@ -127,11 +128,12 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { if (alongLine) { reprojectLineLabels(bucket.icon.dynamicVertices, - bucket.icon.placedSymbols, + core.placedIconSymbols, + bucket.icon.placedSymbolVisibility, tile.matrix, values, tile, - *bucket.iconSizeBinder, + *core.iconSizeBinder, parameters.state); parameters.context.updateVertexBuffer(*bucket.icon.dynamicVertexBuffer, std::move(bucket.icon.dynamicVertices)); @@ -151,7 +153,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { draw(parameters.programs.symbolIconSDF, SymbolSDFIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Halo), bucket.icon, - bucket.iconSizeBinder, + core.iconSizeBinder, values, bucket.paintPropertyBinders.at(getID()).first, paintPropertyValues); @@ -161,7 +163,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { draw(parameters.programs.symbolIconSDF, SymbolSDFIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Fill), bucket.icon, - bucket.iconSizeBinder, + core.iconSizeBinder, values, bucket.paintPropertyBinders.at(getID()).first, paintPropertyValues); @@ -170,7 +172,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { draw(parameters.programs.symbolIcon, SymbolIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange), bucket.icon, - bucket.iconSizeBinder, + core.iconSizeBinder, values, bucket.paintPropertyBinders.at(getID()).first, paintPropertyValues); @@ -188,11 +190,12 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { if (alongLine) { reprojectLineLabels(bucket.text.dynamicVertices, - bucket.text.placedSymbols, + core.placedTextSymbols, + bucket.text.placedSymbolVisibility, tile.matrix, values, tile, - *bucket.textSizeBinder, + *core.textSizeBinder, parameters.state); parameters.context.updateVertexBuffer(*bucket.text.dynamicVertexBuffer, std::move(bucket.text.dynamicVertices)); @@ -204,7 +207,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { draw(parameters.programs.symbolGlyph, SymbolSDFTextProgram::uniformValues(true, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Halo), bucket.text, - bucket.textSizeBinder, + core.textSizeBinder, values, bucket.paintPropertyBinders.at(getID()).second, paintPropertyValues); @@ -214,7 +217,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { draw(parameters.programs.symbolGlyph, SymbolSDFTextProgram::uniformValues(true, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Fill), bucket.text, - bucket.textSizeBinder, + core.textSizeBinder, values, bucket.paintPropertyBinders.at(getID()).second, paintPropertyValues); |