@deck.gl/aggregation-layers 9.0.0-beta.5 → 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/contour-layer/contour-layer.d.ts.map +1 -1
- package/dist/contour-layer/contour-layer.js +2 -3
- package/dist/cpu-grid-layer/cpu-grid-layer.d.ts.map +1 -1
- package/dist/cpu-grid-layer/cpu-grid-layer.js +1 -2
- package/dist/dist.dev.js +265 -314
- package/dist/gpu-grid-layer/gpu-grid-cell-layer-fragment.glsl.js +2 -6
- package/dist/gpu-grid-layer/gpu-grid-cell-layer-vertex.glsl.js +50 -79
- package/dist/gpu-grid-layer/gpu-grid-cell-layer.js +4 -4
- package/dist/gpu-grid-layer/gpu-grid-layer.d.ts +1 -1
- package/dist/gpu-grid-layer/gpu-grid-layer.d.ts.map +1 -1
- package/dist/gpu-grid-layer/gpu-grid-layer.js +4 -4
- package/dist/grid-aggregation-layer.js +1 -1
- package/dist/heatmap-layer/heatmap-layer.d.ts +0 -1
- package/dist/heatmap-layer/heatmap-layer.d.ts.map +1 -1
- package/dist/heatmap-layer/heatmap-layer.js +4 -20
- package/dist/heatmap-layer/max-fs.glsl.js +2 -2
- package/dist/heatmap-layer/max-vs.glsl.js +6 -10
- package/dist/heatmap-layer/triangle-layer-fragment.glsl.js +15 -25
- package/dist/heatmap-layer/triangle-layer-vertex.glsl.js +11 -16
- package/dist/heatmap-layer/weights-fs.glsl.js +7 -11
- package/dist/heatmap-layer/weights-vs.glsl.js +7 -12
- package/dist/hexagon-layer/hexagon-layer.d.ts +1 -1
- package/dist/hexagon-layer/hexagon-layer.d.ts.map +1 -1
- package/dist/hexagon-layer/hexagon-layer.js +1 -2
- package/dist/index.cjs +223 -390
- package/dist/index.cjs.map +3 -3
- package/dist/screen-grid-layer/screen-grid-cell-layer.d.ts +1 -2
- package/dist/screen-grid-layer/screen-grid-cell-layer.d.ts.map +1 -1
- package/dist/screen-grid-layer/screen-grid-cell-layer.js +0 -3
- package/dist/screen-grid-layer/screen-grid-layer-fragment.glsl.js +5 -10
- package/dist/screen-grid-layer/screen-grid-layer-vertex.glsl.js +30 -42
- package/dist/screen-grid-layer/screen-grid-layer.d.ts +0 -3
- package/dist/screen-grid-layer/screen-grid-layer.d.ts.map +1 -1
- package/dist/screen-grid-layer/screen-grid-layer.js +1 -8
- package/dist/utils/gpu-grid-aggregation/aggregate-all-fs.glsl.js +6 -9
- package/dist/utils/gpu-grid-aggregation/aggregate-all-vs.glsl.js +14 -25
- package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +2 -6
- package/dist/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +25 -42
- package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +8 -8
- package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts.map +1 -1
- package/dist/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +13 -24
- package/dist/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +4 -9
- package/dist.min.js +212 -330
- package/package.json +7 -7
- package/src/contour-layer/contour-layer.ts +2 -3
- package/src/cpu-grid-layer/cpu-grid-layer.ts +1 -2
- package/src/gpu-grid-layer/gpu-grid-cell-layer.ts +1 -1
- package/src/gpu-grid-layer/gpu-grid-layer.ts +2 -2
- package/src/heatmap-layer/heatmap-layer.ts +5 -23
- package/src/hexagon-layer/hexagon-layer.ts +2 -3
- package/src/screen-grid-layer/screen-grid-cell-layer.ts +0 -4
- package/src/screen-grid-layer/screen-grid-layer.ts +1 -11
- package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts +4 -15
package/dist/dist.dev.js
CHANGED
|
@@ -86,8 +86,222 @@ var __exports__ = (() => {
|
|
|
86
86
|
// src/screen-grid-layer/screen-grid-layer.ts
|
|
87
87
|
var import_core8 = __toESM(require_core(), 1);
|
|
88
88
|
|
|
89
|
-
//
|
|
90
|
-
var
|
|
89
|
+
// src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts
|
|
90
|
+
var import_engine = __toESM(require_engine(), 1);
|
|
91
|
+
|
|
92
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/glsl-utils/highlight.js
|
|
93
|
+
var glsl = (x) => `${x}`;
|
|
94
|
+
|
|
95
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-utils.js
|
|
96
|
+
function fp64ify(a, out = [], startIndex = 0) {
|
|
97
|
+
const hiPart = Math.fround(a);
|
|
98
|
+
const loPart = a - hiPart;
|
|
99
|
+
out[startIndex] = hiPart;
|
|
100
|
+
out[startIndex + 1] = loPart;
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
function fp64LowPart(a) {
|
|
104
|
+
return a - Math.fround(a);
|
|
105
|
+
}
|
|
106
|
+
function fp64ifyMatrix4(matrix) {
|
|
107
|
+
const matrixFP64 = new Float32Array(32);
|
|
108
|
+
for (let i = 0; i < 4; ++i) {
|
|
109
|
+
for (let j = 0; j < 4; ++j) {
|
|
110
|
+
const index = i * 4 + j;
|
|
111
|
+
fp64ify(matrix[j * 4 + i], matrixFP64, index * 2);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return matrixFP64;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.js
|
|
118
|
+
var fp64arithmeticShader = glsl`\
|
|
119
|
+
uniform float ONE;
|
|
120
|
+
|
|
121
|
+
/*
|
|
122
|
+
About LUMA_FP64_CODE_ELIMINATION_WORKAROUND
|
|
123
|
+
|
|
124
|
+
The purpose of this workaround is to prevent shader compilers from
|
|
125
|
+
optimizing away necessary arithmetic operations by swapping their sequences
|
|
126
|
+
or transform the equation to some 'equivalent' form.
|
|
127
|
+
|
|
128
|
+
The method is to multiply an artifical variable, ONE, which will be known to
|
|
129
|
+
the compiler to be 1 only at runtime. The whole expression is then represented
|
|
130
|
+
as a polynomial with respective to ONE. In the coefficients of all terms, only one a
|
|
131
|
+
and one b should appear
|
|
132
|
+
|
|
133
|
+
err = (a + b) * ONE^6 - a * ONE^5 - (a + b) * ONE^4 + a * ONE^3 - b - (a + b) * ONE^2 + a * ONE
|
|
134
|
+
*/
|
|
135
|
+
|
|
136
|
+
// Divide float number to high and low floats to extend fraction bits
|
|
137
|
+
vec2 split(float a) {
|
|
138
|
+
const float SPLIT = 4097.0;
|
|
139
|
+
float t = a * SPLIT;
|
|
140
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
141
|
+
float a_hi = t * ONE - (t - a);
|
|
142
|
+
float a_lo = a * ONE - a_hi;
|
|
143
|
+
#else
|
|
144
|
+
float a_hi = t - (t - a);
|
|
145
|
+
float a_lo = a - a_hi;
|
|
146
|
+
#endif
|
|
147
|
+
return vec2(a_hi, a_lo);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// Divide float number again when high float uses too many fraction bits
|
|
151
|
+
vec2 split2(vec2 a) {
|
|
152
|
+
vec2 b = split(a.x);
|
|
153
|
+
b.y += a.y;
|
|
154
|
+
return b;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Special sum operation when a > b
|
|
158
|
+
vec2 quickTwoSum(float a, float b) {
|
|
159
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
160
|
+
float sum = (a + b) * ONE;
|
|
161
|
+
float err = b - (sum - a) * ONE;
|
|
162
|
+
#else
|
|
163
|
+
float sum = a + b;
|
|
164
|
+
float err = b - (sum - a);
|
|
165
|
+
#endif
|
|
166
|
+
return vec2(sum, err);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// General sum operation
|
|
170
|
+
vec2 twoSum(float a, float b) {
|
|
171
|
+
float s = (a + b);
|
|
172
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
173
|
+
float v = (s * ONE - a) * ONE;
|
|
174
|
+
float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);
|
|
175
|
+
#else
|
|
176
|
+
float v = s - a;
|
|
177
|
+
float err = (a - (s - v)) + (b - v);
|
|
178
|
+
#endif
|
|
179
|
+
return vec2(s, err);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
vec2 twoSub(float a, float b) {
|
|
183
|
+
float s = (a - b);
|
|
184
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
185
|
+
float v = (s * ONE - a) * ONE;
|
|
186
|
+
float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);
|
|
187
|
+
#else
|
|
188
|
+
float v = s - a;
|
|
189
|
+
float err = (a - (s - v)) - (b + v);
|
|
190
|
+
#endif
|
|
191
|
+
return vec2(s, err);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
vec2 twoSqr(float a) {
|
|
195
|
+
float prod = a * a;
|
|
196
|
+
vec2 a_fp64 = split(a);
|
|
197
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
198
|
+
float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *
|
|
199
|
+
a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;
|
|
200
|
+
#else
|
|
201
|
+
float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;
|
|
202
|
+
#endif
|
|
203
|
+
return vec2(prod, err);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
vec2 twoProd(float a, float b) {
|
|
207
|
+
float prod = a * b;
|
|
208
|
+
vec2 a_fp64 = split(a);
|
|
209
|
+
vec2 b_fp64 = split(b);
|
|
210
|
+
float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +
|
|
211
|
+
a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;
|
|
212
|
+
return vec2(prod, err);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
vec2 sum_fp64(vec2 a, vec2 b) {
|
|
216
|
+
vec2 s, t;
|
|
217
|
+
s = twoSum(a.x, b.x);
|
|
218
|
+
t = twoSum(a.y, b.y);
|
|
219
|
+
s.y += t.x;
|
|
220
|
+
s = quickTwoSum(s.x, s.y);
|
|
221
|
+
s.y += t.y;
|
|
222
|
+
s = quickTwoSum(s.x, s.y);
|
|
223
|
+
return s;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
vec2 sub_fp64(vec2 a, vec2 b) {
|
|
227
|
+
vec2 s, t;
|
|
228
|
+
s = twoSub(a.x, b.x);
|
|
229
|
+
t = twoSub(a.y, b.y);
|
|
230
|
+
s.y += t.x;
|
|
231
|
+
s = quickTwoSum(s.x, s.y);
|
|
232
|
+
s.y += t.y;
|
|
233
|
+
s = quickTwoSum(s.x, s.y);
|
|
234
|
+
return s;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
vec2 mul_fp64(vec2 a, vec2 b) {
|
|
238
|
+
vec2 prod = twoProd(a.x, b.x);
|
|
239
|
+
// y component is for the error
|
|
240
|
+
prod.y += a.x * b.y;
|
|
241
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
242
|
+
prod = split2(prod);
|
|
243
|
+
#endif
|
|
244
|
+
prod = quickTwoSum(prod.x, prod.y);
|
|
245
|
+
prod.y += a.y * b.x;
|
|
246
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
247
|
+
prod = split2(prod);
|
|
248
|
+
#endif
|
|
249
|
+
prod = quickTwoSum(prod.x, prod.y);
|
|
250
|
+
return prod;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
vec2 div_fp64(vec2 a, vec2 b) {
|
|
254
|
+
float xn = 1.0 / b.x;
|
|
255
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
256
|
+
vec2 yn = mul_fp64(a, vec2(xn, 0));
|
|
257
|
+
#else
|
|
258
|
+
vec2 yn = a * xn;
|
|
259
|
+
#endif
|
|
260
|
+
float diff = (sub_fp64(a, mul_fp64(b, yn))).x;
|
|
261
|
+
vec2 prod = twoProd(xn, diff);
|
|
262
|
+
return sum_fp64(yn, prod);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
vec2 sqrt_fp64(vec2 a) {
|
|
266
|
+
if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);
|
|
267
|
+
if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);
|
|
268
|
+
|
|
269
|
+
float x = 1.0 / sqrt(a.x);
|
|
270
|
+
float yn = a.x * x;
|
|
271
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
272
|
+
vec2 yn_sqr = twoSqr(yn) * ONE;
|
|
273
|
+
#else
|
|
274
|
+
vec2 yn_sqr = twoSqr(yn);
|
|
275
|
+
#endif
|
|
276
|
+
float diff = sub_fp64(a, yn_sqr).x;
|
|
277
|
+
vec2 prod = twoProd(x * 0.5, diff);
|
|
278
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
279
|
+
return sum_fp64(split(yn), prod);
|
|
280
|
+
#else
|
|
281
|
+
return sum_fp64(vec2(yn, 0.0), prod);
|
|
282
|
+
#endif
|
|
283
|
+
}
|
|
284
|
+
`;
|
|
285
|
+
|
|
286
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64.js
|
|
287
|
+
var CONST_UNIFORMS = {
|
|
288
|
+
ONE: 1
|
|
289
|
+
};
|
|
290
|
+
function getUniforms() {
|
|
291
|
+
return CONST_UNIFORMS;
|
|
292
|
+
}
|
|
293
|
+
var fp64arithmetic = {
|
|
294
|
+
name: "fp64-arithmetic",
|
|
295
|
+
vs: fp64arithmeticShader,
|
|
296
|
+
getUniforms,
|
|
297
|
+
fp64ify,
|
|
298
|
+
fp64LowPart,
|
|
299
|
+
fp64ifyMatrix4
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
// ../../node_modules/@luma.gl/constants/dist/webgl-constants.js
|
|
303
|
+
var GLEnum;
|
|
304
|
+
(function(GLEnum2) {
|
|
91
305
|
GLEnum2[GLEnum2["DEPTH_BUFFER_BIT"] = 256] = "DEPTH_BUFFER_BIT";
|
|
92
306
|
GLEnum2[GLEnum2["STENCIL_BUFFER_BIT"] = 1024] = "STENCIL_BUFFER_BIT";
|
|
93
307
|
GLEnum2[GLEnum2["COLOR_BUFFER_BIT"] = 16384] = "COLOR_BUFFER_BIT";
|
|
@@ -620,15 +834,10 @@ var __exports__ = (() => {
|
|
|
620
834
|
GLEnum2[GLEnum2["INVALID_INDEX"] = 4294967295] = "INVALID_INDEX";
|
|
621
835
|
GLEnum2[GLEnum2["TIMEOUT_IGNORED"] = -1] = "TIMEOUT_IGNORED";
|
|
622
836
|
GLEnum2[GLEnum2["MAX_CLIENT_WAIT_TIMEOUT_WEBGL"] = 37447] = "MAX_CLIENT_WAIT_TIMEOUT_WEBGL";
|
|
623
|
-
GLEnum2[GLEnum2["VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE"] = 35070] = "VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE";
|
|
624
837
|
GLEnum2[GLEnum2["UNMASKED_VENDOR_WEBGL"] = 37445] = "UNMASKED_VENDOR_WEBGL";
|
|
625
838
|
GLEnum2[GLEnum2["UNMASKED_RENDERER_WEBGL"] = 37446] = "UNMASKED_RENDERER_WEBGL";
|
|
626
839
|
GLEnum2[GLEnum2["MAX_TEXTURE_MAX_ANISOTROPY_EXT"] = 34047] = "MAX_TEXTURE_MAX_ANISOTROPY_EXT";
|
|
627
840
|
GLEnum2[GLEnum2["TEXTURE_MAX_ANISOTROPY_EXT"] = 34046] = "TEXTURE_MAX_ANISOTROPY_EXT";
|
|
628
|
-
GLEnum2[GLEnum2["SRGB_EXT"] = 35904] = "SRGB_EXT";
|
|
629
|
-
GLEnum2[GLEnum2["SRGB_ALPHA_EXT"] = 35906] = "SRGB_ALPHA_EXT";
|
|
630
|
-
GLEnum2[GLEnum2["SRGB8_ALPHA8_EXT"] = 35907] = "SRGB8_ALPHA8_EXT";
|
|
631
|
-
GLEnum2[GLEnum2["FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT"] = 33296] = "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT";
|
|
632
841
|
GLEnum2[GLEnum2["R16_EXT"] = 33322] = "R16_EXT";
|
|
633
842
|
GLEnum2[GLEnum2["RG16_EXT"] = 33324] = "RG16_EXT";
|
|
634
843
|
GLEnum2[GLEnum2["RGB16_EXT"] = 32852] = "RGB16_EXT";
|
|
@@ -699,50 +908,6 @@ var __exports__ = (() => {
|
|
|
699
908
|
GLEnum2[GLEnum2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"] = 37851] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR";
|
|
700
909
|
GLEnum2[GLEnum2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"] = 37852] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
|
|
701
910
|
GLEnum2[GLEnum2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"] = 37853] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR";
|
|
702
|
-
GLEnum2[GLEnum2["UNSIGNED_INT_24_8_WEBGL"] = 34042] = "UNSIGNED_INT_24_8_WEBGL";
|
|
703
|
-
GLEnum2[GLEnum2["HALF_FLOAT_OES"] = 36193] = "HALF_FLOAT_OES";
|
|
704
|
-
GLEnum2[GLEnum2["RGBA32F_EXT"] = 34836] = "RGBA32F_EXT";
|
|
705
|
-
GLEnum2[GLEnum2["RGB32F_EXT"] = 34837] = "RGB32F_EXT";
|
|
706
|
-
GLEnum2[GLEnum2["FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT"] = 33297] = "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT";
|
|
707
|
-
GLEnum2[GLEnum2["UNSIGNED_NORMALIZED_EXT"] = 35863] = "UNSIGNED_NORMALIZED_EXT";
|
|
708
|
-
GLEnum2[GLEnum2["MIN_EXT"] = 32775] = "MIN_EXT";
|
|
709
|
-
GLEnum2[GLEnum2["MAX_EXT"] = 32776] = "MAX_EXT";
|
|
710
|
-
GLEnum2[GLEnum2["FRAGMENT_SHADER_DERIVATIVE_HINT_OES"] = 35723] = "FRAGMENT_SHADER_DERIVATIVE_HINT_OES";
|
|
711
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT0_WEBGL"] = 36064] = "COLOR_ATTACHMENT0_WEBGL";
|
|
712
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT1_WEBGL"] = 36065] = "COLOR_ATTACHMENT1_WEBGL";
|
|
713
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT2_WEBGL"] = 36066] = "COLOR_ATTACHMENT2_WEBGL";
|
|
714
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT3_WEBGL"] = 36067] = "COLOR_ATTACHMENT3_WEBGL";
|
|
715
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT4_WEBGL"] = 36068] = "COLOR_ATTACHMENT4_WEBGL";
|
|
716
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT5_WEBGL"] = 36069] = "COLOR_ATTACHMENT5_WEBGL";
|
|
717
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT6_WEBGL"] = 36070] = "COLOR_ATTACHMENT6_WEBGL";
|
|
718
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT7_WEBGL"] = 36071] = "COLOR_ATTACHMENT7_WEBGL";
|
|
719
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT8_WEBGL"] = 36072] = "COLOR_ATTACHMENT8_WEBGL";
|
|
720
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT9_WEBGL"] = 36073] = "COLOR_ATTACHMENT9_WEBGL";
|
|
721
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT10_WEBGL"] = 36074] = "COLOR_ATTACHMENT10_WEBGL";
|
|
722
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT11_WEBGL"] = 36075] = "COLOR_ATTACHMENT11_WEBGL";
|
|
723
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT12_WEBGL"] = 36076] = "COLOR_ATTACHMENT12_WEBGL";
|
|
724
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT13_WEBGL"] = 36077] = "COLOR_ATTACHMENT13_WEBGL";
|
|
725
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT14_WEBGL"] = 36078] = "COLOR_ATTACHMENT14_WEBGL";
|
|
726
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT15_WEBGL"] = 36079] = "COLOR_ATTACHMENT15_WEBGL";
|
|
727
|
-
GLEnum2[GLEnum2["DRAW_BUFFER0_WEBGL"] = 34853] = "DRAW_BUFFER0_WEBGL";
|
|
728
|
-
GLEnum2[GLEnum2["DRAW_BUFFER1_WEBGL"] = 34854] = "DRAW_BUFFER1_WEBGL";
|
|
729
|
-
GLEnum2[GLEnum2["DRAW_BUFFER2_WEBGL"] = 34855] = "DRAW_BUFFER2_WEBGL";
|
|
730
|
-
GLEnum2[GLEnum2["DRAW_BUFFER3_WEBGL"] = 34856] = "DRAW_BUFFER3_WEBGL";
|
|
731
|
-
GLEnum2[GLEnum2["DRAW_BUFFER4_WEBGL"] = 34857] = "DRAW_BUFFER4_WEBGL";
|
|
732
|
-
GLEnum2[GLEnum2["DRAW_BUFFER5_WEBGL"] = 34858] = "DRAW_BUFFER5_WEBGL";
|
|
733
|
-
GLEnum2[GLEnum2["DRAW_BUFFER6_WEBGL"] = 34859] = "DRAW_BUFFER6_WEBGL";
|
|
734
|
-
GLEnum2[GLEnum2["DRAW_BUFFER7_WEBGL"] = 34860] = "DRAW_BUFFER7_WEBGL";
|
|
735
|
-
GLEnum2[GLEnum2["DRAW_BUFFER8_WEBGL"] = 34861] = "DRAW_BUFFER8_WEBGL";
|
|
736
|
-
GLEnum2[GLEnum2["DRAW_BUFFER9_WEBGL"] = 34862] = "DRAW_BUFFER9_WEBGL";
|
|
737
|
-
GLEnum2[GLEnum2["DRAW_BUFFER10_WEBGL"] = 34863] = "DRAW_BUFFER10_WEBGL";
|
|
738
|
-
GLEnum2[GLEnum2["DRAW_BUFFER11_WEBGL"] = 34864] = "DRAW_BUFFER11_WEBGL";
|
|
739
|
-
GLEnum2[GLEnum2["DRAW_BUFFER12_WEBGL"] = 34865] = "DRAW_BUFFER12_WEBGL";
|
|
740
|
-
GLEnum2[GLEnum2["DRAW_BUFFER13_WEBGL"] = 34866] = "DRAW_BUFFER13_WEBGL";
|
|
741
|
-
GLEnum2[GLEnum2["DRAW_BUFFER14_WEBGL"] = 34867] = "DRAW_BUFFER14_WEBGL";
|
|
742
|
-
GLEnum2[GLEnum2["DRAW_BUFFER15_WEBGL"] = 34868] = "DRAW_BUFFER15_WEBGL";
|
|
743
|
-
GLEnum2[GLEnum2["MAX_COLOR_ATTACHMENTS_WEBGL"] = 36063] = "MAX_COLOR_ATTACHMENTS_WEBGL";
|
|
744
|
-
GLEnum2[GLEnum2["MAX_DRAW_BUFFERS_WEBGL"] = 34852] = "MAX_DRAW_BUFFERS_WEBGL";
|
|
745
|
-
GLEnum2[GLEnum2["VERTEX_ARRAY_BINDING_OES"] = 34229] = "VERTEX_ARRAY_BINDING_OES";
|
|
746
911
|
GLEnum2[GLEnum2["QUERY_COUNTER_BITS_EXT"] = 34916] = "QUERY_COUNTER_BITS_EXT";
|
|
747
912
|
GLEnum2[GLEnum2["CURRENT_QUERY_EXT"] = 34917] = "CURRENT_QUERY_EXT";
|
|
748
913
|
GLEnum2[GLEnum2["QUERY_RESULT_EXT"] = 34918] = "QUERY_RESULT_EXT";
|
|
@@ -750,223 +915,40 @@ var __exports__ = (() => {
|
|
|
750
915
|
GLEnum2[GLEnum2["TIME_ELAPSED_EXT"] = 35007] = "TIME_ELAPSED_EXT";
|
|
751
916
|
GLEnum2[GLEnum2["TIMESTAMP_EXT"] = 36392] = "TIMESTAMP_EXT";
|
|
752
917
|
GLEnum2[GLEnum2["GPU_DISJOINT_EXT"] = 36795] = "GPU_DISJOINT_EXT";
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
var fp64arithmeticShader = glsl`\
|
|
788
|
-
uniform float ONE;
|
|
789
|
-
|
|
790
|
-
/*
|
|
791
|
-
About LUMA_FP64_CODE_ELIMINATION_WORKAROUND
|
|
792
|
-
|
|
793
|
-
The purpose of this workaround is to prevent shader compilers from
|
|
794
|
-
optimizing away necessary arithmetic operations by swapping their sequences
|
|
795
|
-
or transform the equation to some 'equivalent' form.
|
|
796
|
-
|
|
797
|
-
The method is to multiply an artifical variable, ONE, which will be known to
|
|
798
|
-
the compiler to be 1 only at runtime. The whole expression is then represented
|
|
799
|
-
as a polynomial with respective to ONE. In the coefficients of all terms, only one a
|
|
800
|
-
and one b should appear
|
|
801
|
-
|
|
802
|
-
err = (a + b) * ONE^6 - a * ONE^5 - (a + b) * ONE^4 + a * ONE^3 - b - (a + b) * ONE^2 + a * ONE
|
|
803
|
-
*/
|
|
804
|
-
|
|
805
|
-
// Divide float number to high and low floats to extend fraction bits
|
|
806
|
-
vec2 split(float a) {
|
|
807
|
-
const float SPLIT = 4097.0;
|
|
808
|
-
float t = a * SPLIT;
|
|
809
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
810
|
-
float a_hi = t * ONE - (t - a);
|
|
811
|
-
float a_lo = a * ONE - a_hi;
|
|
812
|
-
#else
|
|
813
|
-
float a_hi = t - (t - a);
|
|
814
|
-
float a_lo = a - a_hi;
|
|
815
|
-
#endif
|
|
816
|
-
return vec2(a_hi, a_lo);
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
// Divide float number again when high float uses too many fraction bits
|
|
820
|
-
vec2 split2(vec2 a) {
|
|
821
|
-
vec2 b = split(a.x);
|
|
822
|
-
b.y += a.y;
|
|
823
|
-
return b;
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
// Special sum operation when a > b
|
|
827
|
-
vec2 quickTwoSum(float a, float b) {
|
|
828
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
829
|
-
float sum = (a + b) * ONE;
|
|
830
|
-
float err = b - (sum - a) * ONE;
|
|
831
|
-
#else
|
|
832
|
-
float sum = a + b;
|
|
833
|
-
float err = b - (sum - a);
|
|
834
|
-
#endif
|
|
835
|
-
return vec2(sum, err);
|
|
836
|
-
}
|
|
837
|
-
|
|
838
|
-
// General sum operation
|
|
839
|
-
vec2 twoSum(float a, float b) {
|
|
840
|
-
float s = (a + b);
|
|
841
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
842
|
-
float v = (s * ONE - a) * ONE;
|
|
843
|
-
float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);
|
|
844
|
-
#else
|
|
845
|
-
float v = s - a;
|
|
846
|
-
float err = (a - (s - v)) + (b - v);
|
|
847
|
-
#endif
|
|
848
|
-
return vec2(s, err);
|
|
849
|
-
}
|
|
850
|
-
|
|
851
|
-
vec2 twoSub(float a, float b) {
|
|
852
|
-
float s = (a - b);
|
|
853
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
854
|
-
float v = (s * ONE - a) * ONE;
|
|
855
|
-
float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);
|
|
856
|
-
#else
|
|
857
|
-
float v = s - a;
|
|
858
|
-
float err = (a - (s - v)) - (b + v);
|
|
859
|
-
#endif
|
|
860
|
-
return vec2(s, err);
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
vec2 twoSqr(float a) {
|
|
864
|
-
float prod = a * a;
|
|
865
|
-
vec2 a_fp64 = split(a);
|
|
866
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
867
|
-
float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *
|
|
868
|
-
a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;
|
|
869
|
-
#else
|
|
870
|
-
float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;
|
|
871
|
-
#endif
|
|
872
|
-
return vec2(prod, err);
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
vec2 twoProd(float a, float b) {
|
|
876
|
-
float prod = a * b;
|
|
877
|
-
vec2 a_fp64 = split(a);
|
|
878
|
-
vec2 b_fp64 = split(b);
|
|
879
|
-
float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +
|
|
880
|
-
a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;
|
|
881
|
-
return vec2(prod, err);
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
vec2 sum_fp64(vec2 a, vec2 b) {
|
|
885
|
-
vec2 s, t;
|
|
886
|
-
s = twoSum(a.x, b.x);
|
|
887
|
-
t = twoSum(a.y, b.y);
|
|
888
|
-
s.y += t.x;
|
|
889
|
-
s = quickTwoSum(s.x, s.y);
|
|
890
|
-
s.y += t.y;
|
|
891
|
-
s = quickTwoSum(s.x, s.y);
|
|
892
|
-
return s;
|
|
893
|
-
}
|
|
894
|
-
|
|
895
|
-
vec2 sub_fp64(vec2 a, vec2 b) {
|
|
896
|
-
vec2 s, t;
|
|
897
|
-
s = twoSub(a.x, b.x);
|
|
898
|
-
t = twoSub(a.y, b.y);
|
|
899
|
-
s.y += t.x;
|
|
900
|
-
s = quickTwoSum(s.x, s.y);
|
|
901
|
-
s.y += t.y;
|
|
902
|
-
s = quickTwoSum(s.x, s.y);
|
|
903
|
-
return s;
|
|
904
|
-
}
|
|
905
|
-
|
|
906
|
-
vec2 mul_fp64(vec2 a, vec2 b) {
|
|
907
|
-
vec2 prod = twoProd(a.x, b.x);
|
|
908
|
-
// y component is for the error
|
|
909
|
-
prod.y += a.x * b.y;
|
|
910
|
-
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
911
|
-
prod = split2(prod);
|
|
912
|
-
#endif
|
|
913
|
-
prod = quickTwoSum(prod.x, prod.y);
|
|
914
|
-
prod.y += a.y * b.x;
|
|
915
|
-
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
916
|
-
prod = split2(prod);
|
|
917
|
-
#endif
|
|
918
|
-
prod = quickTwoSum(prod.x, prod.y);
|
|
919
|
-
return prod;
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
vec2 div_fp64(vec2 a, vec2 b) {
|
|
923
|
-
float xn = 1.0 / b.x;
|
|
924
|
-
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
925
|
-
vec2 yn = mul_fp64(a, vec2(xn, 0));
|
|
926
|
-
#else
|
|
927
|
-
vec2 yn = a * xn;
|
|
928
|
-
#endif
|
|
929
|
-
float diff = (sub_fp64(a, mul_fp64(b, yn))).x;
|
|
930
|
-
vec2 prod = twoProd(xn, diff);
|
|
931
|
-
return sum_fp64(yn, prod);
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
vec2 sqrt_fp64(vec2 a) {
|
|
935
|
-
if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);
|
|
936
|
-
if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);
|
|
937
|
-
|
|
938
|
-
float x = 1.0 / sqrt(a.x);
|
|
939
|
-
float yn = a.x * x;
|
|
940
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
941
|
-
vec2 yn_sqr = twoSqr(yn) * ONE;
|
|
942
|
-
#else
|
|
943
|
-
vec2 yn_sqr = twoSqr(yn);
|
|
944
|
-
#endif
|
|
945
|
-
float diff = sub_fp64(a, yn_sqr).x;
|
|
946
|
-
vec2 prod = twoProd(x * 0.5, diff);
|
|
947
|
-
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
948
|
-
return sum_fp64(split(yn), prod);
|
|
949
|
-
#else
|
|
950
|
-
return sum_fp64(vec2(yn, 0.0), prod);
|
|
951
|
-
#endif
|
|
952
|
-
}
|
|
953
|
-
`;
|
|
954
|
-
|
|
955
|
-
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64.js
|
|
956
|
-
var CONST_UNIFORMS = {
|
|
957
|
-
ONE: 1
|
|
958
|
-
};
|
|
959
|
-
function getUniforms() {
|
|
960
|
-
return CONST_UNIFORMS;
|
|
961
|
-
}
|
|
962
|
-
var fp64arithmetic = {
|
|
963
|
-
name: "fp64-arithmetic",
|
|
964
|
-
vs: fp64arithmeticShader,
|
|
965
|
-
getUniforms,
|
|
966
|
-
fp64ify,
|
|
967
|
-
fp64LowPart,
|
|
968
|
-
fp64ifyMatrix4
|
|
969
|
-
};
|
|
918
|
+
GLEnum2[GLEnum2["COMPLETION_STATUS_KHR"] = 37297] = "COMPLETION_STATUS_KHR";
|
|
919
|
+
GLEnum2[GLEnum2["DEPTH_CLAMP_EXT"] = 34383] = "DEPTH_CLAMP_EXT";
|
|
920
|
+
GLEnum2[GLEnum2["FIRST_VERTEX_CONVENTION_WEBGL"] = 36429] = "FIRST_VERTEX_CONVENTION_WEBGL";
|
|
921
|
+
GLEnum2[GLEnum2["LAST_VERTEX_CONVENTION_WEBGL"] = 36430] = "LAST_VERTEX_CONVENTION_WEBGL";
|
|
922
|
+
GLEnum2[GLEnum2["PROVOKING_VERTEX_WEBL"] = 36431] = "PROVOKING_VERTEX_WEBL";
|
|
923
|
+
GLEnum2[GLEnum2["POLYGON_MODE_WEBGL"] = 2880] = "POLYGON_MODE_WEBGL";
|
|
924
|
+
GLEnum2[GLEnum2["POLYGON_OFFSET_LINE_WEBGL"] = 10754] = "POLYGON_OFFSET_LINE_WEBGL";
|
|
925
|
+
GLEnum2[GLEnum2["LINE_WEBGL"] = 6913] = "LINE_WEBGL";
|
|
926
|
+
GLEnum2[GLEnum2["FILL_WEBGL"] = 6914] = "FILL_WEBGL";
|
|
927
|
+
GLEnum2[GLEnum2["MAX_CLIP_DISTANCES_WEBGL"] = 3378] = "MAX_CLIP_DISTANCES_WEBGL";
|
|
928
|
+
GLEnum2[GLEnum2["MAX_CULL_DISTANCES_WEBGL"] = 33529] = "MAX_CULL_DISTANCES_WEBGL";
|
|
929
|
+
GLEnum2[GLEnum2["MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL"] = 33530] = "MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL";
|
|
930
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE0_WEBGL"] = 12288] = "CLIP_DISTANCE0_WEBGL";
|
|
931
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE1_WEBGL"] = 12289] = "CLIP_DISTANCE1_WEBGL";
|
|
932
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE2_WEBGL"] = 12290] = "CLIP_DISTANCE2_WEBGL";
|
|
933
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE3_WEBGL"] = 12291] = "CLIP_DISTANCE3_WEBGL";
|
|
934
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE4_WEBGL"] = 12292] = "CLIP_DISTANCE4_WEBGL";
|
|
935
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE5_WEBGL"] = 12293] = "CLIP_DISTANCE5_WEBGL";
|
|
936
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE6_WEBGL"] = 12294] = "CLIP_DISTANCE6_WEBGL";
|
|
937
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE7_WEBGL"] = 12295] = "CLIP_DISTANCE7_WEBGL";
|
|
938
|
+
GLEnum2[GLEnum2["POLYGON_OFFSET_CLAMP_EXT"] = 36379] = "POLYGON_OFFSET_CLAMP_EXT";
|
|
939
|
+
GLEnum2[GLEnum2["LOWER_LEFT_EXT"] = 36001] = "LOWER_LEFT_EXT";
|
|
940
|
+
GLEnum2[GLEnum2["UPPER_LEFT_EXT"] = 36002] = "UPPER_LEFT_EXT";
|
|
941
|
+
GLEnum2[GLEnum2["NEGATIVE_ONE_TO_ONE_EXT"] = 37726] = "NEGATIVE_ONE_TO_ONE_EXT";
|
|
942
|
+
GLEnum2[GLEnum2["ZERO_TO_ONE_EXT"] = 37727] = "ZERO_TO_ONE_EXT";
|
|
943
|
+
GLEnum2[GLEnum2["CLIP_ORIGIN_EXT"] = 37724] = "CLIP_ORIGIN_EXT";
|
|
944
|
+
GLEnum2[GLEnum2["CLIP_DEPTH_MODE_EXT"] = 37725] = "CLIP_DEPTH_MODE_EXT";
|
|
945
|
+
GLEnum2[GLEnum2["SRC1_COLOR_WEBGL"] = 35065] = "SRC1_COLOR_WEBGL";
|
|
946
|
+
GLEnum2[GLEnum2["SRC1_ALPHA_WEBGL"] = 34185] = "SRC1_ALPHA_WEBGL";
|
|
947
|
+
GLEnum2[GLEnum2["ONE_MINUS_SRC1_COLOR_WEBGL"] = 35066] = "ONE_MINUS_SRC1_COLOR_WEBGL";
|
|
948
|
+
GLEnum2[GLEnum2["ONE_MINUS_SRC1_ALPHA_WEBGL"] = 35067] = "ONE_MINUS_SRC1_ALPHA_WEBGL";
|
|
949
|
+
GLEnum2[GLEnum2["MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL"] = 35068] = "MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL";
|
|
950
|
+
GLEnum2[GLEnum2["MIRROR_CLAMP_TO_EDGE_EXT"] = 34627] = "MIRROR_CLAMP_TO_EDGE_EXT";
|
|
951
|
+
})(GLEnum || (GLEnum = {}));
|
|
970
952
|
|
|
971
953
|
// src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts
|
|
972
954
|
var import_core = __toESM(require_core(), 1);
|
|
@@ -1276,11 +1258,8 @@ void main()
|
|
|
1276
1258
|
maxMinData: "maxMinBuffer"
|
|
1277
1259
|
};
|
|
1278
1260
|
var REQUIRED_FEATURES = [
|
|
1279
|
-
"
|
|
1280
|
-
"blend-
|
|
1281
|
-
"texture-renderable-float32-webgl",
|
|
1282
|
-
"texture-blend-float-webgl1",
|
|
1283
|
-
"texture-formats-float32-webgl1"
|
|
1261
|
+
"float32-renderable-webgl",
|
|
1262
|
+
"texture-blend-float-webgl"
|
|
1284
1263
|
];
|
|
1285
1264
|
var GPUGridAggregator = class {
|
|
1286
1265
|
constructor(device, props = {}) {
|
|
@@ -1301,12 +1280,10 @@ void main()
|
|
|
1301
1280
|
};
|
|
1302
1281
|
this.id = props.id || "gpu-grid-aggregator";
|
|
1303
1282
|
this.device = device;
|
|
1304
|
-
const
|
|
1305
|
-
"
|
|
1306
|
-
"texture-renderable-float32-webgl",
|
|
1307
|
-
"texture-formats-float32-webgl1"
|
|
1283
|
+
const REQUIRED_FEATURES2 = [
|
|
1284
|
+
"float32-renderable-webgl"
|
|
1308
1285
|
];
|
|
1309
|
-
this._hasGPUSupport =
|
|
1286
|
+
this._hasGPUSupport = REQUIRED_FEATURES2.every((feature) => device.features.has(feature));
|
|
1310
1287
|
if (this._hasGPUSupport) {
|
|
1311
1288
|
this._setupModels();
|
|
1312
1289
|
}
|
|
@@ -1381,9 +1358,6 @@ void main()
|
|
|
1381
1358
|
run(opts = {}) {
|
|
1382
1359
|
this.setState({ results: {} });
|
|
1383
1360
|
const aggregationParams = this._normalizeAggregationParams(opts);
|
|
1384
|
-
if (!this._hasGPUSupport) {
|
|
1385
|
-
import_core.log.log(1, "GPUGridAggregator: not supported")();
|
|
1386
|
-
}
|
|
1387
1361
|
return this._runAggregation(aggregationParams);
|
|
1388
1362
|
}
|
|
1389
1363
|
getData(weightId) {
|
|
@@ -1907,9 +1881,6 @@ void main(void) {
|
|
|
1907
1881
|
colorRange: defaultColorRange
|
|
1908
1882
|
};
|
|
1909
1883
|
var ScreenGridCellLayer = class extends import_core2.Layer {
|
|
1910
|
-
static isSupported(device) {
|
|
1911
|
-
return device.features.has("texture-formats-float32-webgl1");
|
|
1912
|
-
}
|
|
1913
1884
|
getShaders() {
|
|
1914
1885
|
return { vs: screen_grid_layer_vertex_glsl_default, fs: screen_grid_layer_fragment_glsl_default, modules: [import_core2.picking] };
|
|
1915
1886
|
}
|
|
@@ -2763,11 +2734,6 @@ void main(void) {
|
|
|
2763
2734
|
};
|
|
2764
2735
|
var ScreenGridLayer = class extends GridAggregationLayer {
|
|
2765
2736
|
initializeState() {
|
|
2766
|
-
if (!ScreenGridCellLayer.isSupported(this.context.device)) {
|
|
2767
|
-
this.setState({ supported: false });
|
|
2768
|
-
import_core8.log.error(`ScreenGridLayer: ${this.id} is not supported on this browser`)();
|
|
2769
|
-
return;
|
|
2770
|
-
}
|
|
2771
2737
|
super.initializeAggregationLayer({
|
|
2772
2738
|
dimensions: DIMENSIONS,
|
|
2773
2739
|
getCellSize: (props) => props.cellSizePixels
|
|
@@ -2795,7 +2761,7 @@ void main(void) {
|
|
|
2795
2761
|
[POSITION_ATTRIBUTE_NAME]: {
|
|
2796
2762
|
size: 3,
|
|
2797
2763
|
accessor: "getPosition",
|
|
2798
|
-
type:
|
|
2764
|
+
type: "float64",
|
|
2799
2765
|
fp64: this.use64bitPositions()
|
|
2800
2766
|
},
|
|
2801
2767
|
count: { size: 3, accessor: "getWeight" }
|
|
@@ -3329,7 +3295,7 @@ void main(void) {
|
|
|
3329
3295
|
};
|
|
3330
3296
|
const attributeManager = this.getAttributeManager();
|
|
3331
3297
|
attributeManager.add({
|
|
3332
|
-
positions: { size: 3, type:
|
|
3298
|
+
positions: { size: 3, type: "float64", accessor: "getPosition" }
|
|
3333
3299
|
});
|
|
3334
3300
|
}
|
|
3335
3301
|
updateState(opts) {
|
|
@@ -3575,7 +3541,7 @@ void main(void) {
|
|
|
3575
3541
|
};
|
|
3576
3542
|
const attributeManager = this.getAttributeManager();
|
|
3577
3543
|
attributeManager.add({
|
|
3578
|
-
positions: { size: 3, type:
|
|
3544
|
+
positions: { size: 3, type: "float64", accessor: "getPosition" }
|
|
3579
3545
|
});
|
|
3580
3546
|
}
|
|
3581
3547
|
updateState(opts) {
|
|
@@ -4196,7 +4162,7 @@ void main(void) {
|
|
|
4196
4162
|
[POSITION_ATTRIBUTE_NAME2]: {
|
|
4197
4163
|
size: 3,
|
|
4198
4164
|
accessor: "getPosition",
|
|
4199
|
-
type:
|
|
4165
|
+
type: "float64",
|
|
4200
4166
|
fp64: this.use64bitPositions()
|
|
4201
4167
|
},
|
|
4202
4168
|
count: { size: 3, accessor: "getWeight" }
|
|
@@ -4325,7 +4291,7 @@ void main(void) {
|
|
|
4325
4291
|
const { count } = this.state.weights;
|
|
4326
4292
|
let { aggregationData } = count;
|
|
4327
4293
|
if (!aggregationData) {
|
|
4328
|
-
aggregationData = count.aggregationBuffer.
|
|
4294
|
+
aggregationData = count.aggregationBuffer.readSyncWebGL();
|
|
4329
4295
|
count.aggregationData = aggregationData;
|
|
4330
4296
|
}
|
|
4331
4297
|
const { cellWeights } = GPUGridAggregator.getCellData({ countsData: aggregationData });
|
|
@@ -4694,7 +4660,7 @@ void main(void) {
|
|
|
4694
4660
|
[POSITION_ATTRIBUTE_NAME3]: {
|
|
4695
4661
|
size: 3,
|
|
4696
4662
|
accessor: "getPosition",
|
|
4697
|
-
type:
|
|
4663
|
+
type: "float64",
|
|
4698
4664
|
fp64: this.use64bitPositions()
|
|
4699
4665
|
},
|
|
4700
4666
|
color: { size: 3, accessor: "getColorWeight" },
|
|
@@ -5243,13 +5209,9 @@ void main() {
|
|
|
5243
5209
|
weightsTextureSize: { type: "number", min: 128, max: 2048, value: 2048 },
|
|
5244
5210
|
debounceTimeout: { type: "number", min: 0, max: 1e3, value: 500 }
|
|
5245
5211
|
};
|
|
5246
|
-
var REQUIRED_FEATURES2 = [
|
|
5247
|
-
"blend-minmax-webgl1",
|
|
5248
|
-
"texture-formats-float32-webgl1"
|
|
5249
|
-
];
|
|
5250
5212
|
var FLOAT_TARGET_FEATURES = [
|
|
5251
|
-
"
|
|
5252
|
-
"texture-blend-float-
|
|
5213
|
+
"float32-renderable-webgl",
|
|
5214
|
+
"texture-blend-float-webgl"
|
|
5253
5215
|
];
|
|
5254
5216
|
var DIMENSIONS4 = {
|
|
5255
5217
|
data: {
|
|
@@ -5258,13 +5220,8 @@ void main() {
|
|
|
5258
5220
|
};
|
|
5259
5221
|
var HeatmapLayer = class extends AggregationLayer {
|
|
5260
5222
|
initializeState() {
|
|
5261
|
-
if (!REQUIRED_FEATURES2.every((feature) => this.context.device.features.has(feature))) {
|
|
5262
|
-
this.setState({ supported: false });
|
|
5263
|
-
import_core17.log.error(`HeatmapLayer: ${this.id} is not supported on this browser`)();
|
|
5264
|
-
return;
|
|
5265
|
-
}
|
|
5266
5223
|
super.initializeAggregationLayer(DIMENSIONS4);
|
|
5267
|
-
this.setState({
|
|
5224
|
+
this.setState({ colorDomain: DEFAULT_COLOR_DOMAIN });
|
|
5268
5225
|
this._setupTextureParams();
|
|
5269
5226
|
this._setupAttributes();
|
|
5270
5227
|
this._setupResources();
|
|
@@ -5273,9 +5230,6 @@ void main() {
|
|
|
5273
5230
|
return changeFlags.somethingChanged;
|
|
5274
5231
|
}
|
|
5275
5232
|
updateState(opts) {
|
|
5276
|
-
if (!this.state.supported) {
|
|
5277
|
-
return;
|
|
5278
|
-
}
|
|
5279
5233
|
super.updateState(opts);
|
|
5280
5234
|
this._updateHeatmapState(opts);
|
|
5281
5235
|
}
|
|
@@ -5301,9 +5255,6 @@ void main() {
|
|
|
5301
5255
|
this.setState({ zoom: opts.context.viewport.zoom });
|
|
5302
5256
|
}
|
|
5303
5257
|
renderLayers() {
|
|
5304
|
-
if (!this.state.supported) {
|
|
5305
|
-
return [];
|
|
5306
|
-
}
|
|
5307
5258
|
const {
|
|
5308
5259
|
weightsTexture,
|
|
5309
5260
|
triPositionBuffer,
|
|
@@ -5401,7 +5352,7 @@ void main() {
|
|
|
5401
5352
|
_setupAttributes() {
|
|
5402
5353
|
const attributeManager = this.getAttributeManager();
|
|
5403
5354
|
attributeManager.add({
|
|
5404
|
-
positions: { size: 3, type:
|
|
5355
|
+
positions: { size: 3, type: "float64", accessor: "getPosition" },
|
|
5405
5356
|
weights: { size: 1, accessor: "getWeight" }
|
|
5406
5357
|
});
|
|
5407
5358
|
this.setState({ positionAttributeName: "positions" });
|