summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/geometry_tile.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* [core] Synchronize state of CollisionIndex and FeatureIndexes.Chris Loer2018-01-181-1/+7
| | | | Fixes issue #10778, in which mismatch between FeatureIndex and CollisionIndex could lead to inconsistent results or even invalid array access.
* [core] port minor collision changes from -js (#10764)Ansis Brammanis2018-01-081-12/+0
|
* [core] Symbol cross-fading.Chris Loer2017-11-171-0/+21
| | | | Hold onto tiles after they've been removed from the render tree long enough to run a fade animation on their symbols.
* [core] Cleanup in response to review commentsChris Loer2017-11-171-2/+2
|
* [core] Switch from background to foreground placementChris Loer2017-11-171-39/+33
| | | | | | | | | | | | - 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] remove throttling from geometry tileIvo van Dongen2017-09-221-7/+1
| | | | - This doesn't work for asynchronous rendering - see https://github.com/mapbox/mapbox-gl-native/pull/9611
* [core] make sure tiles are not treated as complete until all worker ↵Konstantin Käfer2017-09-211-5/+8
| | | | | | operations completed Previously, when we started a worker operation that eventually throws an exception (e.g. due to the tile not being parseable), and then enqueue another worker operation while the first one is processing, we treated the worker as idle once the first operation's error callback fired, even though the second operation was still in progress. Due to our use of coalescing, I was unable to come up with a reliable test since we'd need to reproduce the behavior described above, which is timing dependent.
* [core] keep tiles renderable even if a subsequent error occursKonstantin Käfer2017-09-211-2/+0
| | | | Since 9a9408e8111bcdcd0fcb9a93112d61ab8fce0601, we marked tiles as non-renderable if an error occured. This lead to situations where a tile was loaded + parsed successfully, then a revalidation attempt occured (e.g. because the resource was stale) which failed. In this case, we used to mark the tile as non-renderable although we could've used the perfectly parsed (stale) resource.
* [core] Added GeometryTileWorker-owned image correlation IDBruno de Oliveira Abinader2017-08-251-4/+20
|
* [core] Don't throttle placement in still modeBruno de Oliveira Abinader2017-08-251-2/+7
|
* [core] Avoid GeometryTile dependency in FeatureIndexJohn Firebaugh2017-08-241-1/+10
|
* [core] Avoid RenderStyle dependency in query codeJohn Firebaugh2017-08-241-2/+2
|
* [core] remove dependencies on RunLoopIvo van Dongen2017-08-091-2/+2
|
* [core] renderer interfaceIvo van Dongen2017-07-181-1/+1
|
* [core] GCC 4.9 shadow member warningsBruno de Oliveira Abinader2017-07-121-3/+3
|
* [core] Hold on to tile yStretch value for rendering old symbolBuckets while ↵Chris Loer2017-07-111-2/+9
| | | | waiting for new ones.
* [core] Improved label pitch-scaling: approximate collision box shapes based ↵Chris Loer2017-07-111-0/+4
| | | | on tile distance from camera.
* [core] Per-tile glyph/icon atlasesJohn Firebaugh2017-06-131-0/+18
|
* [core] Per-bucket icon atlasesJohn Firebaugh2017-06-131-6/+6
|
* [core] Per-bucket glyph atlasesJohn Firebaugh2017-06-131-5/+5
|
* [core] Merge RenderLayer::uploadBuckets into RenderSource::startRenderJohn Firebaugh2017-06-131-0/+16
|
* [core] Split RenderStyle from StyleJohn Firebaugh2017-06-051-1/+1
|
* [core] Refactor RenderSource updatesJohn Firebaugh2017-06-051-19/+14
| | | | | | | * Eliminate updateBatch in favor of diffing layers and detecting changes to properties upon which layout depends. * Replace RenderSource::{update,remove,invalidate,reload}Tiles with a single update method * Replace TilePyramid::{update,remove,invalidate,reload}Tiles with a single update method * Remove Style& dependency TODO from GeometryTile and TileParameters
* [core] Thread Style parameter through queryRenderedFeaturesJohn Firebaugh2017-06-051-1/+2
|
* [core] Don't use a separate SpriteAtlas for annotation imagesJohn Firebaugh2017-05-261-5/+2
| | | | Instead, just add them to the Style as needed. Includes changes from #8905 and takes care to avoid regressing #3817.
* [core] Simplify and fix sprite atlas coordinate calculationsJohn Firebaugh2017-05-231-1/+2
| | | | | | | | * Always return image metrics exclusive of padding * Work with integer coordinates whenever possible * Eliminate redundant SpriteAtlasElement members * Fix asymmetric re-padding in getIconQuad when pixelRatio != 1 * Add explanatory comments
* [core] Throttle tiles to redo symbol placement at most once every 300ms.Chris Loer2017-05-171-2/+10
| | | | Fixes issue #8435 and prepares for pitch-scaling changes in issue #8967.
* [core] Move renderer/* files into sub-folders (#8983)Asheem Mamoowala2017-05-121-4/+4
| | | Move renderer/* files into sub-folders
* [core] Immutable ImplsJohn Firebaugh2017-05-121-7/+7
|
* [core] Avoid calling virtual GeometryTile::cancel() on dtorBruno de Oliveira Abinader2017-05-121-1/+5
| | | | | warning: Call to virtual function during destruction will not dispatch to derived class [clang-analyzer-optin.cplusplus.VirtualCall]
* [core] UpdateParameters ⇢ TileParametersJohn Firebaugh2017-05-041-2/+2
|
* [core] Move render-related sources out of style directory/namespaceJohn Firebaugh2017-05-031-2/+2
| | | | | | | | | | | | | | | | Moves the following to the renderer directory and out of the style namespace: * CascadeParameters * PropertyEvaluationParameters * UpdateParameters * PropertyEvaluator * DataDrivenPropertyEvaluator * CrossFadedPropertyEvaluator * PaintPropertyBinder * PaintProperyStatistics * PossiblyEvaluatedPropertyValue * TransitioningLight * EvaluatedLight
* [all] Push querySourceFeatures back out to MapJohn Firebaugh2017-05-021-2/+1
| | | | Once Source and RendererSource are split, Source will no longer have access to tiles.
* [core] Tweak handling of annotation special case SpriteAtlasJohn Firebaugh2017-04-261-18/+14
| | | | | * Simplify SymbolLayout; it never needs to care about more than one SpriteAtlas. * Move the reference from SymbolLayer::Impl to SymbolBucket. This is a prerequisite for making layer Impls immutable.
* [core] split off render layersIvo van Dongen2017-04-251-4/+6
|
* [core] Render parent raster tiles when ideal tile can't be loadedKonstantin Käfer2017-04-201-12/+13
|
* [core] account for property functions in query rendered featuresIvo van Dongen2017-04-191-1/+2
|
* [core] make Tile::getBucket constIvo van Dongen2017-04-191-1/+1
|
* [core] Replace GlyphRangeSet in onGlyphsAvailable with optionals in the mapJohn Firebaugh2017-04-141-2/+2
| | | | GlyphRangeSet isn't keyed by FontStack, so using it to indicate that a particular range was loaded could have produced false positives.
* [core] De-mutex GlyphAtlas and SpriteAtlasChris Loer2017-04-041-6/+33
| | | | | | | | | | | | - Expose glyph and icon information to workers via message interface. - Glyph/SpriteAtlas track which tiles have outstanding requests and send messages to them when glyphs/icons become available. - Remove obsolete "updateSymbolDependentTiles" pathway - Symbol preparation for a tile now depends on all glyphs becoming available before it can start. - Start tracking individual icons needed for a tile, although we don't do anything with the information yet. - Introduce typedef for GlyphID
* [core] check null data in query source featuresIvo van Dongen2017-03-281-0/+5
|
* [core] don’t query rendered features until all data is availableIvo van Dongen2017-03-141-0/+1
|
* [core] query source featuresIvo van Dongen2017-03-091-1/+35
|
* [core] rename query options for query rendered featuresIvo van Dongen2017-03-091-1/+1
|
* [core] Add support for queryRenderedFeatures filterAsheem Mamoowala2017-03-041-2/+3
|
* [core] Replace FeatureIndex::collisionTile with a method parameterJohn Firebaugh2017-01-101-2/+3
| | | | This reduces state and simplifies the test added in the prior commit.
* [core] Keep symbol and non-symbol buckets segregatedJohn Firebaugh2017-01-101-4/+4
| | | | Discard prior symbol buckets only when new symbol buckets became available, in order to eliminate flickering when tiles are refreshed.
* [core] Get rid of user-specified refsJohn Firebaugh2017-01-041-1/+1
|
* [core] Mark tile as incomplete while redoing placementJohn Firebaugh2016-12-141-0/+6
|
* [core] don't run symbol placement more often than necessaryKonstantin Käfer2016-11-141-2/+2
|