@deck.gl/extensions 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/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.map +1 -1
- package/dist/data-filter/data-filter-extension.js +2 -5
- 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 +286 -300
- 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 +363 -430
- 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 +2 -5
- 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
package/dist/dist.dev.js
CHANGED
|
@@ -79,7 +79,12 @@ var __exports__ = (() => {
|
|
|
79
79
|
|
|
80
80
|
// src/brushing/shader-module.ts
|
|
81
81
|
var import_core2 = __toESM(require_core(), 1);
|
|
82
|
-
|
|
82
|
+
|
|
83
|
+
// src/utils/syntax-tags.ts
|
|
84
|
+
var glsl = (s) => `${s}`;
|
|
85
|
+
|
|
86
|
+
// src/brushing/shader-module.ts
|
|
87
|
+
var vs = glsl`
|
|
83
88
|
uniform bool brushing_enabled;
|
|
84
89
|
uniform int brushing_target;
|
|
85
90
|
uniform vec2 brushing_mousePos;
|
|
@@ -112,7 +117,7 @@ var __exports__ = (() => {
|
|
|
112
117
|
brushing_isVisible = float(visible);
|
|
113
118
|
}
|
|
114
119
|
`;
|
|
115
|
-
var fs = `
|
|
120
|
+
var fs = glsl`
|
|
116
121
|
uniform bool brushing_enabled;
|
|
117
122
|
in float brushing_isVisible;
|
|
118
123
|
`;
|
|
@@ -123,7 +128,7 @@ var __exports__ = (() => {
|
|
|
123
128
|
source_target: 3
|
|
124
129
|
};
|
|
125
130
|
var inject = {
|
|
126
|
-
"vs:DECKGL_FILTER_GL_POSITION": `
|
|
131
|
+
"vs:DECKGL_FILTER_GL_POSITION": glsl`
|
|
127
132
|
vec2 brushingTarget;
|
|
128
133
|
vec2 brushingSource;
|
|
129
134
|
if (brushing_target == 3) {
|
|
@@ -237,8 +242,202 @@ var __exports__ = (() => {
|
|
|
237
242
|
BrushingExtension.defaultProps = defaultProps;
|
|
238
243
|
BrushingExtension.extensionName = "BrushingExtension";
|
|
239
244
|
|
|
240
|
-
//
|
|
241
|
-
var
|
|
245
|
+
// src/data-filter/data-filter-extension.ts
|
|
246
|
+
var import_core4 = __toESM(require_core(), 1);
|
|
247
|
+
|
|
248
|
+
// src/data-filter/shader-module.ts
|
|
249
|
+
var vs2 = glsl`
|
|
250
|
+
uniform DATAFILTER_TYPE filter_min;
|
|
251
|
+
uniform DATAFILTER_TYPE filter_softMin;
|
|
252
|
+
uniform DATAFILTER_TYPE filter_softMax;
|
|
253
|
+
uniform DATAFILTER_TYPE filter_max;
|
|
254
|
+
uniform bool filter_useSoftMargin;
|
|
255
|
+
uniform bool filter_enabled;
|
|
256
|
+
uniform bool filter_transformSize;
|
|
257
|
+
uniform ivec4 filter_categoryBitMask;
|
|
258
|
+
|
|
259
|
+
#ifdef NON_INSTANCED_MODEL
|
|
260
|
+
#define DATAFILTER_ATTRIB filterValues
|
|
261
|
+
#define DATAFILTER_ATTRIB_64LOW filterValues64Low
|
|
262
|
+
#define DATACATEGORY_ATTRIB filterCategoryValues
|
|
263
|
+
#else
|
|
264
|
+
#define DATAFILTER_ATTRIB instanceFilterValues
|
|
265
|
+
#define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low
|
|
266
|
+
#define DATACATEGORY_ATTRIB instanceFilterCategoryValues
|
|
267
|
+
#endif
|
|
268
|
+
|
|
269
|
+
in DATAFILTER_TYPE DATAFILTER_ATTRIB;
|
|
270
|
+
#ifdef DATAFILTER_DOUBLE
|
|
271
|
+
in DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;
|
|
272
|
+
|
|
273
|
+
uniform DATAFILTER_TYPE filter_min64High;
|
|
274
|
+
uniform DATAFILTER_TYPE filter_max64High;
|
|
275
|
+
#endif
|
|
276
|
+
in DATACATEGORY_TYPE DATACATEGORY_ATTRIB;
|
|
277
|
+
|
|
278
|
+
out float dataFilter_value;
|
|
279
|
+
|
|
280
|
+
float dataFilter_reduceValue(float value) {
|
|
281
|
+
return value;
|
|
282
|
+
}
|
|
283
|
+
float dataFilter_reduceValue(vec2 value) {
|
|
284
|
+
return min(value.x, value.y);
|
|
285
|
+
}
|
|
286
|
+
float dataFilter_reduceValue(vec3 value) {
|
|
287
|
+
return min(min(value.x, value.y), value.z);
|
|
288
|
+
}
|
|
289
|
+
float dataFilter_reduceValue(vec4 value) {
|
|
290
|
+
return min(min(value.x, value.y), min(value.z, value.w));
|
|
291
|
+
}
|
|
292
|
+
void dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax, DATACATEGORY_TYPE category) {
|
|
293
|
+
if (filter_enabled) {
|
|
294
|
+
if (filter_useSoftMargin) {
|
|
295
|
+
dataFilter_value = dataFilter_reduceValue(
|
|
296
|
+
smoothstep(filter_min, filter_softMin, valueFromMin) *
|
|
297
|
+
(1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))
|
|
298
|
+
);
|
|
299
|
+
} else {
|
|
300
|
+
dataFilter_value = dataFilter_reduceValue(
|
|
301
|
+
step(filter_min, valueFromMin) * step(valueFromMax, filter_max)
|
|
302
|
+
);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
#if DATACATEGORY_CHANNELS == 1 // One 128-bit mask
|
|
306
|
+
int dataFilter_masks = filter_categoryBitMask[int(category / 32.0)];
|
|
307
|
+
#elif DATACATEGORY_CHANNELS == 2 // Two 64-bit masks
|
|
308
|
+
ivec2 dataFilter_masks = ivec2(
|
|
309
|
+
filter_categoryBitMask[int(category.x / 32.0)],
|
|
310
|
+
filter_categoryBitMask[int(category.y / 32.0) + 2]
|
|
311
|
+
);
|
|
312
|
+
#elif DATACATEGORY_CHANNELS == 3 // Three 32-bit masks
|
|
313
|
+
ivec3 dataFilter_masks = filter_categoryBitMask.xyz;
|
|
314
|
+
#else // Four 32-bit masks
|
|
315
|
+
ivec4 dataFilter_masks = filter_categoryBitMask;
|
|
316
|
+
#endif
|
|
317
|
+
|
|
318
|
+
// Shift mask and extract relevant bits
|
|
319
|
+
DATACATEGORY_TYPE dataFilter_bits = DATACATEGORY_TYPE(dataFilter_masks) / pow(DATACATEGORY_TYPE(2.0), mod(category, 32.0));
|
|
320
|
+
dataFilter_bits = mod(floor(dataFilter_bits), 2.0);
|
|
321
|
+
|
|
322
|
+
#if DATACATEGORY_CHANNELS == 1
|
|
323
|
+
if(dataFilter_bits == 0.0) dataFilter_value = 0.0;
|
|
324
|
+
#else
|
|
325
|
+
if(any(equal(dataFilter_bits, DATACATEGORY_TYPE(0.0)))) dataFilter_value = 0.0;
|
|
326
|
+
#endif
|
|
327
|
+
} else {
|
|
328
|
+
dataFilter_value = 1.0;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
`;
|
|
332
|
+
var fs2 = glsl`
|
|
333
|
+
uniform bool filter_transformColor;
|
|
334
|
+
in float dataFilter_value;
|
|
335
|
+
`;
|
|
336
|
+
function getUniforms(opts) {
|
|
337
|
+
if (!opts || !("extensions" in opts)) {
|
|
338
|
+
return {};
|
|
339
|
+
}
|
|
340
|
+
const {
|
|
341
|
+
filterRange = [-1, 1],
|
|
342
|
+
filterEnabled = true,
|
|
343
|
+
filterTransformSize = true,
|
|
344
|
+
filterTransformColor = true
|
|
345
|
+
} = opts;
|
|
346
|
+
const filterSoftRange = opts.filterSoftRange || filterRange;
|
|
347
|
+
return {
|
|
348
|
+
...Number.isFinite(filterRange[0]) ? {
|
|
349
|
+
filter_min: filterRange[0],
|
|
350
|
+
filter_softMin: filterSoftRange[0],
|
|
351
|
+
filter_softMax: filterSoftRange[1],
|
|
352
|
+
filter_max: filterRange[1]
|
|
353
|
+
} : {
|
|
354
|
+
filter_min: filterRange.map((r) => r[0]),
|
|
355
|
+
filter_softMin: filterSoftRange.map((r) => r[0]),
|
|
356
|
+
filter_softMax: filterSoftRange.map((r) => r[1]),
|
|
357
|
+
filter_max: filterRange.map((r) => r[1])
|
|
358
|
+
},
|
|
359
|
+
filter_enabled: filterEnabled,
|
|
360
|
+
filter_useSoftMargin: Boolean(opts.filterSoftRange),
|
|
361
|
+
filter_transformSize: filterEnabled && filterTransformSize,
|
|
362
|
+
filter_transformColor: filterEnabled && filterTransformColor
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
function getUniforms64(opts) {
|
|
366
|
+
if (!opts || !("extensions" in opts)) {
|
|
367
|
+
return {};
|
|
368
|
+
}
|
|
369
|
+
const uniforms = getUniforms(opts);
|
|
370
|
+
if (Number.isFinite(uniforms.filter_min)) {
|
|
371
|
+
const min64High = Math.fround(uniforms.filter_min);
|
|
372
|
+
uniforms.filter_min -= min64High;
|
|
373
|
+
uniforms.filter_softMin -= min64High;
|
|
374
|
+
uniforms.filter_min64High = min64High;
|
|
375
|
+
const max64High = Math.fround(uniforms.filter_max);
|
|
376
|
+
uniforms.filter_max -= max64High;
|
|
377
|
+
uniforms.filter_softMax -= max64High;
|
|
378
|
+
uniforms.filter_max64High = max64High;
|
|
379
|
+
} else {
|
|
380
|
+
const min64High = uniforms.filter_min.map(Math.fround);
|
|
381
|
+
uniforms.filter_min = uniforms.filter_min.map((x, i) => x - min64High[i]);
|
|
382
|
+
uniforms.filter_softMin = uniforms.filter_softMin.map((x, i) => x - min64High[i]);
|
|
383
|
+
uniforms.filter_min64High = min64High;
|
|
384
|
+
const max64High = uniforms.filter_max.map(Math.fround);
|
|
385
|
+
uniforms.filter_max = uniforms.filter_max.map((x, i) => x - max64High[i]);
|
|
386
|
+
uniforms.filter_softMax = uniforms.filter_softMax.map((x, i) => x - max64High[i]);
|
|
387
|
+
uniforms.filter_max64High = max64High;
|
|
388
|
+
}
|
|
389
|
+
return uniforms;
|
|
390
|
+
}
|
|
391
|
+
var inject2 = {
|
|
392
|
+
"vs:#main-start": glsl`
|
|
393
|
+
#ifdef DATAFILTER_DOUBLE
|
|
394
|
+
dataFilter_setValue(
|
|
395
|
+
DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,
|
|
396
|
+
DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW,
|
|
397
|
+
DATACATEGORY_ATTRIB
|
|
398
|
+
);
|
|
399
|
+
#else
|
|
400
|
+
dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB, DATACATEGORY_ATTRIB);
|
|
401
|
+
#endif
|
|
402
|
+
`,
|
|
403
|
+
"vs:#main-end": glsl`
|
|
404
|
+
if (dataFilter_value == 0.0) {
|
|
405
|
+
gl_Position = vec4(0.);
|
|
406
|
+
}
|
|
407
|
+
`,
|
|
408
|
+
"vs:DECKGL_FILTER_SIZE": glsl`
|
|
409
|
+
if (filter_transformSize) {
|
|
410
|
+
size = size * dataFilter_value;
|
|
411
|
+
}
|
|
412
|
+
`,
|
|
413
|
+
"fs:DECKGL_FILTER_COLOR": glsl`
|
|
414
|
+
if (dataFilter_value == 0.0) discard;
|
|
415
|
+
if (filter_transformColor) {
|
|
416
|
+
color.a *= dataFilter_value;
|
|
417
|
+
}
|
|
418
|
+
`
|
|
419
|
+
};
|
|
420
|
+
var shaderModule = {
|
|
421
|
+
name: "data-filter",
|
|
422
|
+
vs: vs2,
|
|
423
|
+
fs: fs2,
|
|
424
|
+
inject: inject2,
|
|
425
|
+
getUniforms
|
|
426
|
+
};
|
|
427
|
+
var shaderModule64 = {
|
|
428
|
+
name: "data-filter-fp64",
|
|
429
|
+
vs: vs2,
|
|
430
|
+
fs: fs2,
|
|
431
|
+
inject: inject2,
|
|
432
|
+
getUniforms: getUniforms64
|
|
433
|
+
};
|
|
434
|
+
|
|
435
|
+
// src/data-filter/aggregator.ts
|
|
436
|
+
var import_engine = __toESM(require_engine(), 1);
|
|
437
|
+
|
|
438
|
+
// ../../node_modules/@luma.gl/constants/dist/webgl-constants.js
|
|
439
|
+
var GLEnum;
|
|
440
|
+
(function(GLEnum2) {
|
|
242
441
|
GLEnum2[GLEnum2["DEPTH_BUFFER_BIT"] = 256] = "DEPTH_BUFFER_BIT";
|
|
243
442
|
GLEnum2[GLEnum2["STENCIL_BUFFER_BIT"] = 1024] = "STENCIL_BUFFER_BIT";
|
|
244
443
|
GLEnum2[GLEnum2["COLOR_BUFFER_BIT"] = 16384] = "COLOR_BUFFER_BIT";
|
|
@@ -771,15 +970,10 @@ var __exports__ = (() => {
|
|
|
771
970
|
GLEnum2[GLEnum2["INVALID_INDEX"] = 4294967295] = "INVALID_INDEX";
|
|
772
971
|
GLEnum2[GLEnum2["TIMEOUT_IGNORED"] = -1] = "TIMEOUT_IGNORED";
|
|
773
972
|
GLEnum2[GLEnum2["MAX_CLIENT_WAIT_TIMEOUT_WEBGL"] = 37447] = "MAX_CLIENT_WAIT_TIMEOUT_WEBGL";
|
|
774
|
-
GLEnum2[GLEnum2["VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE"] = 35070] = "VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE";
|
|
775
973
|
GLEnum2[GLEnum2["UNMASKED_VENDOR_WEBGL"] = 37445] = "UNMASKED_VENDOR_WEBGL";
|
|
776
974
|
GLEnum2[GLEnum2["UNMASKED_RENDERER_WEBGL"] = 37446] = "UNMASKED_RENDERER_WEBGL";
|
|
777
975
|
GLEnum2[GLEnum2["MAX_TEXTURE_MAX_ANISOTROPY_EXT"] = 34047] = "MAX_TEXTURE_MAX_ANISOTROPY_EXT";
|
|
778
976
|
GLEnum2[GLEnum2["TEXTURE_MAX_ANISOTROPY_EXT"] = 34046] = "TEXTURE_MAX_ANISOTROPY_EXT";
|
|
779
|
-
GLEnum2[GLEnum2["SRGB_EXT"] = 35904] = "SRGB_EXT";
|
|
780
|
-
GLEnum2[GLEnum2["SRGB_ALPHA_EXT"] = 35906] = "SRGB_ALPHA_EXT";
|
|
781
|
-
GLEnum2[GLEnum2["SRGB8_ALPHA8_EXT"] = 35907] = "SRGB8_ALPHA8_EXT";
|
|
782
|
-
GLEnum2[GLEnum2["FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT"] = 33296] = "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT";
|
|
783
977
|
GLEnum2[GLEnum2["R16_EXT"] = 33322] = "R16_EXT";
|
|
784
978
|
GLEnum2[GLEnum2["RG16_EXT"] = 33324] = "RG16_EXT";
|
|
785
979
|
GLEnum2[GLEnum2["RGB16_EXT"] = 32852] = "RGB16_EXT";
|
|
@@ -850,50 +1044,6 @@ var __exports__ = (() => {
|
|
|
850
1044
|
GLEnum2[GLEnum2["COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"] = 37851] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR";
|
|
851
1045
|
GLEnum2[GLEnum2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"] = 37852] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
|
|
852
1046
|
GLEnum2[GLEnum2["COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"] = 37853] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR";
|
|
853
|
-
GLEnum2[GLEnum2["UNSIGNED_INT_24_8_WEBGL"] = 34042] = "UNSIGNED_INT_24_8_WEBGL";
|
|
854
|
-
GLEnum2[GLEnum2["HALF_FLOAT_OES"] = 36193] = "HALF_FLOAT_OES";
|
|
855
|
-
GLEnum2[GLEnum2["RGBA32F_EXT"] = 34836] = "RGBA32F_EXT";
|
|
856
|
-
GLEnum2[GLEnum2["RGB32F_EXT"] = 34837] = "RGB32F_EXT";
|
|
857
|
-
GLEnum2[GLEnum2["FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT"] = 33297] = "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT";
|
|
858
|
-
GLEnum2[GLEnum2["UNSIGNED_NORMALIZED_EXT"] = 35863] = "UNSIGNED_NORMALIZED_EXT";
|
|
859
|
-
GLEnum2[GLEnum2["MIN_EXT"] = 32775] = "MIN_EXT";
|
|
860
|
-
GLEnum2[GLEnum2["MAX_EXT"] = 32776] = "MAX_EXT";
|
|
861
|
-
GLEnum2[GLEnum2["FRAGMENT_SHADER_DERIVATIVE_HINT_OES"] = 35723] = "FRAGMENT_SHADER_DERIVATIVE_HINT_OES";
|
|
862
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT0_WEBGL"] = 36064] = "COLOR_ATTACHMENT0_WEBGL";
|
|
863
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT1_WEBGL"] = 36065] = "COLOR_ATTACHMENT1_WEBGL";
|
|
864
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT2_WEBGL"] = 36066] = "COLOR_ATTACHMENT2_WEBGL";
|
|
865
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT3_WEBGL"] = 36067] = "COLOR_ATTACHMENT3_WEBGL";
|
|
866
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT4_WEBGL"] = 36068] = "COLOR_ATTACHMENT4_WEBGL";
|
|
867
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT5_WEBGL"] = 36069] = "COLOR_ATTACHMENT5_WEBGL";
|
|
868
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT6_WEBGL"] = 36070] = "COLOR_ATTACHMENT6_WEBGL";
|
|
869
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT7_WEBGL"] = 36071] = "COLOR_ATTACHMENT7_WEBGL";
|
|
870
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT8_WEBGL"] = 36072] = "COLOR_ATTACHMENT8_WEBGL";
|
|
871
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT9_WEBGL"] = 36073] = "COLOR_ATTACHMENT9_WEBGL";
|
|
872
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT10_WEBGL"] = 36074] = "COLOR_ATTACHMENT10_WEBGL";
|
|
873
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT11_WEBGL"] = 36075] = "COLOR_ATTACHMENT11_WEBGL";
|
|
874
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT12_WEBGL"] = 36076] = "COLOR_ATTACHMENT12_WEBGL";
|
|
875
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT13_WEBGL"] = 36077] = "COLOR_ATTACHMENT13_WEBGL";
|
|
876
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT14_WEBGL"] = 36078] = "COLOR_ATTACHMENT14_WEBGL";
|
|
877
|
-
GLEnum2[GLEnum2["COLOR_ATTACHMENT15_WEBGL"] = 36079] = "COLOR_ATTACHMENT15_WEBGL";
|
|
878
|
-
GLEnum2[GLEnum2["DRAW_BUFFER0_WEBGL"] = 34853] = "DRAW_BUFFER0_WEBGL";
|
|
879
|
-
GLEnum2[GLEnum2["DRAW_BUFFER1_WEBGL"] = 34854] = "DRAW_BUFFER1_WEBGL";
|
|
880
|
-
GLEnum2[GLEnum2["DRAW_BUFFER2_WEBGL"] = 34855] = "DRAW_BUFFER2_WEBGL";
|
|
881
|
-
GLEnum2[GLEnum2["DRAW_BUFFER3_WEBGL"] = 34856] = "DRAW_BUFFER3_WEBGL";
|
|
882
|
-
GLEnum2[GLEnum2["DRAW_BUFFER4_WEBGL"] = 34857] = "DRAW_BUFFER4_WEBGL";
|
|
883
|
-
GLEnum2[GLEnum2["DRAW_BUFFER5_WEBGL"] = 34858] = "DRAW_BUFFER5_WEBGL";
|
|
884
|
-
GLEnum2[GLEnum2["DRAW_BUFFER6_WEBGL"] = 34859] = "DRAW_BUFFER6_WEBGL";
|
|
885
|
-
GLEnum2[GLEnum2["DRAW_BUFFER7_WEBGL"] = 34860] = "DRAW_BUFFER7_WEBGL";
|
|
886
|
-
GLEnum2[GLEnum2["DRAW_BUFFER8_WEBGL"] = 34861] = "DRAW_BUFFER8_WEBGL";
|
|
887
|
-
GLEnum2[GLEnum2["DRAW_BUFFER9_WEBGL"] = 34862] = "DRAW_BUFFER9_WEBGL";
|
|
888
|
-
GLEnum2[GLEnum2["DRAW_BUFFER10_WEBGL"] = 34863] = "DRAW_BUFFER10_WEBGL";
|
|
889
|
-
GLEnum2[GLEnum2["DRAW_BUFFER11_WEBGL"] = 34864] = "DRAW_BUFFER11_WEBGL";
|
|
890
|
-
GLEnum2[GLEnum2["DRAW_BUFFER12_WEBGL"] = 34865] = "DRAW_BUFFER12_WEBGL";
|
|
891
|
-
GLEnum2[GLEnum2["DRAW_BUFFER13_WEBGL"] = 34866] = "DRAW_BUFFER13_WEBGL";
|
|
892
|
-
GLEnum2[GLEnum2["DRAW_BUFFER14_WEBGL"] = 34867] = "DRAW_BUFFER14_WEBGL";
|
|
893
|
-
GLEnum2[GLEnum2["DRAW_BUFFER15_WEBGL"] = 34868] = "DRAW_BUFFER15_WEBGL";
|
|
894
|
-
GLEnum2[GLEnum2["MAX_COLOR_ATTACHMENTS_WEBGL"] = 36063] = "MAX_COLOR_ATTACHMENTS_WEBGL";
|
|
895
|
-
GLEnum2[GLEnum2["MAX_DRAW_BUFFERS_WEBGL"] = 34852] = "MAX_DRAW_BUFFERS_WEBGL";
|
|
896
|
-
GLEnum2[GLEnum2["VERTEX_ARRAY_BINDING_OES"] = 34229] = "VERTEX_ARRAY_BINDING_OES";
|
|
897
1047
|
GLEnum2[GLEnum2["QUERY_COUNTER_BITS_EXT"] = 34916] = "QUERY_COUNTER_BITS_EXT";
|
|
898
1048
|
GLEnum2[GLEnum2["CURRENT_QUERY_EXT"] = 34917] = "CURRENT_QUERY_EXT";
|
|
899
1049
|
GLEnum2[GLEnum2["QUERY_RESULT_EXT"] = 34918] = "QUERY_RESULT_EXT";
|
|
@@ -901,201 +1051,42 @@ var __exports__ = (() => {
|
|
|
901
1051
|
GLEnum2[GLEnum2["TIME_ELAPSED_EXT"] = 35007] = "TIME_ELAPSED_EXT";
|
|
902
1052
|
GLEnum2[GLEnum2["TIMESTAMP_EXT"] = 36392] = "TIMESTAMP_EXT";
|
|
903
1053
|
GLEnum2[GLEnum2["GPU_DISJOINT_EXT"] = 36795] = "GPU_DISJOINT_EXT";
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
in DATACATEGORY_TYPE DATACATEGORY_ATTRIB;
|
|
939
|
-
|
|
940
|
-
out float dataFilter_value;
|
|
941
|
-
|
|
942
|
-
float dataFilter_reduceValue(float value) {
|
|
943
|
-
return value;
|
|
944
|
-
}
|
|
945
|
-
float dataFilter_reduceValue(vec2 value) {
|
|
946
|
-
return min(value.x, value.y);
|
|
947
|
-
}
|
|
948
|
-
float dataFilter_reduceValue(vec3 value) {
|
|
949
|
-
return min(min(value.x, value.y), value.z);
|
|
950
|
-
}
|
|
951
|
-
float dataFilter_reduceValue(vec4 value) {
|
|
952
|
-
return min(min(value.x, value.y), min(value.z, value.w));
|
|
953
|
-
}
|
|
954
|
-
void dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax, DATACATEGORY_TYPE category) {
|
|
955
|
-
if (filter_enabled) {
|
|
956
|
-
if (filter_useSoftMargin) {
|
|
957
|
-
dataFilter_value = dataFilter_reduceValue(
|
|
958
|
-
smoothstep(filter_min, filter_softMin, valueFromMin) *
|
|
959
|
-
(1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))
|
|
960
|
-
);
|
|
961
|
-
} else {
|
|
962
|
-
dataFilter_value = dataFilter_reduceValue(
|
|
963
|
-
step(filter_min, valueFromMin) * step(valueFromMax, filter_max)
|
|
964
|
-
);
|
|
965
|
-
}
|
|
966
|
-
|
|
967
|
-
#if DATACATEGORY_CHANNELS == 1 // One 128-bit mask
|
|
968
|
-
int dataFilter_masks = filter_categoryBitMask[int(category / 32.0)];
|
|
969
|
-
#elif DATACATEGORY_CHANNELS == 2 // Two 64-bit masks
|
|
970
|
-
ivec2 dataFilter_masks = ivec2(
|
|
971
|
-
filter_categoryBitMask[int(category.x / 32.0)],
|
|
972
|
-
filter_categoryBitMask[int(category.y / 32.0) + 2]
|
|
973
|
-
);
|
|
974
|
-
#elif DATACATEGORY_CHANNELS == 3 // Three 32-bit masks
|
|
975
|
-
ivec3 dataFilter_masks = filter_categoryBitMask.xyz;
|
|
976
|
-
#else // Four 32-bit masks
|
|
977
|
-
ivec4 dataFilter_masks = filter_categoryBitMask;
|
|
978
|
-
#endif
|
|
979
|
-
|
|
980
|
-
// Shift mask and extract relevant bits
|
|
981
|
-
DATACATEGORY_TYPE dataFilter_bits = DATACATEGORY_TYPE(dataFilter_masks) / pow(DATACATEGORY_TYPE(2.0), mod(category, 32.0));
|
|
982
|
-
dataFilter_bits = mod(floor(dataFilter_bits), 2.0);
|
|
983
|
-
|
|
984
|
-
#if DATACATEGORY_CHANNELS == 1
|
|
985
|
-
if(dataFilter_bits == 0.0) dataFilter_value = 0.0;
|
|
986
|
-
#else
|
|
987
|
-
if(any(equal(dataFilter_bits, DATACATEGORY_TYPE(0.0)))) dataFilter_value = 0.0;
|
|
988
|
-
#endif
|
|
989
|
-
} else {
|
|
990
|
-
dataFilter_value = 1.0;
|
|
991
|
-
}
|
|
992
|
-
}
|
|
993
|
-
`;
|
|
994
|
-
var fs2 = `
|
|
995
|
-
uniform bool filter_transformColor;
|
|
996
|
-
in float dataFilter_value;
|
|
997
|
-
`;
|
|
998
|
-
function getUniforms(opts) {
|
|
999
|
-
if (!opts || !("extensions" in opts)) {
|
|
1000
|
-
return {};
|
|
1001
|
-
}
|
|
1002
|
-
const {
|
|
1003
|
-
filterRange = [-1, 1],
|
|
1004
|
-
filterEnabled = true,
|
|
1005
|
-
filterTransformSize = true,
|
|
1006
|
-
filterTransformColor = true
|
|
1007
|
-
} = opts;
|
|
1008
|
-
const filterSoftRange = opts.filterSoftRange || filterRange;
|
|
1009
|
-
return {
|
|
1010
|
-
...Number.isFinite(filterRange[0]) ? {
|
|
1011
|
-
filter_min: filterRange[0],
|
|
1012
|
-
filter_softMin: filterSoftRange[0],
|
|
1013
|
-
filter_softMax: filterSoftRange[1],
|
|
1014
|
-
filter_max: filterRange[1]
|
|
1015
|
-
} : {
|
|
1016
|
-
filter_min: filterRange.map((r) => r[0]),
|
|
1017
|
-
filter_softMin: filterSoftRange.map((r) => r[0]),
|
|
1018
|
-
filter_softMax: filterSoftRange.map((r) => r[1]),
|
|
1019
|
-
filter_max: filterRange.map((r) => r[1])
|
|
1020
|
-
},
|
|
1021
|
-
filter_enabled: filterEnabled,
|
|
1022
|
-
filter_useSoftMargin: Boolean(opts.filterSoftRange),
|
|
1023
|
-
filter_transformSize: filterEnabled && filterTransformSize,
|
|
1024
|
-
filter_transformColor: filterEnabled && filterTransformColor
|
|
1025
|
-
};
|
|
1026
|
-
}
|
|
1027
|
-
function getUniforms64(opts) {
|
|
1028
|
-
if (!opts || !("extensions" in opts)) {
|
|
1029
|
-
return {};
|
|
1030
|
-
}
|
|
1031
|
-
const uniforms = getUniforms(opts);
|
|
1032
|
-
if (Number.isFinite(uniforms.filter_min)) {
|
|
1033
|
-
const min64High = Math.fround(uniforms.filter_min);
|
|
1034
|
-
uniforms.filter_min -= min64High;
|
|
1035
|
-
uniforms.filter_softMin -= min64High;
|
|
1036
|
-
uniforms.filter_min64High = min64High;
|
|
1037
|
-
const max64High = Math.fround(uniforms.filter_max);
|
|
1038
|
-
uniforms.filter_max -= max64High;
|
|
1039
|
-
uniforms.filter_softMax -= max64High;
|
|
1040
|
-
uniforms.filter_max64High = max64High;
|
|
1041
|
-
} else {
|
|
1042
|
-
const min64High = uniforms.filter_min.map(Math.fround);
|
|
1043
|
-
uniforms.filter_min = uniforms.filter_min.map((x, i) => x - min64High[i]);
|
|
1044
|
-
uniforms.filter_softMin = uniforms.filter_softMin.map((x, i) => x - min64High[i]);
|
|
1045
|
-
uniforms.filter_min64High = min64High;
|
|
1046
|
-
const max64High = uniforms.filter_max.map(Math.fround);
|
|
1047
|
-
uniforms.filter_max = uniforms.filter_max.map((x, i) => x - max64High[i]);
|
|
1048
|
-
uniforms.filter_softMax = uniforms.filter_softMax.map((x, i) => x - max64High[i]);
|
|
1049
|
-
uniforms.filter_max64High = max64High;
|
|
1050
|
-
}
|
|
1051
|
-
return uniforms;
|
|
1052
|
-
}
|
|
1053
|
-
var inject2 = {
|
|
1054
|
-
"vs:#main-start": `
|
|
1055
|
-
#ifdef DATAFILTER_DOUBLE
|
|
1056
|
-
dataFilter_setValue(
|
|
1057
|
-
DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,
|
|
1058
|
-
DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW,
|
|
1059
|
-
DATACATEGORY_ATTRIB
|
|
1060
|
-
);
|
|
1061
|
-
#else
|
|
1062
|
-
dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB, DATACATEGORY_ATTRIB);
|
|
1063
|
-
#endif
|
|
1064
|
-
`,
|
|
1065
|
-
"vs:#main-end": `
|
|
1066
|
-
if (dataFilter_value == 0.0) {
|
|
1067
|
-
gl_Position = vec4(0.);
|
|
1068
|
-
}
|
|
1069
|
-
`,
|
|
1070
|
-
"vs:DECKGL_FILTER_SIZE": `
|
|
1071
|
-
if (filter_transformSize) {
|
|
1072
|
-
size = size * dataFilter_value;
|
|
1073
|
-
}
|
|
1074
|
-
`,
|
|
1075
|
-
"fs:DECKGL_FILTER_COLOR": `
|
|
1076
|
-
if (dataFilter_value == 0.0) discard;
|
|
1077
|
-
if (filter_transformColor) {
|
|
1078
|
-
color.a *= dataFilter_value;
|
|
1079
|
-
}
|
|
1080
|
-
`
|
|
1081
|
-
};
|
|
1082
|
-
var shaderModule = {
|
|
1083
|
-
name: "data-filter",
|
|
1084
|
-
vs: vs2,
|
|
1085
|
-
fs: fs2,
|
|
1086
|
-
inject: inject2,
|
|
1087
|
-
getUniforms
|
|
1088
|
-
};
|
|
1089
|
-
var shaderModule64 = {
|
|
1090
|
-
name: "data-filter-fp64",
|
|
1091
|
-
vs: vs2,
|
|
1092
|
-
fs: fs2,
|
|
1093
|
-
inject: inject2,
|
|
1094
|
-
getUniforms: getUniforms64
|
|
1095
|
-
};
|
|
1054
|
+
GLEnum2[GLEnum2["COMPLETION_STATUS_KHR"] = 37297] = "COMPLETION_STATUS_KHR";
|
|
1055
|
+
GLEnum2[GLEnum2["DEPTH_CLAMP_EXT"] = 34383] = "DEPTH_CLAMP_EXT";
|
|
1056
|
+
GLEnum2[GLEnum2["FIRST_VERTEX_CONVENTION_WEBGL"] = 36429] = "FIRST_VERTEX_CONVENTION_WEBGL";
|
|
1057
|
+
GLEnum2[GLEnum2["LAST_VERTEX_CONVENTION_WEBGL"] = 36430] = "LAST_VERTEX_CONVENTION_WEBGL";
|
|
1058
|
+
GLEnum2[GLEnum2["PROVOKING_VERTEX_WEBL"] = 36431] = "PROVOKING_VERTEX_WEBL";
|
|
1059
|
+
GLEnum2[GLEnum2["POLYGON_MODE_WEBGL"] = 2880] = "POLYGON_MODE_WEBGL";
|
|
1060
|
+
GLEnum2[GLEnum2["POLYGON_OFFSET_LINE_WEBGL"] = 10754] = "POLYGON_OFFSET_LINE_WEBGL";
|
|
1061
|
+
GLEnum2[GLEnum2["LINE_WEBGL"] = 6913] = "LINE_WEBGL";
|
|
1062
|
+
GLEnum2[GLEnum2["FILL_WEBGL"] = 6914] = "FILL_WEBGL";
|
|
1063
|
+
GLEnum2[GLEnum2["MAX_CLIP_DISTANCES_WEBGL"] = 3378] = "MAX_CLIP_DISTANCES_WEBGL";
|
|
1064
|
+
GLEnum2[GLEnum2["MAX_CULL_DISTANCES_WEBGL"] = 33529] = "MAX_CULL_DISTANCES_WEBGL";
|
|
1065
|
+
GLEnum2[GLEnum2["MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL"] = 33530] = "MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL";
|
|
1066
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE0_WEBGL"] = 12288] = "CLIP_DISTANCE0_WEBGL";
|
|
1067
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE1_WEBGL"] = 12289] = "CLIP_DISTANCE1_WEBGL";
|
|
1068
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE2_WEBGL"] = 12290] = "CLIP_DISTANCE2_WEBGL";
|
|
1069
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE3_WEBGL"] = 12291] = "CLIP_DISTANCE3_WEBGL";
|
|
1070
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE4_WEBGL"] = 12292] = "CLIP_DISTANCE4_WEBGL";
|
|
1071
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE5_WEBGL"] = 12293] = "CLIP_DISTANCE5_WEBGL";
|
|
1072
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE6_WEBGL"] = 12294] = "CLIP_DISTANCE6_WEBGL";
|
|
1073
|
+
GLEnum2[GLEnum2["CLIP_DISTANCE7_WEBGL"] = 12295] = "CLIP_DISTANCE7_WEBGL";
|
|
1074
|
+
GLEnum2[GLEnum2["POLYGON_OFFSET_CLAMP_EXT"] = 36379] = "POLYGON_OFFSET_CLAMP_EXT";
|
|
1075
|
+
GLEnum2[GLEnum2["LOWER_LEFT_EXT"] = 36001] = "LOWER_LEFT_EXT";
|
|
1076
|
+
GLEnum2[GLEnum2["UPPER_LEFT_EXT"] = 36002] = "UPPER_LEFT_EXT";
|
|
1077
|
+
GLEnum2[GLEnum2["NEGATIVE_ONE_TO_ONE_EXT"] = 37726] = "NEGATIVE_ONE_TO_ONE_EXT";
|
|
1078
|
+
GLEnum2[GLEnum2["ZERO_TO_ONE_EXT"] = 37727] = "ZERO_TO_ONE_EXT";
|
|
1079
|
+
GLEnum2[GLEnum2["CLIP_ORIGIN_EXT"] = 37724] = "CLIP_ORIGIN_EXT";
|
|
1080
|
+
GLEnum2[GLEnum2["CLIP_DEPTH_MODE_EXT"] = 37725] = "CLIP_DEPTH_MODE_EXT";
|
|
1081
|
+
GLEnum2[GLEnum2["SRC1_COLOR_WEBGL"] = 35065] = "SRC1_COLOR_WEBGL";
|
|
1082
|
+
GLEnum2[GLEnum2["SRC1_ALPHA_WEBGL"] = 34185] = "SRC1_ALPHA_WEBGL";
|
|
1083
|
+
GLEnum2[GLEnum2["ONE_MINUS_SRC1_COLOR_WEBGL"] = 35066] = "ONE_MINUS_SRC1_COLOR_WEBGL";
|
|
1084
|
+
GLEnum2[GLEnum2["ONE_MINUS_SRC1_ALPHA_WEBGL"] = 35067] = "ONE_MINUS_SRC1_ALPHA_WEBGL";
|
|
1085
|
+
GLEnum2[GLEnum2["MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL"] = 35068] = "MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL";
|
|
1086
|
+
GLEnum2[GLEnum2["MIRROR_CLAMP_TO_EDGE_EXT"] = 34627] = "MIRROR_CLAMP_TO_EDGE_EXT";
|
|
1087
|
+
})(GLEnum || (GLEnum = {}));
|
|
1096
1088
|
|
|
1097
1089
|
// src/data-filter/aggregator.ts
|
|
1098
|
-
var import_engine = __toESM(require_engine(), 1);
|
|
1099
1090
|
var AGGREGATE_VS = `#version 300 es
|
|
1100
1091
|
#define SHADER_NAME data-filter-vertex-shader
|
|
1101
1092
|
|
|
@@ -1143,11 +1134,12 @@ void main() {
|
|
|
1143
1134
|
fragColor = vColor;
|
|
1144
1135
|
}
|
|
1145
1136
|
`;
|
|
1137
|
+
var FLOAT_TARGET_FEATURES = [
|
|
1138
|
+
"float32-renderable-webgl",
|
|
1139
|
+
"texture-blend-float-webgl"
|
|
1140
|
+
];
|
|
1146
1141
|
function supportsFloatTarget(device) {
|
|
1147
|
-
|
|
1148
|
-
return Boolean(
|
|
1149
|
-
gl.getExtension("EXT_float_blend") && (gl.getExtension("EXT_color_buffer_float") || gl.getExtension("WEBGL_color_buffer_float"))
|
|
1150
|
-
);
|
|
1142
|
+
return FLOAT_TARGET_FEATURES.every((feature) => device.features.has(feature));
|
|
1151
1143
|
}
|
|
1152
1144
|
function getFramebuffer(device, useFloatTarget) {
|
|
1153
1145
|
if (useFloatTarget) {
|
|
@@ -1156,7 +1148,7 @@ void main() {
|
|
|
1156
1148
|
height: 1,
|
|
1157
1149
|
colorAttachments: [
|
|
1158
1150
|
device.createTexture({
|
|
1159
|
-
format:
|
|
1151
|
+
format: "rgba32float",
|
|
1160
1152
|
type: GLEnum.FLOAT,
|
|
1161
1153
|
mipmaps: false
|
|
1162
1154
|
})
|
|
@@ -1238,7 +1230,7 @@ void main() {
|
|
|
1238
1230
|
attributeManager.add({
|
|
1239
1231
|
filterValues: {
|
|
1240
1232
|
size: filterSize,
|
|
1241
|
-
type: fp642 ?
|
|
1233
|
+
type: fp642 ? "float64" : "float32",
|
|
1242
1234
|
accessor: "getFilterValue",
|
|
1243
1235
|
shaderAttributes: {
|
|
1244
1236
|
filterValues: {
|
|
@@ -1251,7 +1243,6 @@ void main() {
|
|
|
1251
1243
|
},
|
|
1252
1244
|
filterCategoryValues: {
|
|
1253
1245
|
size: categorySize,
|
|
1254
|
-
type: GLEnum.FLOAT,
|
|
1255
1246
|
accessor: "getFilterCategory",
|
|
1256
1247
|
transform: categorySize === 1 ? (d) => extension._getCategoryKey.call(this, d, 0) : (d) => d.map((x, i) => extension._getCategoryKey.call(this, x, i)),
|
|
1257
1248
|
shaderAttributes: {
|
|
@@ -1272,8 +1263,7 @@ void main() {
|
|
|
1272
1263
|
filterIndices: {
|
|
1273
1264
|
size: useFloatTarget ? 1 : 2,
|
|
1274
1265
|
vertexOffset: 1,
|
|
1275
|
-
type:
|
|
1276
|
-
normalized: true,
|
|
1266
|
+
type: "unorm8",
|
|
1277
1267
|
accessor: (object, { index }) => {
|
|
1278
1268
|
const i = object && object.__source ? object.__source.index : index;
|
|
1279
1269
|
return useFloatTarget ? (i + 1) % 255 : [(i + 1) % 255, Math.floor(i / 255) % 255];
|
|
@@ -1403,12 +1393,10 @@ void main() {
|
|
|
1403
1393
|
var import_core6 = __toESM(require_core(), 1);
|
|
1404
1394
|
|
|
1405
1395
|
// ../../node_modules/@luma.gl/shadertools/dist/lib/glsl-utils/highlight.js
|
|
1406
|
-
var
|
|
1396
|
+
var glsl2 = (x) => `${x}`;
|
|
1407
1397
|
|
|
1408
1398
|
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-utils.js
|
|
1409
|
-
function fp64ify(a) {
|
|
1410
|
-
let out = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
1411
|
-
let startIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
|
|
1399
|
+
function fp64ify(a, out = [], startIndex = 0) {
|
|
1412
1400
|
const hiPart = Math.fround(a);
|
|
1413
1401
|
const loPart = a - hiPart;
|
|
1414
1402
|
out[startIndex] = hiPart;
|
|
@@ -1429,8 +1417,8 @@ void main() {
|
|
|
1429
1417
|
return matrixFP64;
|
|
1430
1418
|
}
|
|
1431
1419
|
|
|
1432
|
-
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-arithmetic
|
|
1433
|
-
var fp64arithmeticShader =
|
|
1420
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-arithmetic-glsl.js
|
|
1421
|
+
var fp64arithmeticShader = glsl2`\
|
|
1434
1422
|
uniform float ONE;
|
|
1435
1423
|
|
|
1436
1424
|
/*
|
|
@@ -1598,8 +1586,8 @@ vec2 sqrt_fp64(vec2 a) {
|
|
|
1598
1586
|
}
|
|
1599
1587
|
`;
|
|
1600
1588
|
|
|
1601
|
-
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-functions
|
|
1602
|
-
var fp64functionShader =
|
|
1589
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-functions-glsl.js
|
|
1590
|
+
var fp64functionShader = glsl2`\
|
|
1603
1591
|
const vec2 E_FP64 = vec2(2.7182817459106445e+00, 8.254840366817007e-08);
|
|
1604
1592
|
const vec2 LOG2_FP64 = vec2(0.6931471824645996e+00, -1.9046542121259336e-09);
|
|
1605
1593
|
const vec2 PI_FP64 = vec2(3.1415927410125732, -8.742278012618954e-8);
|
|
@@ -3098,9 +3086,9 @@ in float instanceOffsets;
|
|
|
3098
3086
|
// src/fill-style/fill-style-extension.ts
|
|
3099
3087
|
var import_core10 = __toESM(require_core(), 1);
|
|
3100
3088
|
|
|
3101
|
-
// src/fill-style/
|
|
3089
|
+
// src/fill-style/shader-module.ts
|
|
3102
3090
|
var import_core9 = __toESM(require_core(), 1);
|
|
3103
|
-
var patternVs = `
|
|
3091
|
+
var patternVs = glsl`
|
|
3104
3092
|
#ifdef NON_INSTANCED_MODEL
|
|
3105
3093
|
#define FILL_PATTERN_FRAME_ATTRIB fillPatternFrames
|
|
3106
3094
|
#define FILL_PATTERN_SCALE_ATTRIB fillPatternScales
|
|
@@ -3122,7 +3110,7 @@ out vec2 fill_uv;
|
|
|
3122
3110
|
out vec4 fill_patternBounds;
|
|
3123
3111
|
out vec4 fill_patternPlacement;
|
|
3124
3112
|
`;
|
|
3125
|
-
var patternFs = `
|
|
3113
|
+
var patternFs = glsl`
|
|
3126
3114
|
uniform bool fill_patternEnabled;
|
|
3127
3115
|
uniform bool fill_patternMask;
|
|
3128
3116
|
uniform sampler2D fill_patternTexture;
|
|
@@ -3136,17 +3124,17 @@ in vec2 fill_uv;
|
|
|
3136
3124
|
const float FILL_UV_SCALE = 512.0 / 40000000.0;
|
|
3137
3125
|
`;
|
|
3138
3126
|
var inject3 = {
|
|
3139
|
-
"vs:DECKGL_FILTER_GL_POSITION": `
|
|
3127
|
+
"vs:DECKGL_FILTER_GL_POSITION": glsl`
|
|
3140
3128
|
fill_uv = geometry.position.xy;
|
|
3141
3129
|
`,
|
|
3142
|
-
"vs:DECKGL_FILTER_COLOR": `
|
|
3130
|
+
"vs:DECKGL_FILTER_COLOR": glsl`
|
|
3143
3131
|
if (fill_patternEnabled) {
|
|
3144
3132
|
fill_patternBounds = FILL_PATTERN_FRAME_ATTRIB / vec4(fill_patternTextureSize, fill_patternTextureSize);
|
|
3145
3133
|
fill_patternPlacement.xy = FILL_PATTERN_OFFSET_ATTRIB;
|
|
3146
3134
|
fill_patternPlacement.zw = FILL_PATTERN_SCALE_ATTRIB * FILL_PATTERN_FRAME_ATTRIB.zw;
|
|
3147
3135
|
}
|
|
3148
3136
|
`,
|
|
3149
|
-
"fs:DECKGL_FILTER_COLOR": `
|
|
3137
|
+
"fs:DECKGL_FILTER_COLOR": glsl`
|
|
3150
3138
|
if (fill_patternEnabled) {
|
|
3151
3139
|
vec2 scale = FILL_UV_SCALE * fill_patternPlacement.zw;
|
|
3152
3140
|
vec2 patternUV = mod(mod(fill_uvCoordinateOrigin, scale) + fill_uvCoordinateOrigin64Low + fill_uv, scale) / scale;
|
|
@@ -3321,7 +3309,7 @@ const float FILL_UV_SCALE = 512.0 / 40000000.0;
|
|
|
3321
3309
|
clipBounds: [0, 0, 1, 1],
|
|
3322
3310
|
clipByInstance: void 0
|
|
3323
3311
|
};
|
|
3324
|
-
var shaderFunction = `
|
|
3312
|
+
var shaderFunction = glsl`
|
|
3325
3313
|
uniform vec4 clip_bounds;
|
|
3326
3314
|
|
|
3327
3315
|
bool clip_isInBounds(vec2 position) {
|
|
@@ -3333,16 +3321,16 @@ bool clip_isInBounds(vec2 position) {
|
|
|
3333
3321
|
vs: shaderFunction
|
|
3334
3322
|
};
|
|
3335
3323
|
var injectionVs = {
|
|
3336
|
-
"vs:#decl": `
|
|
3324
|
+
"vs:#decl": glsl`
|
|
3337
3325
|
out float clip_isVisible;
|
|
3338
3326
|
`,
|
|
3339
|
-
"vs:DECKGL_FILTER_GL_POSITION": `
|
|
3327
|
+
"vs:DECKGL_FILTER_GL_POSITION": glsl`
|
|
3340
3328
|
clip_isVisible = float(clip_isInBounds(geometry.worldPosition.xy));
|
|
3341
3329
|
`,
|
|
3342
|
-
"fs:#decl": `
|
|
3330
|
+
"fs:#decl": glsl`
|
|
3343
3331
|
in float clip_isVisible;
|
|
3344
3332
|
`,
|
|
3345
|
-
"fs:DECKGL_FILTER_COLOR": `
|
|
3333
|
+
"fs:DECKGL_FILTER_COLOR": glsl`
|
|
3346
3334
|
if (clip_isVisible < 0.5) discard;
|
|
3347
3335
|
`
|
|
3348
3336
|
};
|
|
@@ -3351,16 +3339,16 @@ in float clip_isVisible;
|
|
|
3351
3339
|
fs: shaderFunction
|
|
3352
3340
|
};
|
|
3353
3341
|
var injectionFs = {
|
|
3354
|
-
"vs:#decl": `
|
|
3342
|
+
"vs:#decl": glsl`
|
|
3355
3343
|
out vec2 clip_commonPosition;
|
|
3356
3344
|
`,
|
|
3357
|
-
"vs:DECKGL_FILTER_GL_POSITION": `
|
|
3345
|
+
"vs:DECKGL_FILTER_GL_POSITION": glsl`
|
|
3358
3346
|
clip_commonPosition = geometry.position.xy;
|
|
3359
3347
|
`,
|
|
3360
|
-
"fs:#decl": `
|
|
3348
|
+
"fs:#decl": glsl`
|
|
3361
3349
|
in vec2 clip_commonPosition;
|
|
3362
3350
|
`,
|
|
3363
|
-
"fs:DECKGL_FILTER_COLOR": `
|
|
3351
|
+
"fs:DECKGL_FILTER_COLOR": glsl`
|
|
3364
3352
|
if (!clip_isInBounds(clip_commonPosition)) discard;
|
|
3365
3353
|
`
|
|
3366
3354
|
};
|
|
@@ -3403,7 +3391,7 @@ in vec2 clip_commonPosition;
|
|
|
3403
3391
|
|
|
3404
3392
|
// src/collision-filter/shader-module.ts
|
|
3405
3393
|
var import_core12 = __toESM(require_core(), 1);
|
|
3406
|
-
var vs3 = `
|
|
3394
|
+
var vs3 = glsl`
|
|
3407
3395
|
#ifdef NON_INSTANCED_MODEL
|
|
3408
3396
|
in float collisionPriorities;
|
|
3409
3397
|
#else
|
|
@@ -3454,10 +3442,10 @@ float collision_isVisible(vec2 texCoords, vec3 pickingColor) {
|
|
|
3454
3442
|
}
|
|
3455
3443
|
`;
|
|
3456
3444
|
var inject4 = {
|
|
3457
|
-
"vs:#decl": `
|
|
3445
|
+
"vs:#decl": glsl`
|
|
3458
3446
|
float collision_fade = 1.0;
|
|
3459
3447
|
`,
|
|
3460
|
-
"vs:DECKGL_FILTER_GL_POSITION": `
|
|
3448
|
+
"vs:DECKGL_FILTER_GL_POSITION": glsl`
|
|
3461
3449
|
if (collision_sort) {
|
|
3462
3450
|
#ifdef NON_INSTANCED_MODEL
|
|
3463
3451
|
float collisionPriority = collisionPriorities;
|
|
@@ -3477,7 +3465,7 @@ float collision_isVisible(vec2 texCoords, vec3 pickingColor) {
|
|
|
3477
3465
|
}
|
|
3478
3466
|
}
|
|
3479
3467
|
`,
|
|
3480
|
-
"vs:DECKGL_FILTER_COLOR": `
|
|
3468
|
+
"vs:DECKGL_FILTER_COLOR": glsl`
|
|
3481
3469
|
color.a *= collision_fade;
|
|
3482
3470
|
`
|
|
3483
3471
|
};
|
|
@@ -4096,14 +4084,14 @@ float collision_isVisible(vec2 texCoords, vec3 pickingColor) {
|
|
|
4096
4084
|
|
|
4097
4085
|
// src/mask/shader-module.ts
|
|
4098
4086
|
var import_core21 = __toESM(require_core(), 1);
|
|
4099
|
-
var vs4 = `
|
|
4087
|
+
var vs4 = glsl`
|
|
4100
4088
|
uniform vec4 mask_bounds;
|
|
4101
4089
|
uniform bool mask_maskByInstance;
|
|
4102
4090
|
vec2 mask_getCoords(vec4 position) {
|
|
4103
4091
|
return (position.xy - mask_bounds.xy) / (mask_bounds.zw - mask_bounds.xy);
|
|
4104
4092
|
}
|
|
4105
4093
|
`;
|
|
4106
|
-
var fs3 = `
|
|
4094
|
+
var fs3 = glsl`
|
|
4107
4095
|
uniform sampler2D mask_texture;
|
|
4108
4096
|
uniform int mask_channel;
|
|
4109
4097
|
uniform bool mask_enabled;
|
|
@@ -4132,10 +4120,10 @@ bool mask_isInBounds(vec2 texCoords) {
|
|
|
4132
4120
|
}
|
|
4133
4121
|
`;
|
|
4134
4122
|
var inject5 = {
|
|
4135
|
-
"vs:#decl": `
|
|
4123
|
+
"vs:#decl": glsl`
|
|
4136
4124
|
out vec2 mask_texCoords;
|
|
4137
4125
|
`,
|
|
4138
|
-
"vs:#main-end": `
|
|
4126
|
+
"vs:#main-end": glsl`
|
|
4139
4127
|
vec4 mask_common_position;
|
|
4140
4128
|
if (mask_maskByInstance) {
|
|
4141
4129
|
mask_common_position = project_position(vec4(geometry.worldPosition, 1.0));
|
|
@@ -4144,10 +4132,10 @@ out vec2 mask_texCoords;
|
|
|
4144
4132
|
}
|
|
4145
4133
|
mask_texCoords = mask_getCoords(mask_common_position);
|
|
4146
4134
|
`,
|
|
4147
|
-
"fs:#decl": `
|
|
4135
|
+
"fs:#decl": glsl`
|
|
4148
4136
|
in vec2 mask_texCoords;
|
|
4149
4137
|
`,
|
|
4150
|
-
"fs:#main-start": `
|
|
4138
|
+
"fs:#main-start": glsl`
|
|
4151
4139
|
if (mask_enabled) {
|
|
4152
4140
|
bool mask = mask_isInBounds(mask_texCoords);
|
|
4153
4141
|
|
|
@@ -4246,20 +4234,19 @@ in vec2 mask_texCoords;
|
|
|
4246
4234
|
name: "terrain",
|
|
4247
4235
|
dependencies: [import_core23.project],
|
|
4248
4236
|
inject: {
|
|
4249
|
-
"vs:#decl": `
|
|
4237
|
+
"vs:#decl": glsl`
|
|
4250
4238
|
uniform float terrain_mode;
|
|
4251
4239
|
uniform sampler2D terrain_map;
|
|
4252
4240
|
uniform vec4 terrain_bounds;
|
|
4253
4241
|
out vec3 commonPos;
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
"vs:#main-start": `
|
|
4242
|
+
` + TERRAIN_MODE_CONSTANTS,
|
|
4243
|
+
"vs:#main-start": glsl`
|
|
4257
4244
|
if (terrain_mode == TERRAIN_MODE_SKIP) {
|
|
4258
4245
|
gl_Position = vec4(0.0);
|
|
4259
4246
|
return;
|
|
4260
4247
|
}
|
|
4261
4248
|
`,
|
|
4262
|
-
"vs:DECKGL_FILTER_GL_POSITION": `
|
|
4249
|
+
"vs:DECKGL_FILTER_GL_POSITION": glsl`
|
|
4263
4250
|
commonPos = geometry.position.xyz;
|
|
4264
4251
|
if (terrain_mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {
|
|
4265
4252
|
vec2 texCoords = (commonPos.xy - terrain_bounds.xy) / terrain_bounds.zw;
|
|
@@ -4278,20 +4265,19 @@ if (terrain_mode == TERRAIN_MODE_USE_HEIGHT_MAP) {
|
|
|
4278
4265
|
}
|
|
4279
4266
|
}
|
|
4280
4267
|
`,
|
|
4281
|
-
"fs:#decl": `
|
|
4268
|
+
"fs:#decl": glsl`
|
|
4282
4269
|
uniform float terrain_mode;
|
|
4283
4270
|
uniform sampler2D terrain_map;
|
|
4284
4271
|
uniform vec4 terrain_bounds;
|
|
4285
4272
|
in vec3 commonPos;
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
"fs:#main-start": `
|
|
4273
|
+
` + TERRAIN_MODE_CONSTANTS,
|
|
4274
|
+
"fs:#main-start": glsl`
|
|
4289
4275
|
if (terrain_mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {
|
|
4290
4276
|
fragColor = vec4(commonPos.z, 0.0, 0.0, 1.0);
|
|
4291
4277
|
return;
|
|
4292
4278
|
}
|
|
4293
4279
|
`,
|
|
4294
|
-
"fs:DECKGL_FILTER_COLOR": `
|
|
4280
|
+
"fs:DECKGL_FILTER_COLOR": glsl`
|
|
4295
4281
|
if ((terrain_mode == TERRAIN_MODE_USE_COVER) || (terrain_mode == TERRAIN_MODE_USE_COVER_ONLY)) {
|
|
4296
4282
|
vec2 texCoords = (commonPos.xy - terrain_bounds.xy) / terrain_bounds.zw;
|
|
4297
4283
|
vec4 pixel = texture(terrain_map, texCoords);
|
|
@@ -4362,7 +4348,7 @@ if ((terrain_mode == TERRAIN_MODE_USE_COVER) || (terrain_mode == TERRAIN_MODE_US
|
|
|
4362
4348
|
colorAttachments: [
|
|
4363
4349
|
device.createTexture({
|
|
4364
4350
|
...opts.float && {
|
|
4365
|
-
format:
|
|
4351
|
+
format: "rgba32float",
|
|
4366
4352
|
type: GLEnum.FLOAT
|
|
4367
4353
|
},
|
|
4368
4354
|
mipmaps: false,
|