@deck.gl/extensions 9.0.0-beta.4 → 9.0.0-beta.6

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.
Files changed (47) hide show
  1. package/dist/brushing/shader-module.d.ts.map +1 -1
  2. package/dist/brushing/shader-module.js +52 -57
  3. package/dist/clip/clip-extension.d.ts.map +1 -1
  4. package/dist/clip/clip-extension.js +6 -6
  5. package/dist/collision-filter/shader-module.d.ts.map +1 -1
  6. package/dist/collision-filter/shader-module.js +46 -56
  7. package/dist/data-filter/aggregator.d.ts.map +1 -1
  8. package/dist/data-filter/aggregator.js +11 -14
  9. package/dist/data-filter/data-filter-extension.d.ts +2 -1
  10. package/dist/data-filter/data-filter-extension.d.ts.map +1 -1
  11. package/dist/data-filter/data-filter-extension.js +13 -7
  12. package/dist/data-filter/shader-module.d.ts.map +1 -1
  13. package/dist/data-filter/shader-module.js +70 -78
  14. package/dist/dist.dev.js +297 -302
  15. package/dist/fill-style/fill-style-extension.js +1 -1
  16. package/dist/fill-style/{shaders.glsl.d.ts → shader-module.d.ts} +1 -1
  17. package/dist/fill-style/shader-module.d.ts.map +1 -0
  18. package/dist/fill-style/{shaders.glsl.js → shader-module.js} +27 -33
  19. package/dist/fp64/project64.glsl.js +41 -60
  20. package/dist/index.cjs +374 -432
  21. package/dist/index.cjs.map +4 -4
  22. package/dist/mask/mask-pass.js +2 -2
  23. package/dist/mask/shader-module.d.ts.map +1 -1
  24. package/dist/mask/shader-module.js +33 -37
  25. package/dist/path-style/shaders.glsl.js +42 -47
  26. package/dist/terrain/shader-module.d.ts.map +1 -1
  27. package/dist/terrain/shader-module.js +30 -32
  28. package/dist/terrain/terrain-pass.js +2 -2
  29. package/dist/terrain/utils.js +2 -2
  30. package/dist/utils/syntax-tags.d.ts +6 -0
  31. package/dist/utils/syntax-tags.d.ts.map +1 -0
  32. package/dist/utils/syntax-tags.js +5 -0
  33. package/dist.min.js +364 -431
  34. package/package.json +8 -8
  35. package/src/brushing/shader-module.ts +4 -3
  36. package/src/clip/clip-extension.ts +10 -9
  37. package/src/collision-filter/shader-module.ts +6 -4
  38. package/src/data-filter/aggregator.ts +8 -13
  39. package/src/data-filter/data-filter-extension.ts +18 -8
  40. package/src/data-filter/shader-module.ts +7 -6
  41. package/src/fill-style/fill-style-extension.ts +1 -1
  42. package/src/fill-style/{shaders.glsl.ts → shader-module.ts} +6 -5
  43. package/src/mask/shader-module.ts +7 -6
  44. package/src/terrain/shader-module.ts +11 -10
  45. package/src/terrain/utils.ts +1 -1
  46. package/src/utils/syntax-tags.ts +5 -0
  47. package/dist/fill-style/shaders.glsl.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { LayerExtension } from '@deck.gl/core';
