@deck.gl/aggregation-layers 9.0.0-beta.5 → 9.0.0-beta.7
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 +228 -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 +298 -450
- package/package.json +8 -10
- 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,185 @@ 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/modules-webgl1/math/fp64/fp64-utils.js
|
|
93
|
+
function fp64ify(a, out = [], startIndex = 0) {
|
|
94
|
+
const hiPart = Math.fround(a);
|
|
95
|
+
const loPart = a - hiPart;
|
|
96
|
+
out[startIndex] = hiPart;
|
|
97
|
+
out[startIndex + 1] = loPart;
|
|
98
|
+
return out;
|
|
99
|
+
}
|
|
100
|
+
function fp64LowPart(a) {
|
|
101
|
+
return a - Math.fround(a);
|
|
102
|
+
}
|
|
103
|
+
function fp64ifyMatrix4(matrix) {
|
|
104
|
+
const matrixFP64 = new Float32Array(32);
|
|
105
|
+
for (let i = 0; i < 4; ++i) {
|
|
106
|
+
for (let j = 0; j < 4; ++j) {
|
|
107
|
+
const index = i * 4 + j;
|
|
108
|
+
fp64ify(matrix[j * 4 + i], matrixFP64, index * 2);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return matrixFP64;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.js
|
|
115
|
+
var fp64arithmeticShader = `uniform float ONE;
|
|
116
|
+
vec2 split(float a) {
|
|
117
|
+
const float SPLIT = 4097.0;
|
|
118
|
+
float t = a * SPLIT;
|
|
119
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
120
|
+
float a_hi = t * ONE - (t - a);
|
|
121
|
+
float a_lo = a * ONE - a_hi;
|
|
122
|
+
#else
|
|
123
|
+
float a_hi = t - (t - a);
|
|
124
|
+
float a_lo = a - a_hi;
|
|
125
|
+
#endif
|
|
126
|
+
return vec2(a_hi, a_lo);
|
|
127
|
+
}
|
|
128
|
+
vec2 split2(vec2 a) {
|
|
129
|
+
vec2 b = split(a.x);
|
|
130
|
+
b.y += a.y;
|
|
131
|
+
return b;
|
|
132
|
+
}
|
|
133
|
+
vec2 quickTwoSum(float a, float b) {
|
|
134
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
135
|
+
float sum = (a + b) * ONE;
|
|
136
|
+
float err = b - (sum - a) * ONE;
|
|
137
|
+
#else
|
|
138
|
+
float sum = a + b;
|
|
139
|
+
float err = b - (sum - a);
|
|
140
|
+
#endif
|
|
141
|
+
return vec2(sum, err);
|
|
142
|
+
}
|
|
143
|
+
vec2 twoSum(float a, float b) {
|
|
144
|
+
float s = (a + b);
|
|
145
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
146
|
+
float v = (s * ONE - a) * ONE;
|
|
147
|
+
float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);
|
|
148
|
+
#else
|
|
149
|
+
float v = s - a;
|
|
150
|
+
float err = (a - (s - v)) + (b - v);
|
|
151
|
+
#endif
|
|
152
|
+
return vec2(s, err);
|
|
153
|
+
}
|
|
154
|
+
vec2 twoSub(float a, float b) {
|
|
155
|
+
float s = (a - b);
|
|
156
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
157
|
+
float v = (s * ONE - a) * ONE;
|
|
158
|
+
float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);
|
|
159
|
+
#else
|
|
160
|
+
float v = s - a;
|
|
161
|
+
float err = (a - (s - v)) - (b + v);
|
|
162
|
+
#endif
|
|
163
|
+
return vec2(s, err);
|
|
164
|
+
}
|
|
165
|
+
vec2 twoSqr(float a) {
|
|
166
|
+
float prod = a * a;
|
|
167
|
+
vec2 a_fp64 = split(a);
|
|
168
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
169
|
+
float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *
|
|
170
|
+
a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;
|
|
171
|
+
#else
|
|
172
|
+
float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;
|
|
173
|
+
#endif
|
|
174
|
+
return vec2(prod, err);
|
|
175
|
+
}
|
|
176
|
+
vec2 twoProd(float a, float b) {
|
|
177
|
+
float prod = a * b;
|
|
178
|
+
vec2 a_fp64 = split(a);
|
|
179
|
+
vec2 b_fp64 = split(b);
|
|
180
|
+
float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +
|
|
181
|
+
a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;
|
|
182
|
+
return vec2(prod, err);
|
|
183
|
+
}
|
|
184
|
+
vec2 sum_fp64(vec2 a, vec2 b) {
|
|
185
|
+
vec2 s, t;
|
|
186
|
+
s = twoSum(a.x, b.x);
|
|
187
|
+
t = twoSum(a.y, b.y);
|
|
188
|
+
s.y += t.x;
|
|
189
|
+
s = quickTwoSum(s.x, s.y);
|
|
190
|
+
s.y += t.y;
|
|
191
|
+
s = quickTwoSum(s.x, s.y);
|
|
192
|
+
return s;
|
|
193
|
+
}
|
|
194
|
+
vec2 sub_fp64(vec2 a, vec2 b) {
|
|
195
|
+
vec2 s, t;
|
|
196
|
+
s = twoSub(a.x, b.x);
|
|
197
|
+
t = twoSub(a.y, b.y);
|
|
198
|
+
s.y += t.x;
|
|
199
|
+
s = quickTwoSum(s.x, s.y);
|
|
200
|
+
s.y += t.y;
|
|
201
|
+
s = quickTwoSum(s.x, s.y);
|
|
202
|
+
return s;
|
|
203
|
+
}
|
|
204
|
+
vec2 mul_fp64(vec2 a, vec2 b) {
|
|
205
|
+
vec2 prod = twoProd(a.x, b.x);
|
|
206
|
+
prod.y += a.x * b.y;
|
|
207
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
208
|
+
prod = split2(prod);
|
|
209
|
+
#endif
|
|
210
|
+
prod = quickTwoSum(prod.x, prod.y);
|
|
211
|
+
prod.y += a.y * b.x;
|
|
212
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
213
|
+
prod = split2(prod);
|
|
214
|
+
#endif
|
|
215
|
+
prod = quickTwoSum(prod.x, prod.y);
|
|
216
|
+
return prod;
|
|
217
|
+
}
|
|
218
|
+
vec2 div_fp64(vec2 a, vec2 b) {
|
|
219
|
+
float xn = 1.0 / b.x;
|
|
220
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
221
|
+
vec2 yn = mul_fp64(a, vec2(xn, 0));
|
|
222
|
+
#else
|
|
223
|
+
vec2 yn = a * xn;
|
|
224
|
+
#endif
|
|
225
|
+
float diff = (sub_fp64(a, mul_fp64(b, yn))).x;
|
|
226
|
+
vec2 prod = twoProd(xn, diff);
|
|
227
|
+
return sum_fp64(yn, prod);
|
|
228
|
+
}
|
|
229
|
+
vec2 sqrt_fp64(vec2 a) {
|
|
230
|
+
if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);
|
|
231
|
+
if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);
|
|
232
|
+
float x = 1.0 / sqrt(a.x);
|
|
233
|
+
float yn = a.x * x;
|
|
234
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
235
|
+
vec2 yn_sqr = twoSqr(yn) * ONE;
|
|
236
|
+
#else
|
|
237
|
+
vec2 yn_sqr = twoSqr(yn);
|
|
238
|
+
#endif
|
|
239
|
+
float diff = sub_fp64(a, yn_sqr).x;
|
|
240
|
+
vec2 prod = twoProd(x * 0.5, diff);
|
|
241
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
242
|
+
return sum_fp64(split(yn), prod);
|
|
243
|
+
#else
|
|
244
|
+
return sum_fp64(vec2(yn, 0.0), prod);
|
|
245
|
+
#endif
|
|
246
|
+
}
|
|
247
|
+
`;
|
|
248
|
+
|
|
249
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64.js
|
|
250
|
+
var CONST_UNIFORMS = {
|
|
251
|
+
ONE: 1
|
|
252
|
+
};
|
|
253
|
+
function getUniforms() {
|
|
254
|
+
return CONST_UNIFORMS;
|
|
255
|
+
}
|
|
256
|
+
var fp64arithmetic = {
|
|
257
|
+
name: "fp64-arithmetic",
|
|
258
|
+
vs: fp64arithmeticShader,
|
|
259
|
+
getUniforms,
|
|
260
|
+
fp64ify,
|
|
261
|
+
fp64LowPart,
|
|
262
|
+
fp64ifyMatrix4
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
// ../../node_modules/@luma.gl/constants/dist/webgl-constants.js
|
|
266
|
+
var GLEnum;
|
|
267
|
+
(function(GLEnum2) {
|
|
91
268
|
GLEnum2[GLEnum2["DEPTH_BUFFER_BIT"] = 256] = "DEPTH_BUFFER_BIT";
|
|
92
269
|
GLEnum2[GLEnum2["STENCIL_BUFFER_BIT"] = 1024] = "STENCIL_BUFFER_BIT";
|
|
93
270
|
GLEnum2[GLEnum2["COLOR_BUFFER_BIT"] = 16384] = "COLOR_BUFFER_BIT";
|
|
@@ -620,15 +797,10 @@ var __exports__ = (() => {
|
|
|
620
797
|
GLEnum2[GLEnum2["INVALID_INDEX"] = 4294967295] = "INVALID_INDEX";
|
|
621
798
|
GLEnum2[GLEnum2["TIMEOUT_IGNORED"] = -1] = "TIMEOUT_IGNORED";
|
|
622
799
|
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
800
|
GLEnum2[GLEnum2["UNMASKED_VENDOR_WEBGL"] = 37445] = "UNMASKED_VENDOR_WEBGL";
|
|
625
801
|
GLEnum2[GLEnum2["UNMASKED_RENDERER_WEBGL"] = 37446] = "UNMASKED_RENDERER_WEBGL";
|
|
626
802
|
GLEnum2[GLEnum2["MAX_TEXTURE_MAX_ANISOTROPY_EXT"] = 34047] = "MAX_TEXTURE_MAX_ANISOTROPY_EXT";
|
|
627
803
|
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
804
|
GLEnum2[GLEnum2["R16_EXT"] = 33322] = "R16_EXT";
|
|
633
805
|
GLEnum2[GLEnum2["RG16_EXT"] = 33324] = "RG16_EXT";
|
|
634
806
|
GLEnum2[GLEnum2["RGB16_EXT"] = 32852] = "RGB16_EXT";
|
|
@@ -699,50 +871,6 @@ var __exports__ = (() => {
|
|
|
699
871
|
GLEnum2[GLEnum2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"] = 37851] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR";
|
|
700
872
|
GLEnum2[GLEnum2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"] = 37852] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
|
|
701
873
|
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
874
|
GLEnum2[GLEnum2["QUERY_COUNTER_BITS_EXT"] = 34916] = "QUERY_COUNTER_BITS_EXT";
|
|
747
875
|
GLEnum2[GLEnum2["CURRENT_QUERY_EXT"] = 34917] = "CURRENT_QUERY_EXT";
|
|
748
876
|
GLEnum2[GLEnum2["QUERY_RESULT_EXT"] = 34918] = "QUERY_RESULT_EXT";
|
|
@@ -750,223 +878,40 @@ var __exports__ = (() => {
|
|
|
750
878
|
GLEnum2[GLEnum2["TIME_ELAPSED_EXT"] = 35007] = "TIME_ELAPSED_EXT";
|
|
751
879
|
GLEnum2[GLEnum2["TIMESTAMP_EXT"] = 36392] = "TIMESTAMP_EXT";
|
|
752
880
|
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
|
-
};
|
|
881
|
+
GLEnum2[GLEnum2["COMPLETION_STATUS_KHR"] = 37297] = "COMPLETION_STATUS_KHR";
|
|
882
|
+
GLEnum2[GLEnum2["DEPTH_CLAMP_EXT"] = 34383] = "DEPTH_CLAMP_EXT";
|
|
883
|
+
GLEnum2[GLEnum2["FIRST_VERTEX_CONVENTION_WEBGL"] = 36429] = "FIRST_VERTEX_CONVENTION_WEBGL";
|
|
884
|
+
GLEnum2[GLEnum2["LAST_VERTEX_CONVENTION_WEBGL"] = 36430] = "LAST_VERTEX_CONVENTION_WEBGL";
|
|
885
|
+
GLEnum2[GLEnum2["PROVOKING_VERTEX_WEBL"] = 36431] = "PROVOKING_VERTEX_WEBL";
|
|
886
|
+
GLEnum2[GLEnum2["POLYGON_MODE_WEBGL"] = 2880] = "POLYGON_MODE_WEBGL";
|
|
887
|
+
GLEnum2[GLEnum2["POLYGON_OFFSET_LINE_WEBGL"] = 10754] = "POLYGON_OFFSET_LINE_WEBGL";
|
|
888
|
+
GLEnum2[GLEnum2["LINE_WEBGL"] = 6913] = "LINE_WEBGL";
|
|
889
|
+
GLEnum2[GLEnum2["FILL_WEBGL"] = 6914] = "FILL_WEBGL";
|
|
890
|
+
GLEnum2[GLEnum2["MAX_CLIP_DISTANCES_WEBGL"] = 3378] = "MAX_CLIP_DISTANCES_WEBGL";
|
|
891
|
+
GLEnum2[GLEnum2["MAX_CULL_DISTANCES_WEBGL"] = 33529] = "MAX_CULL_DISTANCES_WEBGL";
|
|
892
|
+
GLEnum2[GLEnum2["MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL"] = 33530] = "MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL";
|
|
893
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE0_WEBGL"] = 12288] = "CLIP_DISTANCE0_WEBGL";
|
|
894
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE1_WEBGL"] = 12289] = "CLIP_DISTANCE1_WEBGL";
|
|
895
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE2_WEBGL"] = 12290] = "CLIP_DISTANCE2_WEBGL";
|
|
896
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE3_WEBGL"] = 12291] = "CLIP_DISTANCE3_WEBGL";
|
|
897
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE4_WEBGL"] = 12292] = "CLIP_DISTANCE4_WEBGL";
|
|
898
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE5_WEBGL"] = 12293] = "CLIP_DISTANCE5_WEBGL";
|
|
899
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE6_WEBGL"] = 12294] = "CLIP_DISTANCE6_WEBGL";
|
|
900
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE7_WEBGL"] = 12295] = "CLIP_DISTANCE7_WEBGL";
|
|
901
|
+
GLEnum2[GLEnum2["POLYGON_OFFSET_CLAMP_EXT"] = 36379] = "POLYGON_OFFSET_CLAMP_EXT";
|
|
902
|
+
GLEnum2[GLEnum2["LOWER_LEFT_EXT"] = 36001] = "LOWER_LEFT_EXT";
|
|
903
|
+
GLEnum2[GLEnum2["UPPER_LEFT_EXT"] = 36002] = "UPPER_LEFT_EXT";
|
|
904
|
+
GLEnum2[GLEnum2["NEGATIVE_ONE_TO_ONE_EXT"] = 37726] = "NEGATIVE_ONE_TO_ONE_EXT";
|
|
905
|
+
GLEnum2[GLEnum2["ZERO_TO_ONE_EXT"] = 37727] = "ZERO_TO_ONE_EXT";
|
|
906
|
+
GLEnum2[GLEnum2["CLIP_ORIGIN_EXT"] = 37724] = "CLIP_ORIGIN_EXT";
|
|
907
|
+
GLEnum2[GLEnum2["CLIP_DEPTH_MODE_EXT"] = 37725] = "CLIP_DEPTH_MODE_EXT";
|
|
908
|
+
GLEnum2[GLEnum2["SRC1_COLOR_WEBGL"] = 35065] = "SRC1_COLOR_WEBGL";
|
|
909
|
+
GLEnum2[GLEnum2["SRC1_ALPHA_WEBGL"] = 34185] = "SRC1_ALPHA_WEBGL";
|
|
910
|
+
GLEnum2[GLEnum2["ONE_MINUS_SRC1_COLOR_WEBGL"] = 35066] = "ONE_MINUS_SRC1_COLOR_WEBGL";
|
|
911
|
+
GLEnum2[GLEnum2["ONE_MINUS_SRC1_ALPHA_WEBGL"] = 35067] = "ONE_MINUS_SRC1_ALPHA_WEBGL";
|
|
912
|
+
GLEnum2[GLEnum2["MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL"] = 35068] = "MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL";
|
|
913
|
+
GLEnum2[GLEnum2["MIRROR_CLAMP_TO_EDGE_EXT"] = 34627] = "MIRROR_CLAMP_TO_EDGE_EXT";
|
|
914
|
+
})(GLEnum || (GLEnum = {}));
|
|
970
915
|
|
|
971
916
|
// src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts
|
|
972
917
|
var import_core = __toESM(require_core(), 1);
|
|
@@ -1276,11 +1221,8 @@ void main()
|
|
|
1276
1221
|
maxMinData: "maxMinBuffer"
|
|
1277
1222
|
};
|
|
1278
1223
|
var REQUIRED_FEATURES = [
|
|
1279
|
-
"
|
|
1280
|
-
"blend-
|
|
1281
|
-
"texture-renderable-float32-webgl",
|
|
1282
|
-
"texture-blend-float-webgl1",
|
|
1283
|
-
"texture-formats-float32-webgl1"
|
|
1224
|
+
"float32-renderable-webgl",
|
|
1225
|
+
"texture-blend-float-webgl"
|
|
1284
1226
|
];
|
|
1285
1227
|
var GPUGridAggregator = class {
|
|
1286
1228
|
constructor(device, props = {}) {
|
|
@@ -1301,12 +1243,10 @@ void main()
|
|
|
1301
1243
|
};
|
|
1302
1244
|
this.id = props.id || "gpu-grid-aggregator";
|
|
1303
1245
|
this.device = device;
|
|
1304
|
-
const
|
|
1305
|
-
"
|
|
1306
|
-
"texture-renderable-float32-webgl",
|
|
1307
|
-
"texture-formats-float32-webgl1"
|
|
1246
|
+
const REQUIRED_FEATURES2 = [
|
|
1247
|
+
"float32-renderable-webgl"
|
|
1308
1248
|
];
|
|
1309
|
-
this._hasGPUSupport =
|
|
1249
|
+
this._hasGPUSupport = REQUIRED_FEATURES2.every((feature) => device.features.has(feature));
|
|
1310
1250
|
if (this._hasGPUSupport) {
|
|
1311
1251
|
this._setupModels();
|
|
1312
1252
|
}
|
|
@@ -1381,9 +1321,6 @@ void main()
|
|
|
1381
1321
|
run(opts = {}) {
|
|
1382
1322
|
this.setState({ results: {} });
|
|
1383
1323
|
const aggregationParams = this._normalizeAggregationParams(opts);
|
|
1384
|
-
if (!this._hasGPUSupport) {
|
|
1385
|
-
import_core.log.log(1, "GPUGridAggregator: not supported")();
|
|
1386
|
-
}
|
|
1387
1324
|
return this._runAggregation(aggregationParams);
|
|
1388
1325
|
}
|
|
1389
1326
|
getData(weightId) {
|
|
@@ -1907,9 +1844,6 @@ void main(void) {
|
|
|
1907
1844
|
colorRange: defaultColorRange
|
|
1908
1845
|
};
|
|
1909
1846
|
var ScreenGridCellLayer = class extends import_core2.Layer {
|
|
1910
|
-
static isSupported(device) {
|
|
1911
|
-
return device.features.has("texture-formats-float32-webgl1");
|
|
1912
|
-
}
|
|
1913
1847
|
getShaders() {
|
|
1914
1848
|
return { vs: screen_grid_layer_vertex_glsl_default, fs: screen_grid_layer_fragment_glsl_default, modules: [import_core2.picking] };
|
|
1915
1849
|
}
|
|
@@ -2763,11 +2697,6 @@ void main(void) {
|
|
|
2763
2697
|
};
|
|
2764
2698
|
var ScreenGridLayer = class extends GridAggregationLayer {
|
|
2765
2699
|
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
2700
|
super.initializeAggregationLayer({
|
|
2772
2701
|
dimensions: DIMENSIONS,
|
|
2773
2702
|
getCellSize: (props) => props.cellSizePixels
|
|
@@ -2795,7 +2724,7 @@ void main(void) {
|
|
|
2795
2724
|
[POSITION_ATTRIBUTE_NAME]: {
|
|
2796
2725
|
size: 3,
|
|
2797
2726
|
accessor: "getPosition",
|
|
2798
|
-
type:
|
|
2727
|
+
type: "float64",
|
|
2799
2728
|
fp64: this.use64bitPositions()
|
|
2800
2729
|
},
|
|
2801
2730
|
count: { size: 3, accessor: "getWeight" }
|
|
@@ -3329,7 +3258,7 @@ void main(void) {
|
|
|
3329
3258
|
};
|
|
3330
3259
|
const attributeManager = this.getAttributeManager();
|
|
3331
3260
|
attributeManager.add({
|
|
3332
|
-
positions: { size: 3, type:
|
|
3261
|
+
positions: { size: 3, type: "float64", accessor: "getPosition" }
|
|
3333
3262
|
});
|
|
3334
3263
|
}
|
|
3335
3264
|
updateState(opts) {
|
|
@@ -3575,7 +3504,7 @@ void main(void) {
|
|
|
3575
3504
|
};
|
|
3576
3505
|
const attributeManager = this.getAttributeManager();
|
|
3577
3506
|
attributeManager.add({
|
|
3578
|
-
positions: { size: 3, type:
|
|
3507
|
+
positions: { size: 3, type: "float64", accessor: "getPosition" }
|
|
3579
3508
|
});
|
|
3580
3509
|
}
|
|
3581
3510
|
updateState(opts) {
|
|
@@ -4196,7 +4125,7 @@ void main(void) {
|
|
|
4196
4125
|
[POSITION_ATTRIBUTE_NAME2]: {
|
|
4197
4126
|
size: 3,
|
|
4198
4127
|
accessor: "getPosition",
|
|
4199
|
-
type:
|
|
4128
|
+
type: "float64",
|
|
4200
4129
|
fp64: this.use64bitPositions()
|
|
4201
4130
|
},
|
|
4202
4131
|
count: { size: 3, accessor: "getWeight" }
|
|
@@ -4325,7 +4254,7 @@ void main(void) {
|
|
|
4325
4254
|
const { count } = this.state.weights;
|
|
4326
4255
|
let { aggregationData } = count;
|
|
4327
4256
|
if (!aggregationData) {
|
|
4328
|
-
aggregationData = count.aggregationBuffer.
|
|
4257
|
+
aggregationData = count.aggregationBuffer.readSyncWebGL();
|
|
4329
4258
|
count.aggregationData = aggregationData;
|
|
4330
4259
|
}
|
|
4331
4260
|
const { cellWeights } = GPUGridAggregator.getCellData({ countsData: aggregationData });
|
|
@@ -4694,7 +4623,7 @@ void main(void) {
|
|
|
4694
4623
|
[POSITION_ATTRIBUTE_NAME3]: {
|
|
4695
4624
|
size: 3,
|
|
4696
4625
|
accessor: "getPosition",
|
|
4697
|
-
type:
|
|
4626
|
+
type: "float64",
|
|
4698
4627
|
fp64: this.use64bitPositions()
|
|
4699
4628
|
},
|
|
4700
4629
|
color: { size: 3, accessor: "getColorWeight" },
|
|
@@ -5243,13 +5172,9 @@ void main() {
|
|
|
5243
5172
|
weightsTextureSize: { type: "number", min: 128, max: 2048, value: 2048 },
|
|
5244
5173
|
debounceTimeout: { type: "number", min: 0, max: 1e3, value: 500 }
|
|
5245
5174
|
};
|
|
5246
|
-
var REQUIRED_FEATURES2 = [
|
|
5247
|
-
"blend-minmax-webgl1",
|
|
5248
|
-
"texture-formats-float32-webgl1"
|
|
5249
|
-
];
|
|
5250
5175
|
var FLOAT_TARGET_FEATURES = [
|
|
5251
|
-
"
|
|
5252
|
-
"texture-blend-float-
|
|
5176
|
+
"float32-renderable-webgl",
|
|
5177
|
+
"texture-blend-float-webgl"
|
|
5253
5178
|
];
|
|
5254
5179
|
var DIMENSIONS4 = {
|
|
5255
5180
|
data: {
|
|
@@ -5258,13 +5183,8 @@ void main() {
|
|
|
5258
5183
|
};
|
|
5259
5184
|
var HeatmapLayer = class extends AggregationLayer {
|
|
5260
5185
|
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
5186
|
super.initializeAggregationLayer(DIMENSIONS4);
|
|
5267
|
-
this.setState({
|
|
5187
|
+
this.setState({ colorDomain: DEFAULT_COLOR_DOMAIN });
|
|
5268
5188
|
this._setupTextureParams();
|
|
5269
5189
|
this._setupAttributes();
|
|
5270
5190
|
this._setupResources();
|
|
@@ -5273,9 +5193,6 @@ void main() {
|
|
|
5273
5193
|
return changeFlags.somethingChanged;
|
|
5274
5194
|
}
|
|
5275
5195
|
updateState(opts) {
|
|
5276
|
-
if (!this.state.supported) {
|
|
5277
|
-
return;
|
|
5278
|
-
}
|
|
5279
5196
|
super.updateState(opts);
|
|
5280
5197
|
this._updateHeatmapState(opts);
|
|
5281
5198
|
}
|
|
@@ -5301,9 +5218,6 @@ void main() {
|
|
|
5301
5218
|
this.setState({ zoom: opts.context.viewport.zoom });
|
|
5302
5219
|
}
|
|
5303
5220
|
renderLayers() {
|
|
5304
|
-
if (!this.state.supported) {
|
|
5305
|
-
return [];
|
|
5306
|
-
}
|
|
5307
5221
|
const {
|
|
5308
5222
|
weightsTexture,
|
|
5309
5223
|
triPositionBuffer,
|
|
@@ -5401,7 +5315,7 @@ void main() {
|
|
|
5401
5315
|
_setupAttributes() {
|
|
5402
5316
|
const attributeManager = this.getAttributeManager();
|
|
5403
5317
|
attributeManager.add({
|
|
5404
|
-
positions: { size: 3, type:
|
|
5318
|
+
positions: { size: 3, type: "float64", accessor: "getPosition" },
|
|
5405
5319
|
weights: { size: 1, accessor: "getWeight" }
|
|
5406
5320
|
});
|
|
5407
5321
|
this.setState({ positionAttributeName: "positions" });
|