diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-05-22 13:28:09 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-05-26 11:21:56 -0700 |
commit | aa216d00254c18f7b5903026ab1a489ae7797dd8 (patch) | |
tree | 7decb42cb0f8a8a5ae0e9d3bdcfdf69e76949e15 /src/mbgl/renderer | |
parent | 6cf9d5cfbfe8120121d8d53cbbf8915cea8f4879 (diff) | |
download | qtlocation-mapboxgl-aa216d00254c18f7b5903026ab1a489ae7797dd8.tar.gz |
[core] Don't use a separate SpriteAtlas for annotation images
Instead, just add them to the Style as needed. Includes changes from #8905 and takes care to avoid regressing #3817.
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/painter.cpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/painter.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/painters/painter_symbol.cpp | 5 |
4 files changed, 4 insertions, 9 deletions
diff --git a/src/mbgl/renderer/buckets/symbol_bucket.hpp b/src/mbgl/renderer/buckets/symbol_bucket.hpp index f30c9cf10e..652f2ea8e3 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.hpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.hpp @@ -70,8 +70,6 @@ public: optional<gl::VertexBuffer<CollisionBoxVertex>> vertexBuffer; optional<gl::IndexBuffer<gl::Lines>> indexBuffer; } collisionBox; - - SpriteAtlas* spriteAtlas = nullptr; }; } // namespace mbgl diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 7649f86ca6..3832403cce 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -125,7 +125,7 @@ void Painter::cleanup() { context.performCleanup(); } -void Painter::render(const Style& style, const FrameData& frame_, View& view, SpriteAtlas& annotationSpriteAtlas) { +void Painter::render(const Style& style, const FrameData& frame_, View& view) { frame = frame_; if (frame.contextMode == GLContextMode::Shared) { context.setDirtyState(); @@ -176,7 +176,6 @@ void Painter::render(const Style& style, const FrameData& frame_, View& view, Sp lineAtlas->upload(context, 0); glyphAtlas->upload(context, 0); frameHistory.upload(context, 0); - annotationSpriteAtlas.upload(context, 0); for (const auto& item : order) { for (const auto& tileRef : item.tiles) { diff --git a/src/mbgl/renderer/painter.hpp b/src/mbgl/renderer/painter.hpp index 47b469d971..e2777134d0 100644 --- a/src/mbgl/renderer/painter.hpp +++ b/src/mbgl/renderer/painter.hpp @@ -79,8 +79,7 @@ public: void render(const style::Style&, const FrameData&, - View&, - SpriteAtlas& annotationSpriteAtlas); + View&); void cleanup(); diff --git a/src/mbgl/renderer/painters/painter_symbol.cpp b/src/mbgl/renderer/painters/painter_symbol.cpp index a89e7db28d..563489987c 100644 --- a/src/mbgl/renderer/painters/painter_symbol.cpp +++ b/src/mbgl/renderer/painters/painter_symbol.cpp @@ -67,12 +67,11 @@ void Painter::renderSymbol(PaintParameters& parameters, auto values = layer.iconPropertyValues(layout); auto paintPropertyValues = layer.iconPaintProperties(); - SpriteAtlas& atlas = *bucket.spriteAtlas; const bool iconScaled = layout.get<IconSize>().constantOr(1.0) != 1.0 || bucket.iconsNeedLinear; const bool iconTransformed = values.rotationAlignment == AlignmentType::Map || state.getPitch() != 0; - atlas.bind(bucket.sdfIcons || state.isChanging() || iconScaled || iconTransformed, context, 0); + spriteAtlas->bind(bucket.sdfIcons || state.isChanging() || iconScaled || iconTransformed, context, 0); - const Size texsize = atlas.getPixelSize(); + const Size texsize = spriteAtlas->getPixelSize(); if (bucket.sdfIcons) { if (values.hasHalo) { |