summaryrefslogtreecommitdiff
path: root/src/mbgl/shaders
Commit message (Collapse)AuthorAgeFilesLines
* [core] don't use <sstream> and <iomanip> for string constructionKonstantin Käfer2018-10-231-8/+7
|
* [docs] First uncompressed shader source diffChris Loer2018-09-191-49/+9
|
* [docs] Include uncompressed shader source in .cpp commentsChris Loer2018-09-1925-0/+3333
| | | | | | This is meant to (1) Make it easier for new developers to find the source (2) Make it easier to look at shader diffs when the GL JS pin changes
* [test] Bump gl-js pin.Chris Loer2018-09-1913-1567/+1567
|
* [core] Implement CrossFadedDataDrivenProperty to add support for feature ↵Molly Lloyd2018-08-3127-1531/+1596
| | | | expressions in `*-pattern` properties
* [core] Add `line-gradient` propertyMikhail Pozdnyakov2018-08-238-1459/+1520
| | | | | | | | Porting of https://github.com/mapbox/mapbox-gl-js/pull/6303 See the link above for the description of the feature and its limitations). Based on patch from @lbud (Lauren Budorick).
* [core] fix icon-size for small data-driven valuesChris Loer2018-08-213-190/+190
| | | | port of mapbox/mapbox-gl-js#7125
* [core] Compress all shader source as a single corpusJohn Firebaugh2018-07-2527-3675/+1554
|
* [core] Compress shader source codeJohn Firebaugh2018-07-2525-2854/+3675
|
* [core] port zero line-width fix from gl-js (#12175)Molly Lloyd2018-06-193-3/+3
| | | | | | | | * port zero line-width fix from gl-js * ignore transition test * ignore feature-state tests
* Bump GL JS pin to get tests for global symbol querying.Chris Loer2018-04-251-0/+3
| | | | | | - Pulls over an update to line.vertex.glsl (looks like a no-op?) - Add test ignores for collator, is-supported-script, line-gradient - Exclude collator, is-supported-script, line-gradient from code generation.
* [core] Double maximum label width by reducing glyph precision.Chris Loer2018-03-222-2/+2
| | | | | Fixes issue #11507. Port of GL JS PR #6375.
* [core] Avoid flashing on pitched overzoomed tiles.Chris Loer2018-03-213-3/+12
| | | | | | Clamps perspective ratios in shaders. Fixes issue #11487. Port of GL JS PR #6365.
* [core] Update mapbox-gl-jsJohn Firebaugh2018-03-141-2/+8
|
* [core, ios, macos, android, node] Heatmap layer (#11046)Vladimir Agafonkin2018-02-154-0/+202
| | | | | Co-Authored-By: Konstantin Käfer <mail@kkaefer.com> Co-Authored-By: Anand Thakker <anandthakker@users.noreply.github.com> Co-Authored-By: Minh Nguyễn <1ec5@users.noreply.github.com>
* [core] add maxzoom uniform for raster-dem tilesets (#11134)Molly Lloyd2018-02-141-4/+5
| | | | | | | | | | * add maxzoom uniform to support external tilesets * update git sha for gl-js * try and fix android crash * name default maxzoom constant
* [core] Account for overscaling in debug collision circles.Chris Loer2018-02-061-2/+6
| | | | | Fixes issue #11116. Port of GL JS issue $6041.
* [core] add raster-dem source type and hillshade layer type (#10642)Molly Lloyd2018-01-234-0/+211
|
* [core] Use separate shaders for background and clippingLauren Budorick2018-01-096-0/+174
|
* [core] Update debug collision circle shader.Chris Loer2018-01-091-1/+1
| | | | Fixes issue #10876.
* Fix distant collision perspective ratios (#10794).Chris Loer2018-01-041-3/+3
| | | | | Analog of GL JS issue #5911. Add native ignore for tilejson-bounds.
* [core] Better align fill-extrusion vertex layoutLauren Budorick2017-12-203-19/+16
|
* [core] Update shaders/tests from GL JS.Chris Loer2017-11-176-100/+148
|
* [core] Align line vertex to 4-byte boundaryJohn Firebaugh2017-09-083-18/+9
| | | | 10 byte vertices are heavily penalized by common GL implementations.
* [core] Use separate attribute component for line normalsJohn Firebaugh2017-08-083-31/+27
| | | | Broadcom GPUs don't cope well with using the least significant bit for this.
* [core] Simplify generate-shaders.jsJohn Firebaugh2017-08-0212-24/+176
| | | | We moved the #pragma ⇢ #ifndef logic into gl-js.
* [core] modify texture coordinate scaling (#9153)Molly Lloyd2017-07-272-2/+12
| | | | | | | | | ignore unsupported dds property tests fix tests remove unneeded texture extent variable bump gl-js to master
* [core][android][macos][ios] Implement property functions for line-join, ↵Lauren Budorick2017-07-261-21/+2
| | | | text-justify, text-anchor (#9583)
* [core][ios][android][macos] Use premultiplied image directly for RasterTile ↵Asheem Mamoowala2017-07-171-0/+6
| | | | and ImageSource, un-premultiply in the shader for blending
* [android] Force previously cached program binaries to be regeneratedJohn Firebaugh2017-07-121-0/+1
|
* [core] Update shaders.Chris Loer2017-07-122-4/+32
| | | | | Implements 'icon-pitch-alignment' (issue #9345) Fixes issue #9456 (map-aligned point label regression)
* [core] improve legibility of labels that follow linesAnsis Brammanis2017-07-113-187/+93
| | | | | | | | | | port https://github.com/mapbox/mapbox-gl-js/pull/4781 This improves legibility of labels that follow lines in pitched views. The previous approach used the limited information in the shader to calculate put the glyph in approximatelyright place. The new approach does this more accurately by doing it on the cpu where we have access to the entire line geometry.
* [core] Re-generate shaders.Chris Loer2017-07-113-89/+184
|
* [core] Implement circle-pitch-alignment propertyChris Loer2017-07-061-5/+23
| | | | Closes issue #9349.
* [core] Enable property functions for line-width (#9250)Lauren Budorick2017-06-193-12/+83
|
* [core] Dynamic program compilation for data-driven propertiesJohn Firebaugh2017-06-131-2/+2
|
* [core] cleanup ProgramParametersKonstantin Käfer2017-06-132-21/+2
|
* [core] add shader defines for enabling/disabling attributes/uniforms for DDSKonstantin Käfer2017-06-1312-32/+668
|
* [core] Reduce number of varyings to 8 or lessJohn Firebaugh2017-06-135-45/+46
| | | | For #pragmas, don't generate varyings for attributes that aren't used by the fragment shader. Pack other varyings more tightly.
* [core] Move pattern coordinate division by texture size into shaderJohn Firebaugh2017-05-235-10/+14
| | | | This makes pattern usage more like icons, and will be necessary for data-driven *-pattern properties.
* [core] Render fill-extrusion layers (#8431)Lauren Budorick2017-04-277-2/+299
|
* [core] Add DDS support for {text,icon}-size (#8593)Anand Thakker2017-04-063-27/+124
| | | | | | | | | | | | | | | | | | | | | | | | * 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] Update mapbox-gl-js submoduleJohn Firebaugh2017-03-287-25/+25
| | | | Includes lowp ⇢ highp fix for shader color attributes / uniforms.
* [core] cache binary shaders on AndroidKonstantin Käfer2017-03-222-0/+16
|
* Merge branch 'release-ios-v3.5.0-android-v5.0.0'John Firebaugh2017-03-211-1/+1
|\
| * Increase precision of shader variable (#8423)Anand Thakker2017-03-151-1/+1
| | | | | | Fixes #7599
* | [core] Extract and de-templatize several Program static methodsJohn Firebaugh2017-03-092-0/+48
|/
* Pack min + max into one attribute :muscle:Molly Lloyd2017-03-0811-103/+100
| | | | | | | | Some devices supported by Mapbox GL provide only 8 vertex attributes; this change packs existing attributes to get us just under that limit. For properties using a composite function, pack the min and max values into a single attribute with two logical components instead of using two separate attributes and buffers. Special logic is included for color attributes, whose integer components must be packed into the available bits of floating-point attributes. (We don't have access to ivec types in GL ES 2.0.) For source functions, continue to bind just a one-component attribute even though the GLSL type is vec2 (or vec4 for colors). The type-checking done by gl::Attribute is relaxed slightly to accommodate this.
* [core] De-duplicate shader prelude sourceJohn Firebaugh2017-03-0815-923/+99
|
* [core] Implement data-driven styling for ↵Anand Thakker2017-02-282-9/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {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