| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Since placements will be committed even if they do not need the full
fade duration to fade features in, we need the new `fadeStartTime` to
keep track of how long we still need to fade. This is important because
if we fade too long we will trigger another placement and never stop
rendering.
|
|
|
|
|
|
| |
GLIBC 2.27 added new versioned symbols of powf and logf, while the double versions of pow and log remained stable.
Prefer the double version to avoid introducing a dependency on a newer version of GLIBC than strictly necessary.
See https://lists.gnu.org/archive/html/info-gnu/2018-02/msg00000.html
|
| |
|
|
|
|
|
|
|
|
|
| |
Native version of mapbox/mapbox-gl-js#6548.
Port of mapbox/mapbox-gl-js#6550.
Prevents symbols that share the same layout properties from colliding against each other.
Bump GL JS pin to get regression test.
Rename "bucketName" -> "bucketLeaderID" to make it clearer what it represents.
|
|
|
|
| |
Fixes issue #11811 (too much CPU time spent in CrossTileSymbolIndex).
|
|
|
|
|
| |
- assert symbol layer tiles must be geometry tiles, instead of dynamically checking
- re-use retainedBucketQuery iterator instead of calling find twice.
|
|
|
|
|
|
|
| |
- Symbol querying is now global instead of per-tile
- Symbols that bleed over tile boundaries no longer missed in queries
- Symbol results now sorted based on rendering order (ie overlapping symbols change their sort order when a bearing change causes their render order to change)
- Placement::retainedQueryData now responsible for maintaining symbol querying data for buckets that may no longer be in the TilePyramid.
|
| |
|
| |
|
|
|
|
| |
Fixes issue #10939 -- removed layers would leak entries in the CrossTileSymbolIndex.
|
|
|
|
|
| |
Port of GL JS PR #5994.
Fixes issue #10844, which would allow multiple symbols in a tile to share the same crossTileID as one of their duplicate parent-tile symbols. Once the symbols shared a crossTileID, they would permanently remain "duplicates" of each other, even after increasing zoom level allowed the CrossTileSymbolIndex to distinguish between them.
|
| |
|
|
|
|
| |
emplace does not overwite existing entries
|
| |
|
| |
|
|
|
|
|
| |
Analog of GL JS issue #5911.
Add native ignore for tilejson-bounds.
|
|
|
|
|
| |
- Port of GL JS PR #5703
- Fixes issue #10616
|
|
|
|
|
| |
- Changing font weight does not currently appear to be working.
- Glyph metric extraction code not working; currently unused.
|
|
|
|
|
|
|
| |
- Platform-specific LocalGlyphRasterizer is responsible for deciding which glyphs to rasterize locally and for implementing the rasterization.
- Default platform implementation doesn't locally generate any glyphs -> no behavior change
- Unit test uses StubLocalGlyphRasterizer, which returns a single fixed bitmap for all CJK glyphs
- Rename glyph_loader.test to glyph_manager.test
|
| |
|
| |
|
|
|
|
| |
Hold onto tiles after they've been removed from the render tree long enough to run a fade animation on their symbols.
|
| |
|
| |
|
|
|
|
|
| |
Don't mark items that are outside the collision grid range as placed.
Requires new ignore because GL JS issue #5654 allows insertion of symbols outside the CollisionIndex range, and those symbols can cascade in to affect items within the viewport.
|
|
|
|
|
| |
`Tile` makes sure the symbols in the resulting tile are tileable while
symbols in `Still` match rendering in `Continuous` mode.
|
| |
|
|
|
|
|
|
| |
- CollisionTile
- FrameHistory
- PlacementConfig
|
|
|
|
| |
Brings gl-native shaping closer to gl-js.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Background placement code now just generates static symbol buffers
- Don't render GeometryTiles until their symbols are loaded. This is necessary for the CrossTileSymbolIndex to successfully prevent flicker.
- SymbolInstances are transferred to SymbolBucket for use on foreground during collision detection
- Symbols are sorted on foreground by sorting their index buffer but leaving vertex buffers intact (only works within one segment)
- Vertical glyphs are generated at same time as horizontal glyphs. `reprojectLineLabels` chooses which one to use at render time and hides the other.
- Icons are now always represented with a single collision box, even if they're placed along a line (this means their rotation alignment may be wrong, but the approach of representing them with multiple collision boxes wasn't very accurate either).
- Generate vertices for new debug collision boxes and collision circles
- Only add symbols within tile boundaries (reduces work, avoids double-draw)
- Update symbol_projection.cpp to support line label projection calls from CollisionIndex.
|
|
|
|
|
|
|
| |
- Switches from tile to viewport coordinates
- Represents line labels with circle geometries
- Projects line labels at collision detection time to improve accuracy
- Adapts tile-based symbol queries to viewport coordinates
|
|
|
|
| |
Responsible for running global collision detection/symbol placement algorithm and updating symbol opacity buffers accordingly.
|
|
|
|
| |
This class is responsible for tracking which symbols are "the same" between tiles at different zoom levels, so that symbol opacities (fade animations) can be copied smoothly between tiles.
|
| |
|
|
|
|
|
| |
Fixes issue #9996
Port of GL-JS #5284
|
| |
|
|
|
|
|
| |
Fixes issue#9768.
Port of GL JS PR #5100.
|
|
|
|
| |
text-justify, text-anchor (#9583)
|
|
|
|
| |
Specifically when building Android with GCC 4.9 (which Qt still does :-/)
|
| |
|
| |
|
|
|
|
| |
https://github.com/mapbox/mapbox-gl-js/pull/4781/commits/81363951ed56c54f331ffc8d88e4e5079226a224
|
|
|
|
|
|
|
|
|
|
| |
port https://github.com/mapbox/mapbox-gl-js/pull/4781
This improves legibility of labels that follow lines in pitched views.
The previous approach used the limited information in the shader to
calculate put the glyph in approximatelyright place. The new approach
does this more accurately by doing it on the cpu where we have access to
the entire line geometry.
|
| |
|
| |
|
|
|
|
| |
on tile distance from camera.
|
|
|
|
| |
since they're not implemented there
|
| |
|
| |
|
| |
|