summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
Commit message (Collapse)AuthorAgeFilesLines
* [core] Named members for diff before/afterJohn Firebaugh2017-06-053-5/+12
|
* [core] Collection-level immutabilityJohn Firebaugh2017-06-055-33/+42
| | | | Introduce a second level of immutability, over each of the collections held by a style: sources, images, and layers. Tracking immutability at this level allows us to short-circuit significant portions of the RenderStyle update logic via a simple equality check, greatly improving performance.
* [core] Don't share TransformState referenceJohn Firebaugh2017-06-051-3/+3
|
* [core] Split RenderStyle from StyleJohn Firebaugh2017-06-0517-31/+580
|
* [core] Refactor RenderSource updatesJohn Firebaugh2017-06-0515-220/+192
| | | | | | | * 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-0511-6/+28
|
* [core] Add templated RTTI for RenderSource classesAsheem Mamoowala2017-06-016-4/+39
|
* [core] Reuse RasterBucket for ImageSourceAsheem Mamoowala2017-06-013-7/+11
|
* [core] Use fixed-size std::array for ImageSource coordinatesAsheem Mamoowala2017-06-015-27/+15
|
* [core] Render Image SourceAsheem Mamoowala2017-06-0110-12/+362
|
* [core] Replace inline SpriteAtlas updates with diffingJohn Firebaugh2017-05-302-9/+24
|
* Refactor RenderLayer and RenderSource to be more friendly for Non-tiled ↵Asheem Mamoowala2017-05-265-27/+58
| | | | sources (#9058)
* [core] Don't use a separate SpriteAtlas for annotation imagesJohn Firebaugh2017-05-264-9/+4
| | | | 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-236-8/+7
| | | | | | | | * 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] Move pattern coordinate division by texture size into shaderJohn Firebaugh2017-05-234-0/+4
| | | | This makes pattern usage more like icons, and will be necessary for data-driven *-pattern properties.
* [core, node, darwin, qt] Remove support for paint classesJohn Firebaugh2017-05-151-2/+0
|
* [core] cascade ⇢ transition / cascading ⇢ transitionableJohn Firebaugh2017-05-1519-31/+31
|
* [core] Unify {Paint,Layout,Light}PropertiesJohn Firebaugh2017-05-1526-172/+39
|
* [core] *LayerImpl::cascading ⇢ paintJohn Firebaugh2017-05-157-7/+7
|
* [core] Merge light_properties.hpp into light_impl.hppJohn Firebaugh2017-05-151-1/+0
|
* [core] Move renderer/* files into sub-folders (#8983)Asheem Mamoowala2017-05-1241-51/+51
| | | Move renderer/* files into sub-folders
* [core] Replace createRender{Source,Layer} with Render{Source,Layer}::createJohn Firebaugh2017-05-1212-9/+74
| | | | | * Eliminates the need for EnableImmutableFromThis * Eliminates the dependency of {Source,Layer}::Impl on corresponding Render class (circular dependency)
* [core] Remove unused RenderLayer::cloneJohn Firebaugh2017-05-1217-51/+0
|
* [core] Immutable ImplsJohn Firebaugh2017-05-1232-128/+235
|
* [tidy] modernize-use-overrideBruno de Oliveira Abinader2017-05-121-1/+1
|
* [tidy] modernize-use-autoBruno de Oliveira Abinader2017-05-121-2/+2
|
* [tidy] llvm-namespace-commentBruno de Oliveira Abinader2017-05-129-9/+9
|
* [core] delegate light changes to render lightIvo van Dongen2017-05-082-6/+27
|
* [core] generated accessor methods on lightIvo van Dongen2017-05-082-3/+1
|
* [core] render lightIvo van Dongen2017-05-083-1/+44
|
* [core] Reuse fill-extrusion textures between frames (#8896)Lauren Budorick2017-05-082-9/+13
|
* [core] Omnibus Style::update methodJohn Firebaugh2017-05-042-4/+32
| | | | Combine Style::cascade, recalculate, relayout, and updateTiles into a single method. This allows multiple loops over sources and layers to be consolidated and prepares for additional Style-Map decoupling: rather than tracking pending updates via a set of Update flags held by the Map and passed to the Style, the Style can use its own data to determine what to update.
* [core] UpdateParameters ⇢ TileParametersJohn Firebaugh2017-05-0410-21/+21
|
* [core] Calculate hasPendingTransitions functionally rather than statefullyJohn Firebaugh2017-05-0317-19/+45
|
* [core] Move render-related sources out of style directory/namespaceJohn Firebaugh2017-05-0336-51/+866
| | | | | | | | | | | | | | | | Moves the following to the renderer directory and out of the style namespace: * CascadeParameters * PropertyEvaluationParameters * UpdateParameters * PropertyEvaluator * DataDrivenPropertyEvaluator * CrossFadedPropertyEvaluator * PaintPropertyBinder * PaintProperyStatistics * PossiblyEvaluatedPropertyValue * TransitioningLight * EvaluatedLight
* [core] Refactor Source::*Impls into RenderSources and TilePyramidJohn Firebaugh2017-05-0214-5/+931
|
* [core] Render fill-extrusion layers (#8431)Lauren Budorick2017-04-2714-37/+483
|
* [core] Tweak handling of annotation special case SpriteAtlasJohn Firebaugh2017-04-264-5/+6
| | | | | * 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-2542-115/+1139
|
* [core] fix an issue with lines that have duplicate points (#8808)Vladimir Agafonkin2017-04-241-4/+13
| | | An equivalent of https://github.com/mapbox/mapbox-gl-js/pull/4634.
* [core] account for property functions in query rendered featuresIvo van Dongen2017-04-197-0/+84
|
* [core] Add DDS support for {text,icon}-size (#8593)Anand Thakker2017-04-063-8/+32
| | | | | | | | | | | | | | | | | | | | | | | | * Update gl-js and generate style code * Factor out packUint8Pair() helper function * Draft implementation of DDS for {text,icon}-size Ports https://github.com/mapbox/mapbox-gl-js/pull/4455 * Fix text-size/composite-function-line-placement test * Refactor to PaintPropertyBinders-like strategy * Dedupe gl::Program construction * Use exponential function base for interpolation * Dedupe coveringZoomStops method * Fixup tests * Fix CI errors (hidden within #if block)
* [core] Introduce a fully-evaluated tuple type for layout propertiesJohn Firebaugh2017-03-313-4/+4
|
* [core] Refactor OpenGL extension loading mechanismKonstantin Käfer2017-03-232-12/+12
| | | | Previously, we initialized global variables that held pointers to the extension functions. While this seemed to work, the spec doesn't guarantee that the function pointers are identical for different OpenGL contexts. Therefore, we are now making them a member variable of the Context object.
* [core] Move OpenGL extension initialization to BackendKonstantin Käfer2017-03-231-2/+0
|
* [core] cache binary shaders on AndroidKonstantin Käfer2017-03-222-7/+11
|
* [core] Prefer std::map to std::unordered_map for smaller binary sizeJohn Firebaugh2017-03-215-6/+6
|
* [core] Avoid copy construction of PaintPropertyBindersJohn Firebaugh2017-03-154-10/+19
|
* [core] Never join coincident start/end points of LineStringsJohn Firebaugh2017-03-142-17/+9
|
* [core] Implement data-driven styling for ↵Anand Thakker2017-02-283-24/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {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