2
- import { patternShaders } from "./shaders.glsl.js";
2
+ import { patternShaders } from "./shader-module.js";
3
3
  const defaultProps = {
4
4
  fillPatternEnabled: true,
5
5
  fillPatternAtlas: {
@@ -10,4 +10,4 @@ type FillStyleModuleSettings = {
10
10
  };
11
11
  export declare const patternShaders: ShaderModule<FillStyleModuleSettings>;
12
12
  export {};
13
- //# sourceMappingURL=shaders.glsl.d.ts.map
13
+ //# sourceMappingURL=shader-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../src/fill-style/shader-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EAAC,QAAQ,EAAkB,MAAM,eAAe,CAAC;AAE7D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAyE3C,KAAK,uBAAuB,GACxB;IACE,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACD;IACE,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAoCN,eAAO,MAAM,cAAc,EAAE,YAAY,CAAC,uBAAuB,CAOhE,CAAC"}
@@ -1,25 +1,23 @@
1
1
  import { project, fp64LowPart } from '@deck.gl/core';
2
+ import { glsl } from "../utils/syntax-tags.js";
2
3
  /*
3
4
  * fill pattern shader module
4
5
  */
5
6
  const patternVs = `
6
7
  #ifdef NON_INSTANCED_MODEL
7
- #define FILL_PATTERN_FRAME_ATTRIB fillPatternFrames
8
- #define FILL_PATTERN_SCALE_ATTRIB fillPatternScales
9
- #define FILL_PATTERN_OFFSET_ATTRIB fillPatternOffsets
8
+ #define FILL_PATTERN_FRAME_ATTRIB fillPatternFrames
9
+ #define FILL_PATTERN_SCALE_ATTRIB fillPatternScales
10
+ #define FILL_PATTERN_OFFSET_ATTRIB fillPatternOffsets
10
11
  #else
11
- #define FILL_PATTERN_FRAME_ATTRIB instanceFillPatternFrames
12
- #define FILL_PATTERN_SCALE_ATTRIB instanceFillPatternScales
13
- #define FILL_PATTERN_OFFSET_ATTRIB instanceFillPatternOffsets
12
+ #define FILL_PATTERN_FRAME_ATTRIB instanceFillPatternFrames
13
+ #define FILL_PATTERN_SCALE_ATTRIB instanceFillPatternScales
14
+ #define FILL_PATTERN_OFFSET_ATTRIB instanceFillPatternOffsets
14
15
  #endif
15
-
16
16
  in vec4 FILL_PATTERN_FRAME_ATTRIB;
17
17
  in float FILL_PATTERN_SCALE_ATTRIB;
18
18
  in vec2 FILL_PATTERN_OFFSET_ATTRIB;
19
-
20
19
  uniform bool fill_patternEnabled;
21
20
  uniform vec2 fill_patternTextureSize;
22
-
23
21
  out vec2 fill_uv;
24
22
  out vec4 fill_patternBounds;
25
23
  out vec4 fill_patternPlacement;
@@ -30,39 +28,35 @@ uniform bool fill_patternMask;
30
28
  uniform sampler2D fill_patternTexture;
31
29
  uniform vec2 fill_uvCoordinateOrigin;
32
30
  uniform vec2 fill_uvCoordinateOrigin64Low;
33
-
34
31
  in vec4 fill_patternBounds;
35
32
  in vec4 fill_patternPlacement;
36
33
  in vec2 fill_uv;
37
-
38
34
  const float FILL_UV_SCALE = 512.0 / 40000000.0;
39
35
  `;
40
36
  const inject = {
41
37
  'vs:DECKGL_FILTER_GL_POSITION': `
42
- fill_uv = geometry.position.xy;
43
- `,
38
+ fill_uv = geometry.position.xy;
39
+ `,
44
40
  'vs:DECKGL_FILTER_COLOR': `
45
- if (fill_patternEnabled) {
46
- fill_patternBounds = FILL_PATTERN_FRAME_ATTRIB / vec4(fill_patternTextureSize, fill_patternTextureSize);
47
- fill_patternPlacement.xy = FILL_PATTERN_OFFSET_ATTRIB;
48
- fill_patternPlacement.zw = FILL_PATTERN_SCALE_ATTRIB * FILL_PATTERN_FRAME_ATTRIB.zw;
49
- }
50
- `,
41
+ if (fill_patternEnabled) {
42
+ fill_patternBounds = FILL_PATTERN_FRAME_ATTRIB / vec4(fill_patternTextureSize, fill_patternTextureSize);
43
+ fill_patternPlacement.xy = FILL_PATTERN_OFFSET_ATTRIB;
44
+ fill_patternPlacement.zw = FILL_PATTERN_SCALE_ATTRIB * FILL_PATTERN_FRAME_ATTRIB.zw;
45
+ }
46
+ `,
51
47
  'fs:DECKGL_FILTER_COLOR': `
52
- if (fill_patternEnabled) {
53
- vec2 scale = FILL_UV_SCALE * fill_patternPlacement.zw;
54
- vec2 patternUV = mod(mod(fill_uvCoordinateOrigin, scale) + fill_uvCoordinateOrigin64Low + fill_uv, scale) / scale;
55
- patternUV = mod(fill_patternPlacement.xy + patternUV, 1.0);
56
-
57
- vec2 texCoords = fill_patternBounds.xy + fill_patternBounds.zw * patternUV;
58
-
59
- vec4 patternColor = texture(fill_patternTexture, texCoords);
60
- color.a *= patternColor.a;
61
- if (!fill_patternMask) {
62
- color.rgb = patternColor.rgb;
63
- }
64
- }
65
- `
48
+ if (fill_patternEnabled) {
49
+ vec2 scale = FILL_UV_SCALE * fill_patternPlacement.zw;
50
+ vec2 patternUV = mod(mod(fill_uvCoordinateOrigin, scale) + fill_uvCoordinateOrigin64Low + fill_uv, scale) / scale;
51
+ patternUV = mod(fill_patternPlacement.xy + patternUV, 1.0);
52
+ vec2 texCoords = fill_patternBounds.xy + fill_patternBounds.zw * patternUV;
53
+ vec4 patternColor = texture(fill_patternTexture, texCoords);
54
+ color.a *= patternColor.a;
55
+ if (!fill_patternMask) {
56
+ color.rgb = patternColor.rgb;
57
+ }
58
+ }
59
+ `
66
60
  };
67
61
  /* eslint-disable camelcase */
68
62
  function getPatternUniforms(opts, uniforms) {
@@ -18,83 +18,64 @@
18
18
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  // THE SOFTWARE.
20
20
  export default `\
21
-
22
21
  const vec2 WORLD_SCALE_FP64 = vec2(81.4873275756836, 0.0000032873668232014097);
23
-
24
22
  uniform vec2 project_uViewProjectionMatrixFP64[16];
25
-
26
- // longitude: lnglat_fp64.xy; latitude: lnglat_fp64.zw
27
23
  void mercatorProject_fp64(vec4 lnglat_fp64, out vec2 out_val[2]) {
28
-
29
24
  #if defined(NVIDIA_FP64_WORKAROUND)
30
- out_val[0] = sum_fp64(radians_fp64(lnglat_fp64.xy), PI_FP64 * ONE);
25
+ out_val[0] = sum_fp64(radians_fp64(lnglat_fp64.xy), PI_FP64 * ONE);
31
26
  #else
32
- out_val[0] = sum_fp64(radians_fp64(lnglat_fp64.xy), PI_FP64);
27
+ out_val[0] = sum_fp64(radians_fp64(lnglat_fp64.xy), PI_FP64);
33
28
  #endif
34
- out_val[1] = sum_fp64(PI_FP64,
35
- log_fp64(tan_fp64(sum_fp64(PI_4_FP64, radians_fp64(lnglat_fp64.zw) / 2.0))));
36
- return;
29
+ out_val[1] = sum_fp64(PI_FP64,
30
+ log_fp64(tan_fp64(sum_fp64(PI_4_FP64, radians_fp64(lnglat_fp64.zw) / 2.0))));
31
+ return;
37
32
  }
38
-
39
33
  void project_position_fp64(vec4 position_fp64, out vec2 out_val[2]) {
40
- vec2 pos_fp64[2];
41
- mercatorProject_fp64(position_fp64, pos_fp64);
42
- out_val[0] = mul_fp64(pos_fp64[0], WORLD_SCALE_FP64);
43
- out_val[1] = mul_fp64(pos_fp64[1], WORLD_SCALE_FP64);
44
-
45
- return;
34
+ vec2 pos_fp64[2];
35
+ mercatorProject_fp64(position_fp64, pos_fp64);
36
+ out_val[0] = mul_fp64(pos_fp64[0], WORLD_SCALE_FP64);
37
+ out_val[1] = mul_fp64(pos_fp64[1], WORLD_SCALE_FP64);
38
+ return;
46
39
  }
47
-
48
40
  void project_position_fp64(vec2 position, vec2 position64xyLow, out vec2 out_val[2]) {
49
- vec4 position64xy = vec4(
50
- position.x, position64xyLow.x,
51
- position.y, position64xyLow.y);
52
-
53
- project_position_fp64(position64xy, out_val);
41
+ vec4 position64xy = vec4(
42
+ position.x, position64xyLow.x,
43
+ position.y, position64xyLow.y);
44
+ project_position_fp64(position64xy, out_val);
54
45
  }
55
-
56
46
  vec4 project_common_position_to_clipspace_fp64(vec2 vertex_pos_modelspace[4]) {
57
- vec2 vertex_pos_clipspace[4];
58
- mat4_vec4_mul_fp64(project_uViewProjectionMatrixFP64, vertex_pos_modelspace,
59
- vertex_pos_clipspace);
60
- return vec4(
61
- vertex_pos_clipspace[0].x,
62
- vertex_pos_clipspace[1].x,
63
- vertex_pos_clipspace[2].x,
64
- vertex_pos_clipspace[3].x
65
- );
47
+ vec2 vertex_pos_clipspace[4];
48
+ mat4_vec4_mul_fp64(project_uViewProjectionMatrixFP64, vertex_pos_modelspace,
49
+ vertex_pos_clipspace);
50
+ return vec4(
51
+ vertex_pos_clipspace[0].x,
52
+ vertex_pos_clipspace[1].x,
53
+ vertex_pos_clipspace[2].x,
54
+ vertex_pos_clipspace[3].x
55
+ );
66
56
  }
67
-
68
57
  vec4 project_position_to_clipspace(
69
- vec3 position, vec3 position64xyLow, vec3 offset, out vec4 commonPosition
58
+ vec3 position, vec3 position64xyLow, vec3 offset, out vec4 commonPosition
70
59
  ) {
71
- // This is the local offset to the instance position
72
- vec2 offset64[4];
73
- vec4_fp64(vec4(offset, 0.0), offset64);
74
-
75
- float z = project_size(position.z);
76
-
77
- // Apply web mercator projection (depends on coordinate system imn use)
78
- vec2 projectedPosition64xy[2];
79
- project_position_fp64(position.xy, position64xyLow.xy, projectedPosition64xy);
80
-
81
- vec2 commonPosition64[4];
82
- commonPosition64[0] = sum_fp64(offset64[0], projectedPosition64xy[0]);
83
- commonPosition64[1] = sum_fp64(offset64[1], projectedPosition64xy[1]);
84
- commonPosition64[2] = sum_fp64(offset64[2], vec2(z, 0.0));
85
- commonPosition64[3] = vec2(1.0, 0.0);
86
-
87
- commonPosition = vec4(projectedPosition64xy[0].x, projectedPosition64xy[1].x, z, 1.0);
88
-
89
- return project_common_position_to_clipspace_fp64(commonPosition64);
60
+ vec2 offset64[4];
61
+ vec4_fp64(vec4(offset, 0.0), offset64);
62
+ float z = project_size(position.z);
63
+ vec2 projectedPosition64xy[2];
64
+ project_position_fp64(position.xy, position64xyLow.xy, projectedPosition64xy);
65
+ vec2 commonPosition64[4];
66
+ commonPosition64[0] = sum_fp64(offset64[0], projectedPosition64xy[0]);
67
+ commonPosition64[1] = sum_fp64(offset64[1], projectedPosition64xy[1]);
68
+ commonPosition64[2] = sum_fp64(offset64[2], vec2(z, 0.0));
69
+ commonPosition64[3] = vec2(1.0, 0.0);
70
+ commonPosition = vec4(projectedPosition64xy[0].x, projectedPosition64xy[1].x, z, 1.0);
71
+ return project_common_position_to_clipspace_fp64(commonPosition64);
90
72
  }
91
-
92
73
  vec4 project_position_to_clipspace(
93
- vec3 position, vec3 position64xyLow, vec3 offset
74
+ vec3 position, vec3 position64xyLow, vec3 offset
94
75
  ) {
95
- vec4 commonPosition;
96
- return project_position_to_clipspace(
97
- position, position64xyLow, offset, commonPosition
98
- );
76
+ vec4 commonPosition;
77
+ return project_position_to_clipspace(
78
+ position, position64xyLow, offset, commonPosition
79
+ );
99
80
  }
100
81
  `;