@deck.gl/extensions 9.0.40 → 9.1.0-beta.3
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/brushing-extension.d.ts +1 -0
- package/dist/brushing/brushing-extension.d.ts.map +1 -1
- package/dist/brushing/brushing-extension.js +16 -19
- package/dist/brushing/brushing-extension.js.map +1 -0
- package/dist/brushing/shader-module.d.ts +8 -2
- package/dist/brushing/shader-module.d.ts.map +1 -1
- package/dist/brushing/shader-module.js +75 -50
- package/dist/brushing/shader-module.js.map +1 -0
- package/dist/clip/clip-extension.d.ts +5 -2
- package/dist/clip/clip-extension.d.ts.map +1 -1
- package/dist/clip/clip-extension.js +37 -42
- package/dist/clip/clip-extension.js.map +1 -0
- package/dist/collision-filter/collision-filter-effect.d.ts +4 -4
- package/dist/collision-filter/collision-filter-effect.d.ts.map +1 -1
- package/dist/collision-filter/collision-filter-effect.js +28 -13
- package/dist/collision-filter/collision-filter-effect.js.map +1 -0
- package/dist/collision-filter/collision-filter-extension.d.ts +1 -1
- package/dist/collision-filter/collision-filter-extension.d.ts.map +1 -1
- package/dist/collision-filter/collision-filter-extension.js +6 -6
- package/dist/collision-filter/collision-filter-extension.js.map +1 -0
- package/dist/collision-filter/collision-filter-pass.d.ts +9 -5
- package/dist/collision-filter/collision-filter-pass.d.ts.map +1 -1
- package/dist/collision-filter/collision-filter-pass.js +15 -4
- package/dist/collision-filter/collision-filter-pass.js.map +1 -0
- package/dist/collision-filter/shader-module.d.ts +3 -2
- package/dist/collision-filter/shader-module.d.ts.map +1 -1
- package/dist/collision-filter/shader-module.js +75 -52
- package/dist/collision-filter/shader-module.js.map +1 -0
- package/dist/data-filter/aggregator.d.ts +4 -10
- package/dist/data-filter/aggregator.d.ts.map +1 -1
- package/dist/data-filter/aggregator.js +15 -8
- package/dist/data-filter/aggregator.js.map +1 -0
- package/dist/data-filter/data-filter-extension.d.ts.map +1 -1
- package/dist/data-filter/data-filter-extension.js +49 -39
- package/dist/data-filter/data-filter-extension.js.map +1 -0
- package/dist/data-filter/shader-module.d.ts +12 -5
- package/dist/data-filter/shader-module.d.ts.map +1 -1
- package/dist/data-filter/shader-module.js +190 -131
- package/dist/data-filter/shader-module.js.map +1 -0
- package/dist/dist.dev.js +2720 -2037
- package/dist/fill-style/fill-style-extension.d.ts.map +1 -1
- package/dist/fill-style/fill-style-extension.js +12 -4
- package/dist/fill-style/fill-style-extension.js.map +1 -0
- package/dist/fill-style/shader-module.d.ts +64 -6
- package/dist/fill-style/shader-module.d.ts.map +1 -1
- package/dist/fill-style/shader-module.js +74 -51
- package/dist/fill-style/shader-module.js.map +1 -0
- package/dist/fp64/fp64-extension.d.ts +1 -0
- package/dist/fp64/fp64-extension.d.ts.map +1 -1
- package/dist/fp64/fp64-extension.js +8 -19
- package/dist/fp64/fp64-extension.js.map +1 -0
- package/dist/fp64/project64.d.ts +2 -2
- package/dist/fp64/project64.d.ts.map +1 -1
- package/dist/fp64/project64.glsl.d.ts +1 -1
- package/dist/fp64/project64.glsl.d.ts.map +1 -1
- package/dist/fp64/project64.glsl.js +19 -21
- package/dist/fp64/project64.glsl.js.map +1 -0
- package/dist/fp64/project64.js +25 -24
- package/dist/fp64/project64.js.map +1 -0
- package/dist/index.cjs +1034 -528
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/mask/mask-effect.d.ts +5 -3
- package/dist/mask/mask-effect.d.ts.map +1 -1
- package/dist/mask/mask-effect.js +13 -5
- package/dist/mask/mask-effect.js.map +1 -0
- package/dist/mask/mask-extension.d.ts +1 -1
- package/dist/mask/mask-extension.d.ts.map +1 -1
- package/dist/mask/mask-extension.js +14 -8
- package/dist/mask/mask-extension.js.map +1 -0
- package/dist/mask/mask-pass.d.ts +2 -43
- package/dist/mask/mask-pass.d.ts.map +1 -1
- package/dist/mask/mask-pass.js +5 -1
- package/dist/mask/mask-pass.js.map +1 -0
- package/dist/mask/shader-module.d.ts +60 -3
- package/dist/mask/shader-module.d.ts.map +1 -1
- package/dist/mask/shader-module.js +74 -46
- package/dist/mask/shader-module.js.map +1 -0
- package/dist/path-style/path-style-extension.d.ts.map +1 -1
- package/dist/path-style/path-style-extension.js +21 -24
- package/dist/path-style/path-style-extension.js.map +1 -0
- package/dist/path-style/shaders.glsl.d.ts.map +1 -1
- package/dist/path-style/shaders.glsl.js +12 -7
- package/dist/path-style/shaders.glsl.js.map +1 -0
- package/dist/terrain/height-map-builder.d.ts.map +1 -1
- package/dist/terrain/height-map-builder.js +4 -0
- package/dist/terrain/height-map-builder.js.map +1 -0
- package/dist/terrain/shader-module.d.ts +60 -6
- package/dist/terrain/shader-module.d.ts.map +1 -1
- package/dist/terrain/shader-module.js +70 -61
- package/dist/terrain/shader-module.js.map +1 -0
- package/dist/terrain/terrain-cover.d.ts.map +1 -1
- package/dist/terrain/terrain-cover.js +4 -0
- package/dist/terrain/terrain-cover.js.map +1 -0
- package/dist/terrain/terrain-effect.d.ts +4 -2
- package/dist/terrain/terrain-effect.d.ts.map +1 -1
- package/dist/terrain/terrain-effect.js +32 -18
- package/dist/terrain/terrain-effect.js.map +1 -0
- package/dist/terrain/terrain-extension.d.ts.map +1 -1
- package/dist/terrain/terrain-extension.js +4 -0
- package/dist/terrain/terrain-extension.js.map +1 -0
- package/dist/terrain/terrain-pass.d.ts +6 -41
- package/dist/terrain/terrain-pass.d.ts.map +1 -1
- package/dist/terrain/terrain-pass.js +12 -1
- package/dist/terrain/terrain-pass.js.map +1 -0
- package/dist/terrain/terrain-picking-pass.d.ts +7 -1
- package/dist/terrain/terrain-picking-pass.d.ts.map +1 -1
- package/dist/terrain/terrain-picking-pass.js +12 -1
- package/dist/terrain/terrain-picking-pass.js.map +1 -0
- package/dist/terrain/utils.d.ts.map +1 -1
- package/dist/terrain/utils.js +4 -0
- package/dist/terrain/utils.js.map +1 -0
- package/dist/utils/debug.d.ts +2 -2
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +4 -1
- package/dist/utils/debug.js.map +1 -0
- package/dist/utils/projection-utils.d.ts.map +1 -1
- package/dist/utils/projection-utils.js +4 -0
- package/dist/utils/projection-utils.js.map +1 -0
- package/dist.min.js +1102 -817
- package/package.json +8 -8
- package/src/brushing/brushing-extension.ts +17 -20
- package/src/brushing/shader-module.ts +58 -47
- package/src/clip/clip-extension.ts +38 -40
- package/src/collision-filter/collision-filter-effect.ts +31 -20
- package/src/collision-filter/collision-filter-extension.ts +6 -7
- package/src/collision-filter/collision-filter-pass.ts +17 -6
- package/src/collision-filter/shader-module.ts +40 -22
- package/src/data-filter/aggregator.ts +23 -11
- package/src/data-filter/data-filter-extension.ts +76 -49
- package/src/data-filter/shader-module.ts +150 -90
- package/src/fill-style/fill-style-extension.ts +13 -5
- package/src/fill-style/shader-module.ts +84 -52
- package/src/fp64/fp64-extension.ts +8 -19
- package/src/fp64/project64.glsl.ts +18 -21
- package/src/fp64/project64.ts +27 -28
- package/src/index.ts +5 -0
- package/src/mask/mask-effect.ts +17 -7
- package/src/mask/mask-extension.ts +16 -9
- package/src/mask/mask-pass.ts +17 -3
- package/src/mask/shader-module.ts +63 -27
- package/src/path-style/path-style-extension.ts +27 -28
- package/src/path-style/shaders.glsl.ts +13 -7
- package/src/terrain/height-map-builder.ts +4 -0
- package/src/terrain/shader-module.ts +62 -44
- package/src/terrain/terrain-cover.ts +4 -0
- package/src/terrain/terrain-effect.ts +36 -19
- package/src/terrain/terrain-extension.ts +4 -0
- package/src/terrain/terrain-pass.ts +19 -3
- package/src/terrain/terrain-picking-pass.ts +15 -2
- package/src/terrain/utils.ts +4 -0
- package/src/utils/debug.ts +4 -0
- package/src/utils/projection-utils.ts +4 -0
- package/dist/utils/syntax-tags.d.ts +0 -6
- package/dist/utils/syntax-tags.d.ts.map +0 -1
- package/dist/utils/syntax-tags.js +0 -5
- package/src/utils/syntax-tags.ts +0 -5
package/dist/index.d.ts
CHANGED
|
@@ -16,4 +16,5 @@ export type { ClipExtensionProps } from "./clip/clip-extension.js";
|
|
|
16
16
|
export type { CollisionFilterExtensionProps } from "./collision-filter/collision-filter-extension.js";
|
|
17
17
|
export type { MaskExtensionProps } from "./mask/mask-extension.js";
|
|
18
18
|
export type { TerrainExtensionProps } from "./terrain/terrain-extension.js";
|
|
19
|
+
export type { TerrainModuleProps } from "./terrain/shader-module.js";
|
|
19
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,yCAAsC;AAC3E,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,+CAA4C;AACnF,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,iCAA8B;AAC/D,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,6CAA0C;AAChF,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,6CAA0C;AAChF,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,iCAA8B;AAC/D,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,yDAAsD;AAClG,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,iCAA8B;AAC/D,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,uCAAoC;AAGzE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,4BAAyB;AAGtD,YAAY,EAAC,sBAAsB,EAAC,yCAAsC;AAC1E,YAAY,EACV,wBAAwB,EACxB,0BAA0B,EAC3B,+CAA4C;AAC7C,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,6CAA0C;AAC3C,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,6CAA0C;AAC3C,YAAY,EAAC,kBAAkB,EAAC,iCAA8B;AAC9D,YAAY,EAAC,6BAA6B,EAAC,yDAAsD;AACjG,YAAY,EAAC,kBAAkB,EAAC,iCAA8B;AAC9D,YAAY,EAAC,qBAAqB,EAAC,uCAAoC;AACvE,YAAY,EAAC,kBAAkB,EAAC,mCAAgC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
export { default as BrushingExtension } from "./brushing/brushing-extension.js";
|
|
2
5
|
export { default as DataFilterExtension } from "./data-filter/data-filter-extension.js";
|
|
3
6
|
export { default as Fp64Extension } from "./fp64/fp64-extension.js";
|
|
@@ -9,3 +12,4 @@ export { default as MaskExtension } from "./mask/mask-extension.js";
|
|
|
9
12
|
export { default as _TerrainExtension } from "./terrain/terrain-extension.js";
|
|
10
13
|
// Shader module
|
|
11
14
|
export { default as project64 } from "./fp64/project64.js";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,yCAAsC;AAC3E,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,+CAA4C;AACnF,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,iCAA8B;AAC/D,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,6CAA0C;AAChF,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,6CAA0C;AAChF,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,iCAA8B;AAC/D,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,yDAAsD;AAClG,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,iCAA8B;AAC/D,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,uCAAoC;AAEzE,gBAAgB;AAChB,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,4BAAyB"}
|
|
@@ -33,9 +33,11 @@ export default class MaskEffect implements Effect {
|
|
|
33
33
|
* Returns a map from mask layer id to channel info
|
|
34
34
|
*/
|
|
35
35
|
private _sortMaskChannels;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
getShaderModuleProps(): {
|
|
37
|
+
mask: {
|
|
38
|
+
maskMap: Texture;
|
|
39
|
+
maskChannels: Record<string, Mask> | null;
|
|
40
|
+
};
|
|
39
41
|
};
|
|
40
42
|
cleanup(): void;
|
|
41
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-effect.d.ts","sourceRoot":"","sources":["../../src/mask/mask-effect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mask-effect.d.ts","sourceRoot":"","sources":["../../src/mask/mask-effect.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAiD,MAAM,EAAC,qCAAkC;AAGjG,KAAK,IAAI,GAAG;IACV,wBAAwB;IACxB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAaF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,MAAM;IAC/C,EAAE,SAAiB;IACnB,KAAK,OAAQ;IACb,YAAY,UAAQ;IACpB,KAAK,SAAK;IAEV,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC,KAAK,CAAC,EAAC,MAAM,EAAC,EAAE,aAAa;IAU7B,SAAS,CAAC,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,SAAS,EACV,EAAE,gBAAgB,GAAG,kBAAkB;IA2CxC,OAAO,CAAC,cAAc;IAkGtB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IA4CzB,oBAAoB,IAAI;QACtB,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO,CAAC;YACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;SAC3C,CAAC;KACH;IASD,OAAO,IAAI,IAAI;CAgBhB"}
|
package/dist/mask/mask-effect.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { log } from '@deck.gl/core';
|
|
2
5
|
import { equals } from '@math.gl/core';
|
|
3
6
|
import MaskPass from "./mask-pass.js";
|
|
@@ -106,8 +109,10 @@ export default class MaskEffect {
|
|
|
106
109
|
viewports: maskViewport ? [maskViewport] : [],
|
|
107
110
|
onViewportActive,
|
|
108
111
|
views,
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
shaderModuleProps: {
|
|
113
|
+
project: {
|
|
114
|
+
devicePixelRatio: 1
|
|
115
|
+
}
|
|
111
116
|
}
|
|
112
117
|
});
|
|
113
118
|
didRender = true;
|
|
@@ -169,10 +174,12 @@ export default class MaskEffect {
|
|
|
169
174
|
}
|
|
170
175
|
return channelMap;
|
|
171
176
|
}
|
|
172
|
-
|
|
177
|
+
getShaderModuleProps() {
|
|
173
178
|
return {
|
|
174
|
-
|
|
175
|
-
|
|
179
|
+
mask: {
|
|
180
|
+
maskMap: this.masks ? this.maskMap : this.dummyMaskMap,
|
|
181
|
+
maskChannels: this.masks
|
|
182
|
+
}
|
|
176
183
|
};
|
|
177
184
|
}
|
|
178
185
|
cleanup() {
|
|
@@ -190,3 +197,4 @@ export default class MaskEffect {
|
|
|
190
197
|
this.channels.length = 0;
|
|
191
198
|
}
|
|
192
199
|
}
|
|
200
|
+
//# sourceMappingURL=mask-effect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask-effect.js","sourceRoot":"","sources":["../../src/mask/mask-effect.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,6 @@ export default class MaskExtension extends LayerExtension {
|
|
|
25
25
|
static extensionName: string;
|
|
26
26
|
initializeState(this: Layer<MaskExtensionProps>): void;
|
|
27
27
|
getShaders(this: Layer<MaskExtensionProps>): any;
|
|
28
|
-
draw(this: Layer<Required<MaskExtensionProps>>, {
|
|
28
|
+
draw(this: Layer<Required<MaskExtensionProps>>, { context, shaderModuleProps }: any): void;
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=mask-extension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-extension.d.ts","sourceRoot":"","sources":["../../src/mask/mask-extension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mask-extension.d.ts","sourceRoot":"","sources":["../../src/mask/mask-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,EAAE,cAAc,EAAM,MAAM,eAAe,CAAC;AAU5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,cAAc;IACvD,MAAM,CAAC,YAAY;;;;MAAgB;IACnC,MAAM,CAAC,aAAa,SAAmB;IAEvC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,kBAAkB,CAAC;IAI/C,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,GAAG;IAehD,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC,EAAE,GAAG;CA+BlF"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { COORDINATE_SYSTEM, LayerExtension, log } from '@deck.gl/core';
|
|
2
5
|
import mask from "./shader-module.js";
|
|
3
6
|
import MaskEffect from "./mask-effect.js";
|
|
@@ -24,17 +27,18 @@ class MaskExtension extends LayerExtension {
|
|
|
24
27
|
};
|
|
25
28
|
}
|
|
26
29
|
/* eslint-disable camelcase */
|
|
27
|
-
draw({
|
|
28
|
-
|
|
30
|
+
draw({ context, shaderModuleProps }) {
|
|
31
|
+
const maskProps = {};
|
|
32
|
+
maskProps.maskByInstance = Boolean(this.state.maskByInstance);
|
|
29
33
|
const { maskId, maskInverted } = this.props;
|
|
30
|
-
const { maskChannels } =
|
|
34
|
+
const { maskChannels } = shaderModuleProps.mask || {};
|
|
31
35
|
const { viewport } = context;
|
|
32
36
|
if (maskChannels && maskChannels[maskId]) {
|
|
33
37
|
const { index, bounds, coordinateOrigin: fromCoordinateOrigin } = maskChannels[maskId];
|
|
34
38
|
let { coordinateSystem: fromCoordinateSystem } = maskChannels[maskId];
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
maskProps.enabled = true;
|
|
40
|
+
maskProps.channel = index;
|
|
41
|
+
maskProps.inverted = maskInverted;
|
|
38
42
|
if (fromCoordinateSystem === COORDINATE_SYSTEM.DEFAULT) {
|
|
39
43
|
fromCoordinateSystem = viewport.isGeospatial
|
|
40
44
|
? COORDINATE_SYSTEM.LNGLAT
|
|
@@ -43,16 +47,18 @@ class MaskExtension extends LayerExtension {
|
|
|
43
47
|
const opts = { modelMatrix: null, fromCoordinateOrigin, fromCoordinateSystem };
|
|
44
48
|
const bl = this.projectPosition([bounds[0], bounds[1], 0], opts);
|
|
45
49
|
const tr = this.projectPosition([bounds[2], bounds[3], 0], opts);
|
|
46
|
-
|
|
50
|
+
maskProps.bounds = [bl[0], bl[1], tr[0], tr[1]];
|
|
47
51
|
}
|
|
48
52
|
else {
|
|
49
53
|
if (maskId) {
|
|
50
54
|
log.warn(`Could not find a mask layer with id: ${maskId}`)();
|
|
51
55
|
}
|
|
52
|
-
|
|
56
|
+
maskProps.enabled = false;
|
|
53
57
|
}
|
|
58
|
+
this.setShaderModuleProps({ mask: maskProps });
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
MaskExtension.defaultProps = defaultProps;
|
|
57
62
|
MaskExtension.extensionName = 'MaskExtension';
|
|
58
63
|
export default MaskExtension;
|
|
64
|
+
//# sourceMappingURL=mask-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask-extension.js","sourceRoot":"","sources":["../../src/mask/mask-extension.ts"],"names":[],"mappings":"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"}
|
package/dist/mask/mask-pass.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Device, Framebuffer, Texture } from '@luma.gl/core';
|
|
1
|
+
import type { Device, Framebuffer, Parameters, Texture } from '@luma.gl/core';
|
|
2
2
|
import { Layer, _LayersPass as LayersPass, LayersPassRenderOptions, Viewport } from '@deck.gl/core';
|
|
3
3
|
type MaskPassRenderOptions = LayersPassRenderOptions & {
|
|
4
4
|
/** The channel to render into, 0:red, 1:green, 2:blue, 3:alpha */
|
|
@@ -12,48 +12,7 @@ export default class MaskPass extends LayersPass {
|
|
|
12
12
|
mapSize?: number;
|
|
13
13
|
});
|
|
14
14
|
render(options: MaskPassRenderOptions): void;
|
|
15
|
-
protected getLayerParameters(layer: Layer<{}>, layerIndex: number, viewport: Viewport):
|
|
16
|
-
cullMode?: import("@luma.gl/core").CullMode | undefined;
|
|
17
|
-
frontFace?: import("@luma.gl/core").FrontFace | undefined;
|
|
18
|
-
depthBias?: number | undefined;
|
|
19
|
-
depthBiasSlopeScale?: number | undefined;
|
|
20
|
-
depthBiasClamp?: number | undefined;
|
|
21
|
-
unclippedDepth?: boolean | undefined;
|
|
22
|
-
provokingVertex?: "first" | "last" | undefined;
|
|
23
|
-
polygonMode?: "fill" | "line" | undefined;
|
|
24
|
-
polygonOffsetLine?: boolean | undefined;
|
|
25
|
-
clipDistance0?: boolean | undefined;
|
|
26
|
-
clipDistance1?: boolean | undefined;
|
|
27
|
-
clipDistance2?: boolean | undefined;
|
|
28
|
-
clipDistance3?: boolean | undefined;
|
|
29
|
-
clipDistance4?: boolean | undefined;
|
|
30
|
-
clipDistance5?: boolean | undefined;
|
|
31
|
-
clipDistance6?: boolean | undefined;
|
|
32
|
-
clipDistance7?: boolean | undefined;
|
|
33
|
-
topology?: import("@luma.gl/core").PrimitiveTopology | undefined;
|
|
34
|
-
stripIndexFormat?: import("@luma.gl/core").IndexFormat | undefined;
|
|
35
|
-
depthWriteEnabled?: boolean | undefined;
|
|
36
|
-
depthCompare?: import("@luma.gl/core").CompareFunction | undefined;
|
|
37
|
-
depthFormat?: import("@luma.gl/core").DepthStencilTextureFormat | undefined;
|
|
38
|
-
stencilReadMask?: number | undefined;
|
|
39
|
-
stencilWriteMask?: number | undefined;
|
|
40
|
-
stencilCompare?: import("@luma.gl/core").CompareFunction | undefined;
|
|
41
|
-
stencilPassOperation?: import("@luma.gl/core").StencilOperation | undefined;
|
|
42
|
-
stencilFailOperation?: import("@luma.gl/core").StencilOperation | undefined;
|
|
43
|
-
stencilDepthFailOperation?: import("@luma.gl/core").StencilOperation | undefined;
|
|
44
|
-
blendColorOperation?: import("@luma.gl/core").BlendOperation | undefined;
|
|
45
|
-
blendColorSrcFactor?: import("@luma.gl/core").BlendFactor | undefined;
|
|
46
|
-
blendColorDstFactor?: import("@luma.gl/core").BlendFactor | undefined;
|
|
47
|
-
blendAlphaOperation?: import("@luma.gl/core").BlendOperation | undefined;
|
|
48
|
-
blendAlphaSrcFactor?: import("@luma.gl/core").BlendFactor | undefined;
|
|
49
|
-
blendAlphaDstFactor?: import("@luma.gl/core").BlendFactor | undefined;
|
|
50
|
-
colorMask?: number | undefined;
|
|
51
|
-
sampleCount?: number | undefined;
|
|
52
|
-
sampleMask?: number | undefined;
|
|
53
|
-
sampleAlphaToCoverageEnabled?: boolean | undefined;
|
|
54
|
-
blend: boolean;
|
|
55
|
-
depthTest: boolean;
|
|
56
|
-
};
|
|
15
|
+
protected getLayerParameters(layer: Layer<{}>, layerIndex: number, viewport: Viewport): Parameters;
|
|
57
16
|
shouldDrawLayer(layer: any): any;
|
|
58
17
|
delete(): void;
|
|
59
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-pass.d.ts","sourceRoot":"","sources":["../../src/mask/mask-pass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mask-pass.d.ts","sourceRoot":"","sources":["../../src/mask/mask-pass.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,UAAU,EAEV,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,uBAAuB,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAElG,KAAK,qBAAqB,GAAG,uBAAuB,GAAG;IACrD,kEAAkE;IAClE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACxB,CAAC;AAWF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;gBAEL,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC;IAyBjE,MAAM,CAAC,OAAO,EAAE,qBAAqB;IAMrC,SAAS,CAAC,kBAAkB,CAC1B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,GACjB,UAAU;IASb,eAAe,CAAC,KAAK,KAAA;IAIrB,MAAM;CAIP"}
|
package/dist/mask/mask-pass.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { _LayersPass as LayersPass } from '@deck.gl/core';
|
|
2
5
|
const MASK_BLENDING = {
|
|
3
6
|
blendColorOperation: 'subtract',
|
|
@@ -38,7 +41,7 @@ export default class MaskPass extends LayersPass {
|
|
|
38
41
|
return {
|
|
39
42
|
...layer.props.parameters,
|
|
40
43
|
blend: true,
|
|
41
|
-
|
|
44
|
+
depthCompare: 'always',
|
|
42
45
|
...MASK_BLENDING
|
|
43
46
|
};
|
|
44
47
|
}
|
|
@@ -50,3 +53,4 @@ export default class MaskPass extends LayersPass {
|
|
|
50
53
|
this.maskMap.delete();
|
|
51
54
|
}
|
|
52
55
|
}
|
|
56
|
+
//# sourceMappingURL=mask-pass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask-pass.js","sourceRoot":"","sources":["../../src/mask/mask-pass.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AASpC,OAAO,EAAQ,WAAW,IAAI,UAAU,EAAoC,MAAM,eAAe,CAAC;AAOlG,MAAM,aAAa,GAA6B;IAC9C,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,MAAM;IAC3B,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,MAAM;IAC3B,mBAAmB,EAAE,KAAK;CAC3B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAI9C,YAAY,MAAc,EAAE,KAAqC;QAC/D,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAErB,MAAM,EAAC,OAAO,GAAG,IAAI,EAAC,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;YAClC,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,eAAe;gBAC7B,YAAY,EAAE,eAAe;aAC9B;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;YAClC,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;YACf,gBAAgB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAA8B;QACnC,MAAM,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACxC,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;IACpF,CAAC;IAES,kBAAkB,CAC1B,KAAgB,EAChB,UAAkB,EAClB,QAAkB;QAElB,OAAO;YACL,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU;YACzB,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,QAAQ;YACtB,GAAG,aAAa;SACjB,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,KAAK;QACnB,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1,8 +1,65 @@
|
|
|
1
|
-
import type { ShaderModule } from '@luma.gl/shadertools';
|
|
2
1
|
import type { Texture } from '@luma.gl/core';
|
|
3
|
-
type
|
|
2
|
+
type MaskBindingProps = {
|
|
4
3
|
maskMap?: Texture;
|
|
5
4
|
};
|
|
6
|
-
|
|
5
|
+
type MaskUniformProps = {
|
|
6
|
+
bounds: [number, number, number, number];
|
|
7
|
+
channel: number;
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
inverted: boolean;
|
|
10
|
+
maskByInstance: boolean;
|
|
11
|
+
};
|
|
12
|
+
export type MaskProps = MaskBindingProps & MaskUniformProps;
|
|
13
|
+
declare const _default: {
|
|
14
|
+
readonly name: "mask";
|
|
15
|
+
readonly dependencies: [{
|
|
16
|
+
readonly name: "project";
|
|
17
|
+
readonly dependencies: [{
|
|
18
|
+
name: string;
|
|
19
|
+
vs: string;
|
|
20
|
+
}, {
|
|
21
|
+
readonly name: "geometry";
|
|
22
|
+
readonly vs: "\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0, 0.0, 1.0, 0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n";
|
|
23
|
+
readonly fs: "\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n";
|
|
24
|
+
}];
|
|
25
|
+
readonly vs: string;
|
|
26
|
+
readonly getUniforms: (opts?: import("@deck.gl/core").ProjectProps | {}) => {};
|
|
27
|
+
readonly uniformTypes: {
|
|
28
|
+
readonly wrapLongitude: "f32";
|
|
29
|
+
readonly coordinateSystem: "i32";
|
|
30
|
+
readonly commonUnitsPerMeter: "vec3<f32>";
|
|
31
|
+
readonly projectionMode: "i32";
|
|
32
|
+
readonly scale: "f32";
|
|
33
|
+
readonly commonUnitsPerWorldUnit: "vec3<f32>";
|
|
34
|
+
readonly commonUnitsPerWorldUnit2: "vec3<f32>";
|
|
35
|
+
readonly center: "vec4<f32>";
|
|
36
|
+
readonly modelMatrix: "mat4x4<f32>";
|
|
37
|
+
readonly viewProjectionMatrix: "mat4x4<f32>";
|
|
38
|
+
readonly viewportSize: "vec2<f32>";
|
|
39
|
+
readonly devicePixelRatio: "f32";
|
|
40
|
+
readonly focalDistance: "f32";
|
|
41
|
+
readonly cameraPosition: "vec3<f32>";
|
|
42
|
+
readonly coordinateOrigin: "vec3<f32>";
|
|
43
|
+
readonly commonOrigin: "vec3<f32>";
|
|
44
|
+
readonly pseudoMeters: "f32";
|
|
45
|
+
};
|
|
46
|
+
}];
|
|
47
|
+
readonly vs: "\nuniform maskUniforms {\n vec4 bounds;\n highp int channel;\n bool enabled;\n bool inverted;\n bool maskByInstance;\n} mask;\n\n\nvec2 mask_getCoords(vec4 position) {\n return (position.xy - mask.bounds.xy) / (mask.bounds.zw - mask.bounds.xy);\n}\n\n";
|
|
48
|
+
readonly fs: "\nuniform maskUniforms {\n vec4 bounds;\n highp int channel;\n bool enabled;\n bool inverted;\n bool maskByInstance;\n} mask;\n\n\nuniform sampler2D mask_texture;\n\nbool mask_isInBounds(vec2 texCoords) {\n if (!mask.enabled) {\n return true;\n }\n vec4 maskColor = texture(mask_texture, texCoords);\n float maskValue = 1.0;\n if (mask.channel == 0) {\n maskValue = maskColor.r;\n } else if (mask.channel == 1) {\n maskValue = maskColor.g;\n } else if (mask.channel == 2) {\n maskValue = maskColor.b;\n } else if (mask.channel == 3) {\n maskValue = maskColor.a;\n }\n\n if (mask.inverted) {\n return maskValue >= 0.5;\n } else {\n return maskValue < 0.5;\n }\n}\n\n";
|
|
49
|
+
readonly inject: {
|
|
50
|
+
'vs:#decl': string;
|
|
51
|
+
'vs:#main-end': string;
|
|
52
|
+
'fs:#decl': string;
|
|
53
|
+
'fs:#main-start': string;
|
|
54
|
+
};
|
|
55
|
+
readonly getUniforms: (opts?: MaskProps | {}) => Record<string, any>;
|
|
56
|
+
readonly uniformTypes: {
|
|
57
|
+
readonly bounds: "vec4<f32>";
|
|
58
|
+
readonly channel: "i32";
|
|
59
|
+
readonly enabled: "i32";
|
|
60
|
+
readonly inverted: "i32";
|
|
61
|
+
readonly maskByInstance: "i32";
|
|
62
|
+
};
|
|
63
|
+
};
|
|
7
64
|
export default _default;
|
|
8
65
|
//# sourceMappingURL=shader-module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../src/mask/shader-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../src/mask/shader-module.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAoF3C,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAG5B,SAAS,GAAG,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;AASpE,wBAc6C"}
|
|
@@ -1,61 +1,81 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { project } from '@deck.gl/core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
const uniformBlock = /* glsl */ `\
|
|
6
|
+
uniform maskUniforms {
|
|
7
|
+
vec4 bounds;
|
|
8
|
+
highp int channel;
|
|
9
|
+
bool enabled;
|
|
10
|
+
bool inverted;
|
|
11
|
+
bool maskByInstance;
|
|
12
|
+
} mask;
|
|
13
|
+
`;
|
|
14
|
+
const vertex = /* glsl */ `
|
|
6
15
|
vec2 mask_getCoords(vec4 position) {
|
|
7
|
-
return (position.xy -
|
|
16
|
+
return (position.xy - mask.bounds.xy) / (mask.bounds.zw - mask.bounds.xy);
|
|
8
17
|
}
|
|
9
18
|
`;
|
|
10
|
-
const
|
|
19
|
+
const vs = `
|
|
20
|
+
${uniformBlock}
|
|
21
|
+
${vertex}
|
|
22
|
+
`;
|
|
23
|
+
const fragment = /* glsl */ `
|
|
11
24
|
uniform sampler2D mask_texture;
|
|
12
|
-
|
|
13
|
-
uniform bool mask_enabled;
|
|
14
|
-
uniform bool mask_inverted;
|
|
25
|
+
|
|
15
26
|
bool mask_isInBounds(vec2 texCoords) {
|
|
16
|
-
if (!
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
vec4 maskColor = texture(mask_texture, texCoords);
|
|
20
|
-
float maskValue = 1.0;
|
|
21
|
-
if (
|
|
22
|
-
maskValue = maskColor.r;
|
|
23
|
-
} else if (
|
|
24
|
-
maskValue = maskColor.g;
|
|
25
|
-
} else if (
|
|
26
|
-
maskValue = maskColor.b;
|
|
27
|
-
} else if (
|
|
28
|
-
maskValue = maskColor.a;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
if (!mask.enabled) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
vec4 maskColor = texture(mask_texture, texCoords);
|
|
31
|
+
float maskValue = 1.0;
|
|
32
|
+
if (mask.channel == 0) {
|
|
33
|
+
maskValue = maskColor.r;
|
|
34
|
+
} else if (mask.channel == 1) {
|
|
35
|
+
maskValue = maskColor.g;
|
|
36
|
+
} else if (mask.channel == 2) {
|
|
37
|
+
maskValue = maskColor.b;
|
|
38
|
+
} else if (mask.channel == 3) {
|
|
39
|
+
maskValue = maskColor.a;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (mask.inverted) {
|
|
43
|
+
return maskValue >= 0.5;
|
|
44
|
+
} else {
|
|
45
|
+
return maskValue < 0.5;
|
|
46
|
+
}
|
|
35
47
|
}
|
|
36
48
|
`;
|
|
49
|
+
const fs = `
|
|
50
|
+
${uniformBlock}
|
|
51
|
+
${fragment}
|
|
52
|
+
`;
|
|
37
53
|
const inject = {
|
|
38
|
-
'vs:#decl': `
|
|
54
|
+
'vs:#decl': /* glsl */ `
|
|
39
55
|
out vec2 mask_texCoords;
|
|
40
56
|
`,
|
|
41
|
-
'vs:#main-end': `
|
|
42
|
-
vec4 mask_common_position;
|
|
43
|
-
if (
|
|
44
|
-
mask_common_position = project_position(vec4(geometry.worldPosition, 1.0));
|
|
45
|
-
} else {
|
|
46
|
-
mask_common_position = geometry.position;
|
|
47
|
-
}
|
|
48
|
-
mask_texCoords = mask_getCoords(mask_common_position);
|
|
57
|
+
'vs:#main-end': /* glsl */ `
|
|
58
|
+
vec4 mask_common_position;
|
|
59
|
+
if (mask.maskByInstance) {
|
|
60
|
+
mask_common_position = project_position(vec4(geometry.worldPosition, 1.0));
|
|
61
|
+
} else {
|
|
62
|
+
mask_common_position = geometry.position;
|
|
63
|
+
}
|
|
64
|
+
mask_texCoords = mask_getCoords(mask_common_position);
|
|
49
65
|
`,
|
|
50
|
-
'fs:#decl': `
|
|
66
|
+
'fs:#decl': /* glsl */ `
|
|
51
67
|
in vec2 mask_texCoords;
|
|
52
68
|
`,
|
|
53
|
-
'fs:#main-start': `
|
|
54
|
-
if (
|
|
55
|
-
bool mask = mask_isInBounds(mask_texCoords);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
69
|
+
'fs:#main-start': /* glsl */ `
|
|
70
|
+
if (mask.enabled) {
|
|
71
|
+
bool mask = mask_isInBounds(mask_texCoords);
|
|
72
|
+
|
|
73
|
+
// Debug: show extent of render target
|
|
74
|
+
// fragColor = vec4(mask_texCoords, 0.0, 1.0);
|
|
75
|
+
// fragColor = texture(mask_texture, mask_texCoords);
|
|
76
|
+
|
|
77
|
+
if (!mask) discard;
|
|
78
|
+
}
|
|
59
79
|
`
|
|
60
80
|
};
|
|
61
81
|
/* eslint-disable camelcase */
|
|
@@ -65,7 +85,7 @@ const getMaskUniforms = (opts) => {
|
|
|
65
85
|
mask_texture: opts.maskMap
|
|
66
86
|
};
|
|
67
87
|
}
|
|
68
|
-
return {};
|
|
88
|
+
return opts || {};
|
|
69
89
|
};
|
|
70
90
|
export default {
|
|
71
91
|
name: 'mask',
|
|
@@ -73,5 +93,13 @@ export default {
|
|
|
73
93
|
vs,
|
|
74
94
|
fs,
|
|
75
95
|
inject,
|
|
76
|
-
getUniforms: getMaskUniforms
|
|
96
|
+
getUniforms: getMaskUniforms,
|
|
97
|
+
uniformTypes: {
|
|
98
|
+
bounds: 'vec4<f32>',
|
|
99
|
+
channel: 'i32',
|
|
100
|
+
enabled: 'i32',
|
|
101
|
+
inverted: 'i32',
|
|
102
|
+
maskByInstance: 'i32'
|
|
103
|
+
}
|
|
77
104
|
};
|
|
105
|
+
//# sourceMappingURL=shader-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shader-module.js","sourceRoot":"","sources":["../../src/mask/shader-module.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAGtC,MAAM,YAAY,GAAG,UAAU,CAAC;;;;;;;;CAQ/B,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC;;;;CAIzB,CAAC;AAEF,MAAM,EAAE,GAAG;EACT,YAAY;EACZ,MAAM;CACP,CAAC;AAEF,MAAM,QAAQ,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyB3B,CAAC;AAEF,MAAM,EAAE,GAAG;EACT,YAAY;EACZ,QAAQ;CACT,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,UAAU,EAAE,UAAU,CAAC;;CAExB;IACC,cAAc,EAAE,UAAU,CAAC;;;;;;;;CAQ5B;IACC,UAAU,EAAE,UAAU,CAAC;;CAExB;IACC,gBAAgB,EAAE,UAAU,CAAC;;;;;;;;;;CAU9B;CACA,CAAC;AAgBF,8BAA8B;AAC9B,MAAM,eAAe,GAAG,CAAC,IAAqB,EAAuB,EAAE;IACrE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC9B,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,eAAe;IACb,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,CAAC,OAAO,CAAC;IACvB,EAAE;IACF,EAAE;IACF,MAAM;IACN,WAAW,EAAE,eAAe;IAC5B,YAAY,EAAE;QACZ,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,KAAK;KACtB;CACyC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-style-extension.d.ts","sourceRoot":"","sources":["../../src/path-style/path-style-extension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path-style-extension.d.ts","sourceRoot":"","sources":["../../src/path-style/path-style-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAgC,MAAM,eAAe,CAAC;AAI5E,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAenF,MAAM,MAAM,uBAAuB,CAAC,KAAK,GAAG,GAAG,IAAI;IACjD;;;OAGG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,kGAAkG;AAClG,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,cAAc,CAAC,yBAAyB,CAAC;IACvF,MAAM,CAAC,YAAY;;;;;;;;;;;MAAgB;IACnC,MAAM,CAAC,aAAa,SAAwB;gBAEhC,EACV,IAAY,EACZ,MAAc,EACd,iBAAyB,EAC1B,GAAE,OAAO,CAAC,yBAAyB,CAAM;IAI1C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,uBAAuB,CAAC,GAAG,OAAO;IAIzD,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,GAAG;IA4BtE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI;IAgC5F,WAAW,CACT,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EACpC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,EACxD,SAAS,EAAE,IAAI;IAejB,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;CAqB5F"}
|
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
20
4
|
import { LayerExtension, _mergeShaders as mergeShaders } from '@deck.gl/core';
|
|
21
5
|
import { vec3 } from '@math.gl/core';
|
|
22
6
|
import { dashShaders, offsetShaders } from "./shaders.glsl.js";
|
|
@@ -46,7 +30,18 @@ class PathStyleExtension extends LayerExtension {
|
|
|
46
30
|
if (extension.opts.offset) {
|
|
47
31
|
result = mergeShaders(result, offsetShaders);
|
|
48
32
|
}
|
|
49
|
-
|
|
33
|
+
const { inject } = result;
|
|
34
|
+
const pathStyle = {
|
|
35
|
+
name: 'pathStyle',
|
|
36
|
+
inject,
|
|
37
|
+
uniformTypes: {
|
|
38
|
+
dashAlignMode: 'f32',
|
|
39
|
+
dashGapPickable: 'i32'
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
modules: [pathStyle]
|
|
44
|
+
};
|
|
50
45
|
}
|
|
51
46
|
initializeState(context, extension) {
|
|
52
47
|
const attributeManager = this.getAttributeManager();
|
|
@@ -82,12 +77,13 @@ class PathStyleExtension extends LayerExtension {
|
|
|
82
77
|
if (!extension.isEnabled(this)) {
|
|
83
78
|
return;
|
|
84
79
|
}
|
|
85
|
-
const uniforms = {};
|
|
86
80
|
if (extension.opts.dash) {
|
|
87
|
-
|
|
88
|
-
|
|
81
|
+
const pathStyleProps = {
|
|
82
|
+
dashAlignMode: this.props.dashJustified ? 1 : 0,
|
|
83
|
+
dashGapPickable: Boolean(this.props.dashGapPickable)
|
|
84
|
+
};
|
|
85
|
+
this.setShaderModuleProps({ pathStyle: pathStyleProps });
|
|
89
86
|
}
|
|
90
|
-
this.state.model?.setUniforms(uniforms);
|
|
91
87
|
}
|
|
92
88
|
getDashOffsets(path) {
|
|
93
89
|
const result = [0];
|
|
@@ -111,3 +107,4 @@ class PathStyleExtension extends LayerExtension {
|
|
|
111
107
|
PathStyleExtension.defaultProps = defaultProps;
|
|
112
108
|
PathStyleExtension.extensionName = 'PathStyleExtension';
|
|
113
109
|
export default PathStyleExtension;
|
|
110
|
+
//# sourceMappingURL=path-style-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-style-extension.js","sourceRoot":"","sources":["../../src/path-style/path-style-extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaders.glsl.d.ts","sourceRoot":"","sources":["../../src/path-style/shaders.glsl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shaders.glsl.d.ts","sourceRoot":"","sources":["../../src/path-style/shaders.glsl.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;;;;;;;CAsEvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;CAwBzB,CAAC"}
|