summaryrefslogtreecommitdiff
path: root/src/mbgl/tile
Commit message (Collapse)AuthorAgeFilesLines
...
* [core] Implement data-driven styling for ↵Anand Thakker2017-02-281-27/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {text,icon}-{color,opacity,halo-color,halo-blur,halo-width} (#7939) * Add symbol dds attributes and adapt style code generation * Update to mapbox-gl-js/master * Refactor SymbolFeature as a subclass of GeometryTileFeature Prepares for enabling DDS on symbol paint properties by allowing the SymbolFeatures, which we keep around after constructing SymbolLayout, to be used in evaluating data-driven paint properties later in the layout process. * Draft approach for splitting icon/text paint properties The `Program` types are set up to bind GL attributes to each of the data-driven paint properties specified in the `PaintProperties` type provided. Since `SymbolPaintProperties` specifies both `Text*` and `Icon*` properties, the symbolIcon, symbolIconSDF, and symbolGlyph programs each attempt to bind roughly double the number of attributes that they actually need. This change addresses this by: - Adding the more specific `IconPaintProperties` and `TextPaintProperties` types, which are subsets of the full `SymbolPaintProperties`. - The symbol layer continues to use its `SymbolPaintProperties paint` member to track layer property state, but it provides helpers that construct objects of each the specific `{Icon,Text}PaintProperties::Evaluated` type, for use by the painter. - The three symbol programs instantiate `Program<>` using the appropriate `{Icon,Text}PaintProperties` type. * check in generated style code * Populate paint buffers for symbol DDS properties * Address first round of review comments * Refactor VectorTile{Layer,Feature} to explicitly share data * Update submodule
* [core] don't treat empty raster tiles as "DataAvailability::All"Konstantin Käfer2017-02-222-3/+3
|
* compare polygon ring areas absolutelynode-v3.4.4-13e504Dane Springmeyer2017-02-091-1/+1
| | | | | - This ensures we actually keep the largest polygons - Adds testcase that fails without this patch
* [core] Update gl-js; fix $id filters with GeoJSON sourceJohn Firebaugh2017-02-081-0/+4
|
* [core] Add support for data-driven stylingJohn Firebaugh2017-02-021-5/+22
|
* [core] remove trailing whitespace, add trailing newlines, add space after //Konstantin Käfer2017-01-273-4/+4
|
* [core] Use std::tie in *TileID operator<Bruno de Oliveira Abinader2017-01-171-3/+3
|
* [core] Fix flickering caused by regression in #7586John Firebaugh2017-01-101-5/+8
| | | | It should be safe to invoke GeometryTileWorker::setData multiple times without invoking GeometryTileWorker::setLayers. Therefore GeometryTileWorker::redoLayout() must not consume the layers.
* [core] Replace FeatureIndex::collisionTile with a method parameterJohn Firebaugh2017-01-102-3/+6
| | | | This reduces state and simplifies the test added in the prior commit.
* [core] Keep symbol and non-symbol buckets segregatedJohn Firebaugh2017-01-102-7/+8
| | | | 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-043-32/+47
|
* [core] Update gl-js for shader changeJohn Firebaugh2016-12-231-1/+2
|
* [core] Remove unused BucketParameter membersJohn Firebaugh2016-12-211-7/+1
|
* [core] Convert BucketParameters#layer to a separate parameterJohn Firebaugh2016-12-211-10/+9
| | | | This parameter varies between Buckets, while the others are constant. It makes more sense as an individual parameter.
* [core] Mark tile as incomplete while redoing placementJohn Firebaugh2016-12-141-0/+6
|
* [core] Remove unusedJohn Firebaugh2016-12-141-3/+0
|
* [build] move logging to utilKonstantin Käfer2016-11-222-2/+2
|
* [core] don't run symbol placement more often than necessaryKonstantin Käfer2016-11-143-5/+3
|
* [core] Separate pathway for notifying workers of new images/glyphsJohn Firebaugh2016-11-075-7/+52
|
* [core] Fix render tile ordering when querying sourcesBruno de Oliveira Abinader2016-11-041-19/+4
|
* [core] Use TilePoint in Source::Impl::queryRenderedFeaturesBruno de Oliveira Abinader2016-10-111-0/+1
|
* [core] No need for feature querying to support multipolygonsJohn Firebaugh2016-10-111-1/+1
|
* [core] Refactor BufferJohn Firebaugh2016-10-051-0/+1
|
* [core] Tiles that error on load are not renderableJohn Firebaugh2016-10-056-11/+22
|
* [core] remove Raster object in favor of a more low-level Texture objectKonstantin Käfer2016-10-041-2/+1
|
* [core] - mutable geojson sources. make tiles protected for ↵Tobrun2016-09-202-4/+7
| | | | geojson_source_impl (#6347)
* [core] Merge GlyphStore and GlyphAtlasJohn Firebaugh2016-09-193-11/+3
|
* [core] Merge SpriteStore and SpriteAtlasJohn Firebaugh2016-09-193-9/+1
|
* [core] Use an actor model for tile worker concurrencyJohn Firebaugh2016-09-1615-512/+551
|
* [core] #3980 - Switching Core GL instances of map to unordered_mapBrad Leege2016-09-142-3/+37
|
* [core] Avoid gratuitous SymbolBucket creationJohn Firebaugh2016-09-141-3/+3
|
* [core] Extract SymbolLayout from SymbolBucketJohn Firebaugh2016-09-143-128/+112
| | | | | | | | | | | | | | SymbolLayout lives on the worker thread and contains the persistent data needed for repeated placement. SymbolBucket contains the data generated during placement, and is transferred to the main thread for rendering. This eliminates the risky sharing of GeometryTile::buckets between the main thread and worker thread during TileWorker::redoPlacement. While here, rationalize the names of states a SymbolLayout may be in: * Pending: Waiting for the necessary glyphs or icons to be available. * Prepared: The potential positions of text and icons have been determined. * Placed: The final positions have been determined, taking into account prior layers. In TileWorker, all SymbolLayouts are stored in a single vector. Each SymbolLayout knows what state it is in, and TileWorker can easily determine how much progress it can make toward a final result.
* [core] Another band-aid (#6322) (#6333)John Firebaugh2016-09-141-1/+1
|
* [core] Band-aid to prevent GeometryTile::redoLayout race condition from ↵John Firebaugh2016-09-131-0/+6
| | | | causing a crash (#6322)
* [core] change bool to enum class bool TileLoadStateKonstantin Käfer2016-09-073-6/+11
|
* [core] Prepare style observer interfaces for source reloadingJohn Firebaugh2016-09-063-3/+3
| | | | | * Renamed {Source,Tile}Observer::onNeedsRepaint to onTileUpdated. Messages should be in terms of what happened to the observed object, not in terms of what the observer needs to do. This also removes a confusing overlap of virtual methods on StyleObserver. * Added style::Observer::onUpdate(Update). This is also a violation of the above rule, but I'm hopeful that it will disappear when update batching is implemented.
* [core] Add Source::Impl::reloadJohn Firebaugh2016-09-065-27/+57
|
* [core] Ensure that TileWorker can retain tileData after layoutJohn Firebaugh2016-09-065-1/+12
|
* [core] Delete the now-unused ptr.hppJohn Firebaugh2016-09-061-1/+0
|
* [core] Eliminate use of util::ptr in GeometryTile* interfacesJohn Firebaugh2016-09-063-45/+28
|
* [core] Create GeoJSONTile{Layer,Feature} objects lazilyJohn Firebaugh2016-09-061-34/+26
| | | | Avoids conversion to GeometryCollection and clipping for features that are not used.
* [core] Simplify GeoJSONTile constructorJohn Firebaugh2016-08-262-51/+22
|
* [core] Clean up and simplify geojson_tile.cppJohn Firebaugh2016-08-261-81/+52
|
* [core] const consistencyJohn Firebaugh2016-08-265-7/+7
|
* upgrade to protozer 1.4.0 (#6158)Dane Springmeyer2016-08-251-11/+10
|
* [core] support "scheme": "tms" in TileJSON filesKonstantin Käfer2016-08-161-1/+2
|
* GeoJSON point clustering (#5724)Vladimir Agafonkin2016-07-272-8/+27
| | | | | | | | | | | | | | | | * add supercluster dependency * prepare GeoJSONTile for Supercluster * prepare GeoJSONSource for accepting options * try removing mbgl::GeoJSON * fix setGeoJSON types * add GeoJSONSource getURL * add geojson to include path * add Supercluster index in GeoJSONSource * fix GeoJSONSource getZoomRange * bring back mbgl::GeoJSON header * fix tidy warnings hopefully * try test-suite with enabled cluster test * fix formatting in clustering-related files
* [core] Revert workaround for std::atomic on ARMv5Thiago Marcos P. Santos2016-07-133-6/+6
| | | | | | Got fix on r12. https://github.com/android-ndk/ndk/issues/31
* [core] geometry@0.8.0 / geojsonvt@6.0.0 (#5514)Young Hahn2016-07-063-42/+85
| | | | | | | | | | | | | | | | | | | | | | * [core] geometry.hpp 0.8.0 * geojsonvt @ 6.0.0 * Update platform deps, build scripts * Perf optimizations/cleanup * Rebase in geometry@080 * D.R.Y. etc * Ensure fill annotation geometries have closed rings. * Optimizations * Update to geojsonvt @ 6.1.0 for clean handoff between geojson parsing and geojsonvt * Apply close multi/poly geoms for line annotations as well
* [core] Re-close polygons after clipping with clipperJohn Firebaugh2016-07-061-1/+8
|