@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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { glsl } from "../utils/syntax-tags.js";
|
|
1
2
|
/*
|
|
2
3
|
* data filter shader module
|
|
3
4
|
*/
|
|
@@ -10,78 +11,69 @@ uniform bool filter_useSoftMargin;
|
|
|
10
11
|
uniform bool filter_enabled;
|
|
11
12
|
uniform bool filter_transformSize;
|
|
12
13
|
uniform ivec4 filter_categoryBitMask;
|
|
13
|
-
|
|
14
14
|
#ifdef NON_INSTANCED_MODEL
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
#define DATAFILTER_ATTRIB filterValues
|
|
16
|
+
#define DATAFILTER_ATTRIB_64LOW filterValues64Low
|
|
17
|
+
#define DATACATEGORY_ATTRIB filterCategoryValues
|
|
18
18
|
#else
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
#define DATAFILTER_ATTRIB instanceFilterValues
|
|
20
|
+
#define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low
|
|
21
|
+
#define DATACATEGORY_ATTRIB instanceFilterCategoryValues
|
|
22
22
|
#endif
|
|
23
|
-
|
|
24
23
|
in DATAFILTER_TYPE DATAFILTER_ATTRIB;
|
|
25
24
|
#ifdef DATAFILTER_DOUBLE
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
uniform DATAFILTER_TYPE filter_max64High;
|
|
25
|
+
in DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;
|
|
26
|
+
uniform DATAFILTER_TYPE filter_min64High;
|
|
27
|
+
uniform DATAFILTER_TYPE filter_max64High;
|
|
30
28
|
#endif
|
|
31
29
|
in DATACATEGORY_TYPE DATACATEGORY_ATTRIB;
|
|
32
|
-
|
|
33
30
|
out float dataFilter_value;
|
|
34
|
-
|
|
35
31
|
float dataFilter_reduceValue(float value) {
|
|
36
|
-
|
|
32
|
+
return value;
|
|
37
33
|
}
|
|
38
34
|
float dataFilter_reduceValue(vec2 value) {
|
|
39
|
-
|
|
35
|
+
return min(value.x, value.y);
|
|
40
36
|
}
|
|
41
37
|
float dataFilter_reduceValue(vec3 value) {
|
|
42
|
-
|
|
38
|
+
return min(min(value.x, value.y), value.z);
|
|
43
39
|
}
|
|
44
40
|
float dataFilter_reduceValue(vec4 value) {
|
|
45
|
-
|
|
41
|
+
return min(min(value.x, value.y), min(value.z, value.w));
|
|
46
42
|
}
|
|
47
43
|
void dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax, DATACATEGORY_TYPE category) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
#endif
|
|
82
|
-
} else {
|
|
83
|
-
dataFilter_value = 1.0;
|
|
84
|
-
}
|
|
44
|
+
if (filter_enabled) {
|
|
45
|
+
if (filter_useSoftMargin) {
|
|
46
|
+
dataFilter_value = dataFilter_reduceValue(
|
|
47
|
+
smoothstep(filter_min, filter_softMin, valueFromMin) *
|
|
48
|
+
(1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))
|
|
49
|
+
);
|
|
50
|
+
} else {
|
|
51
|
+
dataFilter_value = dataFilter_reduceValue(
|
|
52
|
+
step(filter_min, valueFromMin) * step(valueFromMax, filter_max)
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
#if DATACATEGORY_CHANNELS == 1
|
|
56
|
+
int dataFilter_masks = filter_categoryBitMask[int(category / 32.0)];
|
|
57
|
+
#elif DATACATEGORY_CHANNELS == 2
|
|
58
|
+
ivec2 dataFilter_masks = ivec2(
|
|
59
|
+
filter_categoryBitMask[int(category.x / 32.0)],
|
|
60
|
+
filter_categoryBitMask[int(category.y / 32.0) + 2]
|
|
61
|
+
);
|
|
62
|
+
#elif DATACATEGORY_CHANNELS == 3
|
|
63
|
+
ivec3 dataFilter_masks = filter_categoryBitMask.xyz;
|
|
64
|
+
#else
|
|
65
|
+
ivec4 dataFilter_masks = filter_categoryBitMask;
|
|
66
|
+
#endif
|
|
67
|
+
DATACATEGORY_TYPE dataFilter_bits = DATACATEGORY_TYPE(dataFilter_masks) / pow(DATACATEGORY_TYPE(2.0), mod(category, 32.0));
|
|
68
|
+
dataFilter_bits = mod(floor(dataFilter_bits), 2.0);
|
|
69
|
+
#if DATACATEGORY_CHANNELS == 1
|
|
70
|
+
if(dataFilter_bits == 0.0) dataFilter_value = 0.0;
|
|
71
|
+
#else
|
|
72
|
+
if(any(equal(dataFilter_bits, DATACATEGORY_TYPE(0.0)))) dataFilter_value = 0.0;
|
|
73
|
+
#endif
|
|
74
|
+
} else {
|
|
75
|
+
dataFilter_value = 1.0;
|
|
76
|
+
}
|
|
85
77
|
}
|
|
86
78
|
`;
|
|
87
79
|
const fs = `
|
|
@@ -144,32 +136,32 @@ function getUniforms64(opts) {
|
|
|
144
136
|
}
|
|
145
137
|
const inject = {
|
|
146
138
|
'vs:#main-start': `
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
139
|
+
#ifdef DATAFILTER_DOUBLE
|
|
140
|
+
dataFilter_setValue(
|
|
141
|
+
DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,
|
|
142
|
+
DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW,
|
|
143
|
+
DATACATEGORY_ATTRIB
|
|
144
|
+
);
|
|
145
|
+
#else
|
|
146
|
+
dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB, DATACATEGORY_ATTRIB);
|
|
147
|
+
#endif
|
|
148
|
+
`,
|
|
157
149
|
'vs:#main-end': `
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
150
|
+
if (dataFilter_value == 0.0) {
|
|
151
|
+
gl_Position = vec4(0.);
|
|
152
|
+
}
|
|
153
|
+
`,
|
|
162
154
|
'vs:DECKGL_FILTER_SIZE': `
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
155
|
+
if (filter_transformSize) {
|
|
156
|
+
size = size * dataFilter_value;
|
|
157
|
+
}
|
|
158
|
+
`,
|
|
167
159
|
'fs:DECKGL_FILTER_COLOR': `
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
160
|
+
if (dataFilter_value == 0.0) discard;
|
|
161
|
+
if (filter_transformColor) {
|
|
162
|
+
color.a *= dataFilter_value;
|
|
163
|
+
}
|
|
164
|
+
`
|
|
173
165
|
};
|
|
174
166
|
export const shaderModule = {
|
|
175
167
|
name: 'data-filter',
|