-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[core] Global/Viewport Collision Detection #10436
Commits on Nov 17, 2017
-
[core] Add CrossTileSymbolIndex.
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.
Configuration menu - View commit details
-
Copy full SHA for 6c2bdad - Browse repository at this point
Copy the full SHA 6c2bdadView commit details -
[core] Add circle geometries to GridIndex.
- Adds early exiting "hitTest" query for fast collision detection - GridIndex now determines cell count separately for x and y axes based on grid dimensions.
Configuration menu - View commit details
-
Copy full SHA for f1830ad - Browse repository at this point
Copy the full SHA f1830adView commit details -
Responsible for running global collision detection/symbol placement algorithm and updating symbol opacity buffers accordingly.
Configuration menu - View commit details
-
Copy full SHA for 6a27228 - Browse repository at this point
Copy the full SHA 6a27228View commit details -
[core] Add global CollisionIndex to replace CollisionTile.
- 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
Configuration menu - View commit details
-
Copy full SHA for 2f0f9c8 - Browse repository at this point
Copy the full SHA 2f0f9c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e5dd48 - Browse repository at this point
Copy the full SHA 0e5dd48View commit details -
[core] Switch from background to foreground placement
- 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.
Configuration menu - View commit details
-
Copy full SHA for 6f2b057 - Browse repository at this point
Copy the full SHA 6f2b057View commit details -
Configuration menu - View commit details
-
Copy full SHA for e00f68a - Browse repository at this point
Copy the full SHA e00f68aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 684254d - Browse repository at this point
Copy the full SHA 684254dView commit details -
[core] Use floats instead of ints for Shaping.
Brings gl-native shaping closer to gl-js.
Configuration menu - View commit details
-
Copy full SHA for 735f2e6 - Browse repository at this point
Copy the full SHA 735f2e6View commit details -
- CollisionTile - FrameHistory - PlacementConfig
Configuration menu - View commit details
-
Copy full SHA for 90fc4c1 - Browse repository at this point
Copy the full SHA 90fc4c1View commit details -
[core] Update unit tests for viewport collision.
Add 'GridIndex' unit test.
Configuration menu - View commit details
-
Copy full SHA for eea18bb - Browse repository at this point
Copy the full SHA eea18bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 44bd873 - Browse repository at this point
Copy the full SHA 44bd873View commit details -
[core] Added ignores for two query tests that return the same set of …
…items but in a different order.
Configuration menu - View commit details
-
Copy full SHA for 7810b4b - Browse repository at this point
Copy the full SHA 7810b4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3aab596 - Browse repository at this point
Copy the full SHA 3aab596View commit details -
[core] Split MapMode::Still into Static and Tile
`Tile` makes sure the symbols in the resulting tile are tileable while symbols in `Still` match rendering in `Continuous` mode.
Configuration menu - View commit details
-
Copy full SHA for cb36bc1 - Browse repository at this point
Copy the full SHA cb36bc1View commit details -
[core] Skip fade animation for placed symbols that are currently offs…
…creen. 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.
Configuration menu - View commit details
-
Copy full SHA for 6505b20 - Browse repository at this point
Copy the full SHA 6505b20View commit details -
[core] Sort child symbol tiles before parent symbol tiles
This is necessary so that when there are mixed zoom levels, child symbols get placed before parent symbols.
Configuration menu - View commit details
-
Copy full SHA for 2519b29 - Browse repository at this point
Copy the full SHA 2519b29View commit details -
[core] Remove ignores for passing tests.
Update ignore links to specific issues. Bump mapbox-gl-js version to get latest text-pitch-spacing test.
Configuration menu - View commit details
-
Copy full SHA for af903a3 - Browse repository at this point
Copy the full SHA af903a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64b1668 - Browse repository at this point
Copy the full SHA 64b1668View commit details -
Configuration menu - View commit details
-
Copy full SHA for b2b91bf - Browse repository at this point
Copy the full SHA b2b91bfView commit details -
Hold onto tiles after they've been removed from the render tree long enough to run a fade animation on their symbols.
Configuration menu - View commit details
-
Copy full SHA for 40e7356 - Browse repository at this point
Copy the full SHA 40e7356View commit details