@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.
- package/dist/brushing/shader-module.d.ts.map +1 -1
- package/dist/brushing/shader-module.js +52 -57
- package/dist/clip/clip-extension.d.ts.map +1 -1
- package/dist/clip/clip-extension.js +6 -6
- package/dist/collision-filter/shader-module.d.ts.map +1 -1
- package/dist/collision-filter/shader-module.js +46 -56
- package/dist/data-filter/aggregator.d.ts.map +1 -1
- package/dist/data-filter/aggregator.js +11 -14
- package/dist/data-filter/data-filter-extension.d.ts +2 -1
- package/dist/data-filter/data-filter-extension.d.ts.map +1 -1
- package/dist/data-filter/data-filter-extension.js +13 -7
- package/dist/data-filter/shader-module.d.ts.map +1 -1
- package/dist/data-filter/shader-module.js +70 -78
- package/dist/dist.dev.js +297 -302
- package/dist/fill-style/fill-style-extension.js +1 -1
- package/dist/fill-style/{shaders.glsl.d.ts → shader-module.d.ts} +1 -1
- package/dist/fill-style/shader-module.d.ts.map +1 -0
- package/dist/fill-style/{shaders.glsl.js → shader-module.js} +27 -33
- package/dist/fp64/project64.glsl.js +41 -60
- package/dist/index.cjs +374 -432
- package/dist/index.cjs.map +4 -4
- package/dist/mask/mask-pass.js +2 -2
- package/dist/mask/shader-module.d.ts.map +1 -1
- package/dist/mask/shader-module.js +33 -37
- package/dist/path-style/shaders.glsl.js +42 -47
- package/dist/terrain/shader-module.d.ts.map +1 -1
- package/dist/terrain/shader-module.js +30 -32
- package/dist/terrain/terrain-pass.js +2 -2
- package/dist/terrain/utils.js +2 -2
- package/dist/utils/syntax-tags.d.ts +6 -0
- package/dist/utils/syntax-tags.d.ts.map +1 -0
- package/dist/utils/syntax-tags.js +5 -0
- package/dist.min.js +364 -431
- package/package.json +8 -8
- package/src/brushing/shader-module.ts +4 -3
- package/src/clip/clip-extension.ts +10 -9
- package/src/collision-filter/shader-module.ts +6 -4
- package/src/data-filter/aggregator.ts +8 -13
- package/src/data-filter/data-filter-extension.ts +18 -8
- package/src/data-filter/shader-module.ts +7 -6
- package/src/fill-style/fill-style-extension.ts +1 -1
- package/src/fill-style/{shaders.glsl.ts → shader-module.ts} +6 -5
- package/src/mask/shader-module.ts +7 -6
- package/src/terrain/shader-module.ts +11 -10
- package/src/terrain/utils.ts +1 -1
- package/src/utils/syntax-tags.ts +5 -0
- package/dist/fill-style/shaders.glsl.d.ts.map +0 -1
|
@@ -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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
43
|
-
|
|
38
|
+
fill_uv = geometry.position.xy;
|
|
39
|
+
`,
|
|
44
40
|
'vs:DECKGL_FILTER_COLOR': `
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
25
|
+
out_val[0] = sum_fp64(radians_fp64(lnglat_fp64.xy), PI_FP64 * ONE);
|
|
31
26
|
#else
|
|
32
|
-
|
|
27
|
+
out_val[0] = sum_fp64(radians_fp64(lnglat_fp64.xy), PI_FP64);
|
|
33
28
|
#endif
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
58
|
+
vec3 position, vec3 position64xyLow, vec3 offset, out vec4 commonPosition
|
|
70
59
|
) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
|
|
74
|
+
vec3 position, vec3 position64xyLow, vec3 offset
|
|
94
75
|
) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
76
|
+
vec4 commonPosition;
|
|
77
|
+
return project_position_to_clipspace(
|
|
78
|
+
position, position64xyLow, offset, commonPosition
|
|
79
|
+
);
|
|
99
80
|
}
|
|
100
81
|
`;
|