maplibre-gl 2.1.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{banner.js → banner.ts} +1 -1
- package/build/generate-query-test-fixtures.ts +123 -0
- package/build/generate-shaders.ts +35 -0
- package/build/generate-struct-arrays.ts +7 -7
- package/build/generate-style-code.ts +8 -8
- package/build/generate-style-spec.ts +5 -4
- package/build/generate-typings.ts +16 -0
- package/build/readme.md +8 -18
- package/build/release-notes.js +9 -13
- package/build/{rollup_plugin_minify_style_spec.js → rollup_plugin_minify_style_spec.ts} +4 -3
- package/build/{rollup_plugins.js → rollup_plugins.ts} +11 -26
- package/dist/maplibre-gl-dev.js +522 -226
- package/dist/maplibre-gl.css +1 -1
- package/dist/maplibre-gl.d.ts +1536 -1010
- package/dist/maplibre-gl.js +3 -3
- package/dist/maplibre-gl.js.map +1 -1
- package/package.json +40 -61
- package/src/data/{array_types.ts → array_types.g.ts} +0 -0
- package/src/data/bucket/circle_bucket.ts +1 -1
- package/src/data/bucket/fill_bucket.test.ts +1 -1
- package/src/data/bucket/fill_bucket.ts +4 -4
- package/src/data/bucket/fill_extrusion_bucket.ts +1 -1
- package/src/data/bucket/line_bucket.test.ts +1 -1
- package/src/data/bucket/line_bucket.ts +6 -6
- package/src/data/bucket/symbol_bucket.test.ts +16 -16
- package/src/data/bucket/symbol_bucket.ts +53 -53
- package/src/data/bucket.ts +43 -43
- package/src/data/dem_data.ts +12 -12
- package/src/data/evaluation_feature.ts +10 -10
- package/src/data/feature_index.ts +37 -37
- package/src/data/feature_position_map.ts +5 -5
- package/src/data/index_array_type.ts +1 -1
- package/src/data/load_geometry.test.ts +1 -1
- package/src/data/program_configuration.ts +46 -46
- package/src/data/segment.ts +14 -14
- package/src/geo/edge_insets.ts +2 -2
- package/src/geo/lng_lat.ts +4 -4
- package/src/geo/lng_lat_bounds.ts +35 -35
- package/src/geo/mercator_coordinate.ts +5 -5
- package/src/geo/transform.test.ts +1 -1
- package/src/geo/transform.ts +14 -14
- package/src/gl/context.ts +3 -3
- package/src/gl/types.ts +19 -19
- package/src/gl/value.ts +6 -6
- package/src/gl/vertex_buffer.test.ts +1 -1
- package/src/index.ts +24 -9
- package/src/render/draw_circle.ts +8 -8
- package/src/render/draw_collision_debug.ts +5 -5
- package/src/render/draw_line.ts +4 -4
- package/src/render/draw_symbol.ts +21 -21
- package/src/render/glyph_atlas.ts +12 -12
- package/src/render/glyph_manager.test.ts +10 -21
- package/src/render/glyph_manager.ts +33 -32
- package/src/render/image_manager.ts +4 -4
- package/src/render/painter.ts +11 -11
- package/src/render/program/background_program.ts +29 -29
- package/src/render/program/circle_program.ts +10 -10
- package/src/render/program/clipping_mask_program.ts +1 -1
- package/src/render/program/collision_program.ts +9 -9
- package/src/render/program/debug_program.ts +4 -4
- package/src/render/program/fill_extrusion_program.ts +31 -31
- package/src/render/program/fill_program.ts +29 -29
- package/src/render/program/heatmap_program.ts +12 -12
- package/src/render/program/hillshade_program.ts +12 -12
- package/src/render/program/line_program.ts +38 -38
- package/src/render/program/pattern.ts +28 -28
- package/src/render/program/raster_program.ts +21 -21
- package/src/render/program/symbol_program.ts +96 -96
- package/src/render/program.ts +25 -25
- package/src/render/texture.ts +9 -9
- package/src/render/uniform_binding.ts +1 -1
- package/src/render/vertex_array_object.ts +13 -13
- package/src/shaders/_prelude.fragment.glsl.g.ts +2 -0
- package/src/shaders/_prelude.vertex.glsl.g.ts +2 -0
- package/src/shaders/background.fragment.glsl.g.ts +2 -0
- package/src/shaders/background.vertex.glsl.g.ts +2 -0
- package/src/shaders/background_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/background_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/circle.fragment.glsl.g.ts +2 -0
- package/src/shaders/circle.vertex.glsl.g.ts +2 -0
- package/src/shaders/clipping_mask.fragment.glsl.g.ts +2 -0
- package/src/shaders/clipping_mask.vertex.glsl.g.ts +2 -0
- package/src/shaders/collision_box.fragment.glsl.g.ts +2 -0
- package/src/shaders/collision_box.vertex.glsl.g.ts +2 -0
- package/src/shaders/collision_circle.fragment.glsl.g.ts +2 -0
- package/src/shaders/collision_circle.vertex.glsl.g.ts +2 -0
- package/src/shaders/debug.fragment.glsl.g.ts +2 -0
- package/src/shaders/debug.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_outline.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_outline.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_outline_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_outline_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/heatmap.fragment.glsl.g.ts +2 -0
- package/src/shaders/heatmap.vertex.glsl.g.ts +2 -0
- package/src/shaders/heatmap_texture.fragment.glsl.g.ts +2 -0
- package/src/shaders/heatmap_texture.vertex.glsl.g.ts +2 -0
- package/src/shaders/hillshade.fragment.glsl.g.ts +2 -0
- package/src/shaders/hillshade.vertex.glsl.g.ts +2 -0
- package/src/shaders/hillshade_prepare.fragment.glsl.g.ts +2 -0
- package/src/shaders/hillshade_prepare.vertex.glsl.g.ts +2 -0
- package/src/shaders/line.fragment.glsl.g.ts +2 -0
- package/src/shaders/line.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_gradient.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_gradient.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_sdf.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_sdf.vertex.glsl.g.ts +2 -0
- package/src/shaders/raster.fragment.glsl.g.ts +2 -0
- package/src/shaders/raster.vertex.glsl.g.ts +2 -0
- package/src/shaders/shaders.ts +52 -55
- package/src/shaders/symbol_icon.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_icon.vertex.glsl.g.ts +2 -0
- package/src/shaders/symbol_sdf.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_sdf.vertex.glsl.g.ts +2 -0
- package/src/shaders/symbol_text_and_icon.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_text_and_icon.vertex.glsl.g.ts +2 -0
- package/src/source/canvas_source.test.ts +11 -12
- package/src/source/canvas_source.ts +4 -4
- package/src/source/geojson_worker_source.ts +23 -23
- package/src/source/geojson_wrapper.ts +8 -8
- package/src/source/image_source.test.ts +2 -2
- package/src/source/image_source.ts +6 -6
- package/src/source/pixels_to_tile_units.ts +6 -6
- package/src/source/query_features.ts +20 -20
- package/src/source/raster_dem_tile_source.test.ts +2 -2
- package/src/source/raster_tile_source.test.ts +2 -2
- package/src/source/rtl_text_plugin.ts +10 -10
- package/src/source/source.ts +29 -29
- package/src/source/source_cache.test.ts +32 -0
- package/src/source/source_cache.ts +7 -5
- package/src/source/source_state.ts +1 -1
- package/src/source/tile.test.ts +3 -3
- package/src/source/tile.ts +15 -15
- package/src/source/tile_cache.ts +6 -6
- package/src/source/tile_id.test.ts +0 -1
- package/src/source/vector_tile_source.test.ts +3 -3
- package/src/source/vector_tile_source.ts +1 -1
- package/src/source/vector_tile_worker_source.test.ts +4 -4
- package/src/source/vector_tile_worker_source.ts +5 -5
- package/src/source/worker.test.ts +1 -1
- package/src/source/worker.ts +22 -22
- package/src/source/worker_source.ts +56 -56
- package/src/source/worker_tile.ts +4 -4
- package/src/style/evaluation_parameters.ts +3 -3
- package/src/style/format_section_override.test.ts +1 -1
- package/src/style/light.ts +10 -10
- package/src/style/load_glyph_range.test.ts +3 -3
- package/src/style/load_glyph_range.ts +6 -6
- package/src/style/load_sprite.ts +4 -4
- package/src/style/pauseable_placement.ts +1 -1
- package/src/style/properties.ts +69 -69
- package/src/style/query_utils.ts +7 -7
- package/src/style/style.test.ts +2 -2
- package/src/style/style.ts +29 -29
- package/src/style/style_glyph.ts +8 -8
- package/src/style/style_image.ts +58 -58
- package/src/style/style_layer/background_style_layer.ts +2 -2
- package/src/style/style_layer/{background_style_layer_properties.ts → background_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/circle_style_layer.ts +10 -10
- package/src/style/style_layer/{circle_style_layer_properties.ts → circle_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/custom_style_layer.ts +17 -17
- package/src/style/style_layer/fill_extrusion_style_layer.ts +10 -10
- package/src/style/style_layer/{fill_extrusion_style_layer_properties.ts → fill_extrusion_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/fill_style_layer.ts +9 -9
- package/src/style/style_layer/{fill_style_layer_properties.ts → fill_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/heatmap_style_layer.ts +2 -2
- package/src/style/style_layer/{heatmap_style_layer_properties.ts → heatmap_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/hillshade_style_layer.ts +2 -2
- package/src/style/style_layer/{hillshade_style_layer_properties.ts → hillshade_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/line_style_layer.ts +9 -9
- package/src/style/style_layer/{line_style_layer_properties.ts → line_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/raster_style_layer.ts +2 -2
- package/src/style/style_layer/{raster_style_layer_properties.ts → raster_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/symbol_style_layer.ts +7 -7
- package/src/style/style_layer/{symbol_style_layer_properties.ts → symbol_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer.ts +10 -10
- package/src/style/style_layer_index.ts +3 -3
- package/src/style/validate_style.ts +15 -15
- package/src/style-spec/error/validation_error.ts +1 -1
- package/src/style-spec/expression/compound_expression.ts +3 -3
- package/src/style-spec/expression/definitions/format.ts +11 -11
- package/src/style-spec/expression/definitions/interpolate.ts +5 -5
- package/src/style-spec/expression/definitions/match.ts +2 -2
- package/src/style-spec/expression/definitions/number_format.ts +11 -11
- package/src/style-spec/expression/expression.ts +8 -8
- package/src/style-spec/expression/index.ts +97 -97
- package/src/style-spec/expression/parsing_context.ts +11 -11
- package/src/style-spec/expression/types/collator.ts +9 -9
- package/src/style-spec/expression/types/resolved_image.ts +2 -2
- package/src/style-spec/expression/types.ts +14 -14
- package/src/style-spec/expression/values.ts +1 -1
- package/src/style-spec/feature_filter/index.ts +66 -66
- package/src/style-spec/function/convert.ts +3 -3
- package/src/style-spec/style-spec.ts +44 -44
- package/src/style-spec/util/color_spaces.ts +8 -8
- package/src/style-spec/util/result.ts +4 -4
- package/src/style-spec/validate/validate_filter.ts +58 -58
- package/src/style-spec/validate/validate_source.ts +63 -63
- package/src/style-spec/visit.ts +11 -11
- package/src/symbol/collision_feature.test.ts +1 -1
- package/src/symbol/collision_feature.ts +10 -10
- package/src/symbol/collision_index.ts +26 -26
- package/src/symbol/cross_tile_symbol_index.ts +17 -17
- package/src/symbol/get_anchors.ts +16 -16
- package/src/symbol/grid_index.ts +7 -7
- package/src/symbol/placement.ts +72 -72
- package/src/symbol/projection.ts +30 -30
- package/src/symbol/quads.ts +30 -30
- package/src/symbol/shaping.ts +160 -160
- package/src/symbol/symbol_layout.ts +119 -119
- package/src/symbol/symbol_size.ts +29 -29
- package/src/symbol/symbol_style_layer.test.ts +1 -1
- package/src/types/cancelable.ts +1 -1
- package/src/types/tilejson.ts +13 -13
- package/src/ui/anchor.ts +1 -1
- package/src/ui/camera.test.ts +5 -5
- package/src/ui/camera.ts +18 -18
- package/src/ui/control/attribution_control.test.ts +51 -16
- package/src/ui/control/attribution_control.ts +35 -16
- package/src/ui/control/control.ts +40 -40
- package/src/ui/control/fullscreen_control.ts +1 -1
- package/src/ui/control/geolocate_control.test.ts +1 -1
- package/src/ui/control/geolocate_control.ts +102 -102
- package/src/ui/control/logo_control.test.ts +4 -4
- package/src/ui/control/navigation_control.ts +3 -3
- package/src/ui/control/scale_control.test.ts +2 -2
- package/src/ui/control/scale_control.ts +5 -5
- package/src/ui/events.ts +289 -200
- package/src/ui/handler/box_zoom.test.ts +1 -1
- package/src/ui/handler/box_zoom.ts +1 -1
- package/src/ui/handler/dblclick_zoom.test.ts +1 -1
- package/src/ui/handler/drag_pan.test.ts +1 -1
- package/src/ui/handler/drag_rotate.test.ts +1 -1
- package/src/ui/handler/keyboard.test.ts +1 -1
- package/src/ui/handler/keyboard.ts +51 -51
- package/src/ui/handler/map_event.test.ts +1 -1
- package/src/ui/handler/map_event.ts +1 -1
- package/src/ui/handler/mouse.ts +1 -1
- package/src/ui/handler/mouse_rotate.test.ts +1 -1
- package/src/ui/handler/scroll_zoom.test.ts +1 -1
- package/src/ui/handler/scroll_zoom.ts +9 -9
- package/src/ui/handler/shim/drag_pan.ts +4 -4
- package/src/ui/handler/shim/drag_rotate.ts +1 -1
- package/src/ui/handler/shim/touch_zoom_rotate.ts +1 -1
- package/src/ui/handler/tap_recognizer.ts +4 -4
- package/src/ui/handler/touch_pan.ts +2 -2
- package/src/ui/handler/touch_zoom_rotate.test.ts +1 -1
- package/src/ui/handler/touch_zoom_rotate.ts +1 -1
- package/src/ui/handler_inertia.ts +6 -6
- package/src/ui/handler_manager.ts +44 -44
- package/src/ui/map/isMoving.test.ts +1 -1
- package/src/ui/map/isRotating.test.ts +1 -1
- package/src/ui/map/isZooming.test.ts +1 -1
- package/src/ui/map.test.ts +10 -4
- package/src/ui/map.ts +106 -101
- package/src/ui/map_events.test.ts +1 -1
- package/src/ui/marker.test.ts +12 -12
- package/src/ui/marker.ts +37 -37
- package/src/ui/popup.test.ts +7 -7
- package/src/ui/popup.ts +9 -9
- package/src/util/actor.test.ts +41 -10
- package/src/util/actor.ts +8 -8
- package/src/util/ajax.test.ts +29 -21
- package/src/util/ajax.ts +51 -30
- package/src/util/browser.ts +1 -1
- package/src/util/classify_rings.test.ts +1 -1
- package/src/util/color_ramp.ts +5 -5
- package/src/util/config.ts +2 -2
- package/src/util/dispatcher.ts +1 -1
- package/src/util/dom.ts +2 -2
- package/src/util/evented.ts +1 -1
- package/src/util/find_pole_of_inaccessibility.ts +3 -3
- package/src/util/image.ts +5 -5
- package/src/util/performance.ts +7 -7
- package/src/util/request_manager.ts +4 -4
- package/src/util/resolve_tokens.ts +4 -4
- package/src/util/struct_array.test.ts +1 -1
- package/src/util/struct_array.ts +15 -15
- package/src/util/task_queue.ts +3 -3
- package/src/util/tile_request_cache.ts +3 -3
- package/src/util/transferable_grid_index.ts +4 -4
- package/src/util/util.ts +8 -8
- package/src/util/web_worker.ts +4 -68
- package/src/util/web_worker_transfer.test.ts +3 -0
- package/src/util/web_worker_transfer.ts +21 -17
- package/src/util/worker_pool.ts +1 -1
- package/build/.eslintrc +0 -21
- package/build/glsl_to_js.js +0 -12
- package/build/post-ts-build.js +0 -43
- package/build/release-notes.md.ejs +0 -8
- package/build/test/build-tape.js +0 -17
- package/build/web_worker_replacement.js +0 -5
- package/dist/package.json +0 -1
- package/src/style-spec/validate_spec.test.ts +0 -29
- package/src/symbol/shaping.test.ts +0 -392
- package/src/types/glsl.d.ts +0 -4
|
@@ -12,44 +12,44 @@ import type Painter from '../painter';
|
|
|
12
12
|
import type {CrossfadeParameters} from '../../style/evaluation_parameters';
|
|
13
13
|
|
|
14
14
|
export type LineUniformsType = {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
'u_matrix': UniformMatrix4f;
|
|
16
|
+
'u_ratio': Uniform1f;
|
|
17
|
+
'u_device_pixel_ratio': Uniform1f;
|
|
18
|
+
'u_units_to_pixels': Uniform2f;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export type LineGradientUniformsType = {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
'u_matrix': UniformMatrix4f;
|
|
23
|
+
'u_ratio': Uniform1f;
|
|
24
|
+
'u_device_pixel_ratio': Uniform1f;
|
|
25
|
+
'u_units_to_pixels': Uniform2f;
|
|
26
|
+
'u_image': Uniform1i;
|
|
27
|
+
'u_image_height': Uniform1f;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export type LinePatternUniformsType = {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
'u_matrix': UniformMatrix4f;
|
|
32
|
+
'u_texsize': Uniform2f;
|
|
33
|
+
'u_ratio': Uniform1f;
|
|
34
|
+
'u_device_pixel_ratio': Uniform1f;
|
|
35
|
+
'u_units_to_pixels': Uniform2f;
|
|
36
|
+
'u_image': Uniform1i;
|
|
37
|
+
'u_scale': Uniform3f;
|
|
38
|
+
'u_fade': Uniform1f;
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
export type LineSDFUniformsType = {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
42
|
+
'u_matrix': UniformMatrix4f;
|
|
43
|
+
'u_ratio': Uniform1f;
|
|
44
|
+
'u_device_pixel_ratio': Uniform1f;
|
|
45
|
+
'u_units_to_pixels': Uniform2f;
|
|
46
|
+
'u_patternscale_a': Uniform2f;
|
|
47
|
+
'u_patternscale_b': Uniform2f;
|
|
48
|
+
'u_sdfgamma': Uniform1f;
|
|
49
|
+
'u_image': Uniform1i;
|
|
50
|
+
'u_tex_y_a': Uniform1f;
|
|
51
|
+
'u_tex_y_b': Uniform1f;
|
|
52
|
+
'u_mix': Uniform1f;
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
const lineUniforms = (context: Context, locations: UniformLocations): LineUniformsType => ({
|
|
@@ -115,10 +115,10 @@ const lineGradientUniformValues = (painter: Painter, tile: Tile, layer: LineStyl
|
|
|
115
115
|
};
|
|
116
116
|
|
|
117
117
|
const linePatternUniformValues = (
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
painter: Painter,
|
|
119
|
+
tile: Tile,
|
|
120
|
+
layer: LineStyleLayer,
|
|
121
|
+
crossfade: CrossfadeParameters
|
|
122
122
|
): UniformValues<LinePatternUniformsType> => {
|
|
123
123
|
const transform = painter.transform;
|
|
124
124
|
const tileZoomRatio = calculateTileRatio(tile, transform);
|
|
@@ -139,11 +139,11 @@ const linePatternUniformValues = (
|
|
|
139
139
|
};
|
|
140
140
|
|
|
141
141
|
const lineSDFUniformValues = (
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
142
|
+
painter: Painter,
|
|
143
|
+
tile: Tile,
|
|
144
|
+
layer: LineStyleLayer,
|
|
145
|
+
dasharray: CrossFaded<Array<number>>,
|
|
146
|
+
crossfade: CrossfadeParameters
|
|
147
147
|
): UniformValues<LineSDFUniformsType> => {
|
|
148
148
|
const transform = painter.transform;
|
|
149
149
|
const lineAtlas = painter.lineAtlas;
|
|
@@ -16,30 +16,30 @@ import type Tile from '../../source/tile';
|
|
|
16
16
|
import type ResolvedImage from '../../style-spec/expression/types/resolved_image';
|
|
17
17
|
|
|
18
18
|
type BackgroundPatternUniformsType = {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
'u_image': Uniform1i;
|
|
20
|
+
'u_pattern_tl_a': Uniform2f;
|
|
21
|
+
'u_pattern_br_a': Uniform2f;
|
|
22
|
+
'u_pattern_tl_b': Uniform2f;
|
|
23
|
+
'u_pattern_br_b': Uniform2f;
|
|
24
|
+
'u_texsize': Uniform2f;
|
|
25
|
+
'u_mix': Uniform1f;
|
|
26
|
+
'u_pattern_size_a': Uniform2f;
|
|
27
|
+
'u_pattern_size_b': Uniform2f;
|
|
28
|
+
'u_scale_a': Uniform1f;
|
|
29
|
+
'u_scale_b': Uniform1f;
|
|
30
|
+
'u_pixel_coord_upper': Uniform2f;
|
|
31
|
+
'u_pixel_coord_lower': Uniform2f;
|
|
32
|
+
'u_tile_units_to_pixels': Uniform1f;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
export type PatternUniformsType = {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
// pattern uniforms:
|
|
37
|
+
'u_image': Uniform1i;
|
|
38
|
+
'u_texsize': Uniform2f;
|
|
39
|
+
'u_scale': Uniform3f;
|
|
40
|
+
'u_fade': Uniform1f;
|
|
41
|
+
'u_pixel_coord_upper': Uniform2f;
|
|
42
|
+
'u_pixel_coord_lower': Uniform2f;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
function patternUniformValues(crossfade: CrossfadeParameters, painter: Painter, tile: Tile): UniformValues<PatternUniformsType> {
|
|
@@ -64,13 +64,13 @@ function patternUniformValues(crossfade: CrossfadeParameters, painter: Painter,
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
function bgPatternUniformValues(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
image: CrossFaded<ResolvedImage>,
|
|
68
|
+
crossfade: CrossfadeParameters,
|
|
69
|
+
painter: Painter,
|
|
70
|
+
tile: {
|
|
71
|
+
tileID: OverscaledTileID;
|
|
72
|
+
tileSize: number;
|
|
73
|
+
}
|
|
74
74
|
): UniformValues<BackgroundPatternUniformsType> {
|
|
75
75
|
const imagePosA = painter.imageManager.getPattern(image.from.toString());
|
|
76
76
|
const imagePosB = painter.imageManager.getPattern(image.to.toString());
|
|
@@ -6,19 +6,19 @@ import type RasterStyleLayer from '../../style/style_layer/raster_style_layer';
|
|
|
6
6
|
import {mat4} from 'gl-matrix';
|
|
7
7
|
|
|
8
8
|
export type RasterUniformsType = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
'u_matrix': UniformMatrix4f;
|
|
10
|
+
'u_tl_parent': Uniform2f;
|
|
11
|
+
'u_scale_parent': Uniform1f;
|
|
12
|
+
'u_buffer_scale': Uniform1f;
|
|
13
|
+
'u_fade_t': Uniform1f;
|
|
14
|
+
'u_opacity': Uniform1f;
|
|
15
|
+
'u_image0': Uniform1i;
|
|
16
|
+
'u_image1': Uniform1i;
|
|
17
|
+
'u_brightness_low': Uniform1f;
|
|
18
|
+
'u_brightness_high': Uniform1f;
|
|
19
|
+
'u_saturation_factor': Uniform1f;
|
|
20
|
+
'u_contrast_factor': Uniform1f;
|
|
21
|
+
'u_spin_weights': Uniform3f;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
const rasterUniforms = (context: Context, locations: UniformLocations): RasterUniformsType => ({
|
|
@@ -38,14 +38,14 @@ const rasterUniforms = (context: Context, locations: UniformLocations): RasterUn
|
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
const rasterUniformValues = (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
matrix: mat4,
|
|
42
|
+
parentTL: [number, number],
|
|
43
|
+
parentScaleBy: number,
|
|
44
|
+
fade: {
|
|
45
|
+
mix: number;
|
|
46
|
+
opacity: number;
|
|
47
|
+
},
|
|
48
|
+
layer: RasterStyleLayer
|
|
49
49
|
): UniformValues<RasterUniformsType> => ({
|
|
50
50
|
'u_matrix': matrix,
|
|
51
51
|
'u_tl_parent': parentTL,
|
|
@@ -7,68 +7,68 @@ import type {UniformValues, UniformLocations} from '../uniform_binding';
|
|
|
7
7
|
import {mat4} from 'gl-matrix';
|
|
8
8
|
|
|
9
9
|
export type SymbolIconUniformsType = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
10
|
+
'u_is_size_zoom_constant': Uniform1i;
|
|
11
|
+
'u_is_size_feature_constant': Uniform1i;
|
|
12
|
+
'u_size_t': Uniform1f;
|
|
13
|
+
'u_size': Uniform1f;
|
|
14
|
+
'u_camera_to_center_distance': Uniform1f;
|
|
15
|
+
'u_pitch': Uniform1f;
|
|
16
|
+
'u_rotate_symbol': Uniform1i;
|
|
17
|
+
'u_aspect_ratio': Uniform1f;
|
|
18
|
+
'u_fade_change': Uniform1f;
|
|
19
|
+
'u_matrix': UniformMatrix4f;
|
|
20
|
+
'u_label_plane_matrix': UniformMatrix4f;
|
|
21
|
+
'u_coord_matrix': UniformMatrix4f;
|
|
22
|
+
'u_is_text': Uniform1i;
|
|
23
|
+
'u_pitch_with_map': Uniform1i;
|
|
24
|
+
'u_texsize': Uniform2f;
|
|
25
|
+
'u_texture': Uniform1i;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export type SymbolSDFUniformsType = {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
29
|
+
'u_is_size_zoom_constant': Uniform1i;
|
|
30
|
+
'u_is_size_feature_constant': Uniform1i;
|
|
31
|
+
'u_size_t': Uniform1f;
|
|
32
|
+
'u_size': Uniform1f;
|
|
33
|
+
'u_camera_to_center_distance': Uniform1f;
|
|
34
|
+
'u_pitch': Uniform1f;
|
|
35
|
+
'u_rotate_symbol': Uniform1i;
|
|
36
|
+
'u_aspect_ratio': Uniform1f;
|
|
37
|
+
'u_fade_change': Uniform1f;
|
|
38
|
+
'u_matrix': UniformMatrix4f;
|
|
39
|
+
'u_label_plane_matrix': UniformMatrix4f;
|
|
40
|
+
'u_coord_matrix': UniformMatrix4f;
|
|
41
|
+
'u_is_text': Uniform1i;
|
|
42
|
+
'u_pitch_with_map': Uniform1i;
|
|
43
|
+
'u_texsize': Uniform2f;
|
|
44
|
+
'u_texture': Uniform1i;
|
|
45
|
+
'u_gamma_scale': Uniform1f;
|
|
46
|
+
'u_device_pixel_ratio': Uniform1f;
|
|
47
|
+
'u_is_halo': Uniform1i;
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
export type symbolTextAndIconUniformsType = {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
51
|
+
'u_is_size_zoom_constant': Uniform1i;
|
|
52
|
+
'u_is_size_feature_constant': Uniform1i;
|
|
53
|
+
'u_size_t': Uniform1f;
|
|
54
|
+
'u_size': Uniform1f;
|
|
55
|
+
'u_camera_to_center_distance': Uniform1f;
|
|
56
|
+
'u_pitch': Uniform1f;
|
|
57
|
+
'u_rotate_symbol': Uniform1i;
|
|
58
|
+
'u_aspect_ratio': Uniform1f;
|
|
59
|
+
'u_fade_change': Uniform1f;
|
|
60
|
+
'u_matrix': UniformMatrix4f;
|
|
61
|
+
'u_label_plane_matrix': UniformMatrix4f;
|
|
62
|
+
'u_coord_matrix': UniformMatrix4f;
|
|
63
|
+
'u_is_text': Uniform1i;
|
|
64
|
+
'u_pitch_with_map': Uniform1i;
|
|
65
|
+
'u_texsize': Uniform2f;
|
|
66
|
+
'u_texsize_icon': Uniform2f;
|
|
67
|
+
'u_texture': Uniform1i;
|
|
68
|
+
'u_texture_icon': Uniform1i;
|
|
69
|
+
'u_gamma_scale': Uniform1f;
|
|
70
|
+
'u_device_pixel_ratio': Uniform1f;
|
|
71
|
+
'u_is_halo': Uniform1i;
|
|
72
72
|
};
|
|
73
73
|
|
|
74
74
|
const symbolIconUniforms = (context: Context, locations: UniformLocations): SymbolIconUniformsType => ({
|
|
@@ -137,19 +137,19 @@ const symbolTextAndIconUniforms = (context: Context, locations: UniformLocations
|
|
|
137
137
|
});
|
|
138
138
|
|
|
139
139
|
const symbolIconUniformValues = (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
140
|
+
functionType: string,
|
|
141
|
+
size: {
|
|
142
|
+
uSizeT: number;
|
|
143
|
+
uSize: number;
|
|
144
|
+
},
|
|
145
|
+
rotateInShader: boolean,
|
|
146
|
+
pitchWithMap: boolean,
|
|
147
|
+
painter: Painter,
|
|
148
|
+
matrix: mat4,
|
|
149
|
+
labelPlaneMatrix: mat4,
|
|
150
|
+
glCoordMatrix: mat4,
|
|
151
|
+
isText: boolean,
|
|
152
|
+
texSize: [number, number]
|
|
153
153
|
): UniformValues<SymbolIconUniformsType> => {
|
|
154
154
|
const transform = painter.transform;
|
|
155
155
|
|
|
@@ -174,20 +174,20 @@ const symbolIconUniformValues = (
|
|
|
174
174
|
};
|
|
175
175
|
|
|
176
176
|
const symbolSDFUniformValues = (
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
177
|
+
functionType: string,
|
|
178
|
+
size: {
|
|
179
|
+
uSizeT: number;
|
|
180
|
+
uSize: number;
|
|
181
|
+
},
|
|
182
|
+
rotateInShader: boolean,
|
|
183
|
+
pitchWithMap: boolean,
|
|
184
|
+
painter: Painter,
|
|
185
|
+
matrix: mat4,
|
|
186
|
+
labelPlaneMatrix: mat4,
|
|
187
|
+
glCoordMatrix: mat4,
|
|
188
|
+
isText: boolean,
|
|
189
|
+
texSize: [number, number],
|
|
190
|
+
isHalo: boolean
|
|
191
191
|
): UniformValues<SymbolSDFUniformsType> => {
|
|
192
192
|
const transform = painter.transform;
|
|
193
193
|
|
|
@@ -201,19 +201,19 @@ const symbolSDFUniformValues = (
|
|
|
201
201
|
};
|
|
202
202
|
|
|
203
203
|
const symbolTextAndIconUniformValues = (
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
204
|
+
functionType: string,
|
|
205
|
+
size: {
|
|
206
|
+
uSizeT: number;
|
|
207
|
+
uSize: number;
|
|
208
|
+
},
|
|
209
|
+
rotateInShader: boolean,
|
|
210
|
+
pitchWithMap: boolean,
|
|
211
|
+
painter: Painter,
|
|
212
|
+
matrix: mat4,
|
|
213
|
+
labelPlaneMatrix: mat4,
|
|
214
|
+
glCoordMatrix: mat4,
|
|
215
|
+
texSizeSDF: [number, number],
|
|
216
|
+
texSizeIcon: [number, number]
|
|
217
217
|
): UniformValues<SymbolIconUniformsType> => {
|
|
218
218
|
return extend(symbolSDFUniformValues(functionType, size,
|
|
219
219
|
rotateInShader, pitchWithMap, painter, matrix, labelPlaneMatrix,
|
package/src/render/program.ts
CHANGED
|
@@ -35,16 +35,16 @@ class Program<Us extends UniformBindings> {
|
|
|
35
35
|
failedToCreate: boolean;
|
|
36
36
|
|
|
37
37
|
constructor(context: Context,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
38
|
+
name: string,
|
|
39
|
+
source: {
|
|
40
|
+
fragmentSource: string;
|
|
41
|
+
vertexSource: string;
|
|
42
|
+
staticAttributes: Array<string>;
|
|
43
|
+
staticUniforms: Array<string>;
|
|
44
|
+
},
|
|
45
|
+
configuration: ProgramConfiguration,
|
|
46
|
+
fixedUniforms: (b: Context, a: UniformLocations) => Us,
|
|
47
|
+
showOverdrawInspector: boolean) {
|
|
48
48
|
const gl = context.gl;
|
|
49
49
|
this.program = gl.createProgram();
|
|
50
50
|
|
|
@@ -121,21 +121,21 @@ class Program<Us extends UniformBindings> {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
draw(context: Context,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
124
|
+
drawMode: DrawMode,
|
|
125
|
+
depthMode: Readonly<DepthMode>,
|
|
126
|
+
stencilMode: Readonly<StencilMode>,
|
|
127
|
+
colorMode: Readonly<ColorMode>,
|
|
128
|
+
cullFaceMode: Readonly<CullFaceMode>,
|
|
129
|
+
uniformValues: UniformValues<Us>,
|
|
130
|
+
layerID: string,
|
|
131
|
+
layoutVertexBuffer: VertexBuffer,
|
|
132
|
+
indexBuffer: IndexBuffer,
|
|
133
|
+
segments: SegmentVector,
|
|
134
|
+
currentProperties?: any,
|
|
135
|
+
zoom?: number | null,
|
|
136
|
+
configuration?: ProgramConfiguration | null,
|
|
137
|
+
dynamicLayoutBuffer?: VertexBuffer | null,
|
|
138
|
+
dynamicLayoutBuffer2?: VertexBuffer | null) {
|
|
139
139
|
|
|
140
140
|
const gl = context.gl;
|
|
141
141
|
|
package/src/render/texture.ts
CHANGED
|
@@ -7,9 +7,9 @@ export type TextureFilter = WebGLRenderingContext['LINEAR'] | WebGLRenderingCont
|
|
|
7
7
|
export type TextureWrap = WebGLRenderingContext['REPEAT'] | WebGLRenderingContext['CLAMP_TO_EDGE'] | WebGLRenderingContext['MIRRORED_REPEAT'];
|
|
8
8
|
|
|
9
9
|
type EmptyImage = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
data: null;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
type DataTextureImage = RGBAImage | AlphaImage | EmptyImage;
|
|
@@ -25,8 +25,8 @@ class Texture {
|
|
|
25
25
|
useMipmap: boolean;
|
|
26
26
|
|
|
27
27
|
constructor(context: Context, image: TextureImage, format: TextureFormat, options?: {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
premultiply?: boolean;
|
|
29
|
+
useMipmap?: boolean;
|
|
30
30
|
} | null) {
|
|
31
31
|
this.context = context;
|
|
32
32
|
this.format = format;
|
|
@@ -35,11 +35,11 @@ class Texture {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
update(image: TextureImage, options?: {
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
premultiply?: boolean;
|
|
39
|
+
useMipmap?: boolean;
|
|
40
40
|
} | null, position?: {
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
43
|
}) {
|
|
44
44
|
const {width, height} = image;
|
|
45
45
|
const resize = (!this.size || this.size[0] !== width || this.size[1] !== height) && !position;
|
|
@@ -4,7 +4,7 @@ import type Context from '../gl/context';
|
|
|
4
4
|
import {mat4, vec2, vec3, vec4} from 'gl-matrix';
|
|
5
5
|
|
|
6
6
|
type $ObjMap<T extends {}, F extends (v: any) => any> = {
|
|
7
|
-
|
|
7
|
+
[K in keyof T]: F extends (v: T[K]) => infer R ? R : never;
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
export type UniformValues<Us extends any> = $ObjMap<Us, <V>(u: Uniform<V>) => V>;
|
|
@@ -27,13 +27,13 @@ class VertexArrayObject {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
bind(context: Context,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
program: Program<any>,
|
|
31
|
+
layoutVertexBuffer: VertexBuffer,
|
|
32
|
+
paintVertexBuffers: Array<VertexBuffer>,
|
|
33
|
+
indexBuffer?: IndexBuffer | null,
|
|
34
|
+
vertexOffset?: number | null,
|
|
35
|
+
dynamicVertexBuffer?: VertexBuffer | null,
|
|
36
|
+
dynamicVertexBuffer2?: VertexBuffer | null) {
|
|
37
37
|
|
|
38
38
|
this.context = context;
|
|
39
39
|
|
|
@@ -76,12 +76,12 @@ class VertexArrayObject {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
freshBind(program: Program<any>,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
layoutVertexBuffer: VertexBuffer,
|
|
80
|
+
paintVertexBuffers: Array<VertexBuffer>,
|
|
81
|
+
indexBuffer?: IndexBuffer | null,
|
|
82
|
+
vertexOffset?: number | null,
|
|
83
|
+
dynamicVertexBuffer?: VertexBuffer | null,
|
|
84
|
+
dynamicVertexBuffer2?: VertexBuffer | null) {
|
|
85
85
|
let numPrevAttributes;
|
|
86
86
|
const numNextAttributes = program.numAttributes;
|
|
87
87
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
|
|
2
|
+
export default '#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
|
|
2
|
+
export default '#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
|
|
2
|
+
export default 'uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
|
|
2
|
+
export default 'uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
|
|
2
|
+
export default 'varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}';
|