summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [core] Remove dead codeChris Loer2017-11-1710-509/+1
| | | | | | - CollisionTile - FrameHistory - PlacementConfig
* [core] Use floats instead of ints for Shaping.Chris Loer2017-11-172-5/+5
| | | | Brings gl-native shaping closer to gl-js.
* [core] Update shaders/tests from GL JS.Chris Loer2017-11-1713-155/+378
|
* [core] Update queryRenderedFeatures to use global CollisionIndex.Chris Loer2017-11-1717-38/+84
|
* [core] Switch from background to foreground placementChris Loer2017-11-1721-431/+697
| | | | | | | | | | | | - 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.
* [core] Enable dynamic updates of index buffers.Chris Loer2017-11-173-5/+23
|
* [core] Add global CollisionIndex to replace CollisionTile.Chris Loer2017-11-172-0/+399
| | | | | | | - 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
* [core] Add Placement class.Chris Loer2017-11-172-0/+389
| | | | Responsible for running global collision detection/symbol placement algorithm and updating symbol opacity buffers accordingly.
* [core] Add circle geometries to GridIndex.Chris Loer2017-11-173-52/+339
| | | | | - Adds early exiting "hitTest" query for fast collision detection - GridIndex now determines cell count separately for x and y axes based on grid dimensions.
* [core] Add CrossTileSymbolIndex.Chris Loer2017-11-172-0/+234
| | | | 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.
* [core] Fix build on Android + GCC and Android + armeabiThiago Marcos P. Santos2017-11-1211-20/+31
| | | | Sadly we don't have bots for these two setups.
* Merge branch 'release-agua' into tvn-merge-releaseTobrun2017-11-106-1/+41
|\
| * [core] blacklist VAO usage on adreno 3xxIvo van Dongen2017-10-261-1/+8
| | | | | | | | - Causes crashes on usage of glBuffer(Sub)Data
| * [core] fix crash when querying GeoJSON tilesKonstantin Käfer2017-10-251-12/+12
| |
| * [core] Add layer before notifying observerJohn Firebaugh2017-10-251-1/+2
| |
| * [core] limit annotation tile source to z16Konstantin Käfer2017-10-191-1/+3
| |
| * [ios, macos] Add selection support to MGLMultiPoint annotations. (#9984)Fabian Guerra Soto2017-10-186-1/+41
| | | | | | | | | | | | * [ios, macos] Add selection support to MGLMultiPoint annotations. * [ios, macos] Update changelogs.
| * [core] correctly alter sprite URLs when attaching sprite.png/sprite.json ↵Konstantin Käfer2017-10-171-8/+10
| | | | | | | | filenames
| * [core] don't generate clip IDs for buckets/layers that don't need to be clippedKonstantin Käfer2017-10-173-1/+9
| |
| * [core] Fix out-of-bounds array accessAsheem Mamoowala2017-10-131-1/+1
| |
| * [core] make forcing cache/network only more explicitKonstantin Käfer2017-10-1216-83/+77
| | | | | | | | | | | | Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving). This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
| * [core] Add `cameraForLatLngs()` method with modified bearingAsheem Mamoowala2017-10-091-11/+34
| |
* | Implement Expressions (#9439)Anand Thakker2017-11-0826-46/+2897
| | | | | | Ports https://github.com/mapbox/mapbox-gl-js/pull/4777 (and its several follow-ups)
* | Revert "[core] Expose ColorMask in gl::Context::clear()"Bruno de Oliveira Abinader2017-11-023-14/+6
| | | | | | | | This reverts commit e350ef37fe68312c4b5fb03b289a90c0bdda4f03.
* | [core] Let transparency leak in GLContext::Shared modeBruno de Oliveira Abinader2017-11-011-3/+14
| |
* | [core] Expose ColorMask in gl::Context::clear()Bruno de Oliveira Abinader2017-11-013-7/+10
| |
* | [core] Move GLContextMode to its own Renderer headerBruno de Oliveira Abinader2017-11-012-1/+2
| |
* | [gcc4.9] Keep compatibility with GCC + AndroidThiago Marcos P. Santos2017-10-311-2/+2
| | | | | | | | Needed by Qt builds on Android.
* | [core] fix crash when querying GeoJSON tilesKonstantin Käfer2017-10-261-12/+12
| |
* | [core] blacklist VAO usage on adreno 3xxIvo van Dongen2017-10-261-1/+8
| | | | | | | | - Causes crashes on usage of glBuffer(Sub)Data
* | [core] Add layer before notifying observerJohn Firebaugh2017-10-251-1/+2
| |
* | [core] Make the OpenGL implementation platform specificThiago Marcos P. Santos2017-10-251-28/+2
| | | | | | | | | | Split the headers, so each platform includes the most appropriated header.
* | Replace compile-time polymorphism with runtime polymorphism in the ↵John Firebaugh2017-10-2317-82/+1508
| | | | | | | | conversion system
* | [core] limit annotation tile source to z16upstream/android-v5.1.4Konstantin Käfer2017-10-191-1/+3
| |
* | [core] correctly alter sprite URLs when attaching sprite.png/sprite.json ↵Konstantin Käfer2017-10-171-8/+10
| | | | | | | | filenames
* | [core] don't generate clip IDs for buckets/layers that don't need to be clippedKonstantin Käfer2017-10-173-1/+9
| |
* | [core] Move SourceType to the 'style' namespaceAnand Thakker2017-10-1610-14/+14
| |
* | [core, node] Support axonometric renderingLauren Budorick2017-10-145-0/+75
| |
* | [core] Fix out-of-bounds array accessAsheem Mamoowala2017-10-121-1/+1
| |
* | [core] make forcing cache/network only more explicitKonstantin Käfer2017-10-1216-83/+77
| | | | | | | | | | | | Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving). This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
* | [core] Add `cameraForLatLngs()` method with modified bearingAsheem Mamoowala2017-10-091-11/+34
| |
* | [core] Update glyph requestors _before_ requesting from file sourceBruno de Oliveira Abinader2017-10-092-8/+5
|/
* [core] Split GeoJSONTileData and related classes into a separate headerAsheem Mamoowala2017-09-282-94/+95
|
* [core] Add minzoom to GeoJSONOptionsKonstantin Käfer2017-09-281-1/+1
|
* [build] split out DefaultFileSource and dependents to a separate targetKonstantin Käfer2017-09-283-68/+2
| | | | We don't want to link it into the node bindings, so keep it in a separate target
* [core] Move *TileID hashing to separate implJesse Crocker2017-09-262-276/+29
|
* [core] fix loading of stale must-revalidate resourcesKonstantin Käfer2017-09-251-0/+3
| | | | | | In https://github.com/mapbox/mapbox-gl-native/pull/9670, we implemented support for the Cache-Control: must-revalidate header. While we now respect this header and don't show resources that are stale and have this header set, the optional cache request never completes. This means we're also never going to try to actually get a fresh tile and just never show this tile anymore. This commit fixes this by responding with a Not Found error when the resource is unusable (= stale and has must-revalidate set). Since we actually still have the data (but can't use it due to caching rules), we're responding with the data as well. To avoid a second cache hit, tile_loader_impl.hpp now passes on the data from the Optional to the Required request so that it can be reused when we get a 304 Not Modified response from the server.
* [core] custom layer - add contextLost callbackIvo van Dongen2017-09-224-3/+20
| | | | - optional callback method that can be used to do cleanup when the context has been lost before re-initialisation
* [core] send signal to RenderCustomLayer when gl context has been lostIvo van Dongen2017-09-225-1/+27
| | | | - Prevents cleaning up of GL resources that no longer exist, resulting in a crash
* [core] allow context to be abandoned on destructionIvo van Dongen2017-09-222-1/+9
| | | | - This enables the use case where the system already destroyed the underlying GL resources. Otherwise, the cleanup would fail and crash