@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
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
export const dashShaders = {
|
|
2
5
|
inject: {
|
|
3
6
|
'vs:#decl': `
|
|
@@ -11,9 +14,10 @@ vDashArray = instanceDashArrays;
|
|
|
11
14
|
vDashOffset = instanceDashOffsets / width.x;
|
|
12
15
|
`,
|
|
13
16
|
'fs:#decl': `
|
|
14
|
-
uniform
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
uniform pathStyleUniforms {
|
|
18
|
+
float dashAlignMode;
|
|
19
|
+
bool dashGapPickable;
|
|
20
|
+
} pathStyle;
|
|
17
21
|
in vec2 vDashArray;
|
|
18
22
|
in float vDashOffset;
|
|
19
23
|
`,
|
|
@@ -31,7 +35,7 @@ float gapLength = vDashArray.y;
|
|
|
31
35
|
float unitLength = solidLength + gapLength;
|
|
32
36
|
float offset;
|
|
33
37
|
if (unitLength > 0.0) {
|
|
34
|
-
if (dashAlignMode == 0.0) {
|
|
38
|
+
if (pathStyle.dashAlignMode == 0.0) {
|
|
35
39
|
offset = vDashOffset;
|
|
36
40
|
} else {
|
|
37
41
|
unitLength = vPathLength / round(vPathLength / unitLength);
|
|
@@ -39,8 +43,8 @@ offset = solidLength / 2.0;
|
|
|
39
43
|
}
|
|
40
44
|
float unitOffset = mod(vPathPosition.y + offset, unitLength);
|
|
41
45
|
if (gapLength > 0.0 && unitOffset > solidLength) {
|
|
42
|
-
if (capType <= 0.5) {
|
|
43
|
-
if (!(dashGapPickable && bool(picking.isActive))) {
|
|
46
|
+
if (path.capType <= 0.5) {
|
|
47
|
+
if (!(pathStyle.dashGapPickable && bool(picking.isActive))) {
|
|
44
48
|
discard;
|
|
45
49
|
}
|
|
46
50
|
} else {
|
|
@@ -49,7 +53,7 @@ min(unitOffset - solidLength, unitLength - unitOffset),
|
|
|
49
53
|
vPathPosition.x
|
|
50
54
|
));
|
|
51
55
|
if (distToEnd > 1.0) {
|
|
52
|
-
if (!(dashGapPickable && bool(picking.isActive))) {
|
|
56
|
+
if (!(pathStyle.dashGapPickable && bool(picking.isActive))) {
|
|
53
57
|
discard;
|
|
54
58
|
}
|
|
55
59
|
}
|
|
@@ -84,3 +88,4 @@ discard;
|
|
|
84
88
|
`
|
|
85
89
|
}
|
|
86
90
|
};
|
|
91
|
+
//# sourceMappingURL=shaders.glsl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shaders.glsl.js","sourceRoot":"","sources":["../../src/path-style/shaders.glsl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE;QACN,UAAU,EAAE;;;;;CAKf;QAEG,cAAc,EAAE;;;CAGnB;QAEG,UAAU;;;;;;;CAQb;QAEG,0DAA0D;QAC1D,sDAAsD;QACtD,6CAA6C;QAC7C,aAAa;QACb,oBAAoB;QACpB,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCnB;KACE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,UAAU,EAAE;;CAEf;QACG,uBAAuB;;;CAG1B;QACG,cAAc;;;;;;CAMjB;QACG,gBAAgB;;;;;;CAMnB;KACE;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"height-map-builder.d.ts","sourceRoot":"","sources":["../../src/terrain/height-map-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"height-map-builder.d.ts","sourceRoot":"","sources":["../../src/terrain/height-map-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAiD,MAAM,EAAC,qCAAkC;AAGjG,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAInD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,6CAA6C;IAC7C,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACvC,2DAA2D;IAC3D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,2BAA2B;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,6BAA6B;IAC7B,OAAO,CAAC,YAAY,CAAuC;IAC3D,mDAAmD;IACnD,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,YAAY,CAAyB;IAE7C,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;gBAI/B,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACH,oBAAoB,IAAI,WAAW,GAAG,IAAI;IAU1C,yEAAyE;IACzE,YAAY,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAE;QAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAC,GAAG,OAAO;IAiEhF,MAAM;CAMP"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { joinLayerBounds, getRenderBounds, makeViewport } from "../utils/projection-utils.js";
|
|
2
5
|
import { createRenderTarget } from "./utils.js";
|
|
3
6
|
const MAP_MAX_SIZE = 2048;
|
|
@@ -102,3 +105,4 @@ export class HeightMapBuilder {
|
|
|
102
105
|
}
|
|
103
106
|
}
|
|
104
107
|
}
|
|
108
|
+
//# sourceMappingURL=height-map-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"height-map-builder.js","sourceRoot":"","sources":["../../src/terrain/height-map-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ProjectProps } from '@deck.gl/core';
|
|
2
2
|
import type { Texture } from '@luma.gl/core';
|
|
3
3
|
import type { Bounds } from "../utils/projection-utils.js";
|
|
4
4
|
import type { TerrainCover } from "./terrain-cover.js";
|
|
5
5
|
/** Module parameters expected by the terrain shader module */
|
|
6
|
-
export type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
6
|
+
export type TerrainModuleProps = {
|
|
7
|
+
project: ProjectProps;
|
|
8
|
+
isPicking: boolean;
|
|
10
9
|
heightMap: Texture | null;
|
|
11
10
|
heightMapBounds?: Bounds | null;
|
|
12
11
|
dummyHeightMap: Texture;
|
|
@@ -29,5 +28,60 @@ export declare const TERRAIN_MODE: {
|
|
|
29
28
|
/** Draped layer is rendered into a texture, and never to screen */
|
|
30
29
|
SKIP: number;
|
|
31
30
|
};
|
|
32
|
-
export declare const terrainModule:
|
|
31
|
+
export declare const terrainModule: {
|
|
32
|
+
readonly name: "terrain";
|
|
33
|
+
readonly dependencies: [{
|
|
34
|
+
readonly name: "project";
|
|
35
|
+
readonly dependencies: [{
|
|
36
|
+
name: string;
|
|
37
|
+
vs: string;
|
|
38
|
+
}, {
|
|
39
|
+
readonly name: "geometry";
|
|
40
|
+
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";
|
|
41
|
+
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";
|
|
42
|
+
}];
|
|
43
|
+
readonly vs: string;
|
|
44
|
+
readonly getUniforms: (opts?: ProjectProps | {}) => {};
|
|
45
|
+
readonly uniformTypes: {
|
|
46
|
+
readonly wrapLongitude: "f32";
|
|
47
|
+
readonly coordinateSystem: "i32";
|
|
48
|
+
readonly commonUnitsPerMeter: "vec3<f32>";
|
|
49
|
+
readonly projectionMode: "i32";
|
|
50
|
+
readonly scale: "f32";
|
|
51
|
+
readonly commonUnitsPerWorldUnit: "vec3<f32>";
|
|
52
|
+
readonly commonUnitsPerWorldUnit2: "vec3<f32>";
|
|
53
|
+
readonly center: "vec4<f32>";
|
|
54
|
+
readonly modelMatrix: "mat4x4<f32>";
|
|
55
|
+
readonly viewProjectionMatrix: "mat4x4<f32>";
|
|
56
|
+
readonly viewportSize: "vec2<f32>";
|
|
57
|
+
readonly devicePixelRatio: "f32";
|
|
58
|
+
readonly focalDistance: "f32";
|
|
59
|
+
readonly cameraPosition: "vec3<f32>";
|
|
60
|
+
readonly coordinateOrigin: "vec3<f32>";
|
|
61
|
+
readonly commonOrigin: "vec3<f32>";
|
|
62
|
+
readonly pseudoMeters: "f32";
|
|
63
|
+
};
|
|
64
|
+
}];
|
|
65
|
+
readonly vs: string;
|
|
66
|
+
readonly fs: string;
|
|
67
|
+
readonly inject: {
|
|
68
|
+
readonly 'vs:#main-start': "\nif (terrain.mode == TERRAIN_MODE_SKIP) {\n gl_Position = vec4(0.0);\n return;\n}\n";
|
|
69
|
+
readonly 'vs:DECKGL_FILTER_GL_POSITION': "\ncommonPos = geometry.position.xyz;\nif (terrain.mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {\n vec2 texCoords = (commonPos.xy - terrain.bounds.xy) / terrain.bounds.zw;\n position = vec4(texCoords * 2.0 - 1.0, 0.0, 1.0);\n commonPos.z += project.commonOrigin.z;\n}\nif (terrain.mode == TERRAIN_MODE_USE_HEIGHT_MAP) {\n vec3 anchor = geometry.worldPosition;\n anchor.z = 0.0;\n vec3 anchorCommon = project_position(anchor);\n vec2 texCoords = (anchorCommon.xy - terrain.bounds.xy) / terrain.bounds.zw;\n if (texCoords.x >= 0.0 && texCoords.y >= 0.0 && texCoords.x <= 1.0 && texCoords.y <= 1.0) {\n float terrainZ = texture(terrain_map, texCoords).r;\n geometry.position.z += terrainZ;\n position = project_common_position_to_clipspace(geometry.position);\n }\n}\n ";
|
|
70
|
+
readonly 'fs:#main-start': "\nif (terrain.mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {\n fragColor = vec4(commonPos.z, 0.0, 0.0, 1.0);\n return;\n}\n ";
|
|
71
|
+
readonly 'fs:DECKGL_FILTER_COLOR': "\nif ((terrain.mode == TERRAIN_MODE_USE_COVER) || (terrain.mode == TERRAIN_MODE_USE_COVER_ONLY)) {\n vec2 texCoords = (commonPos.xy - terrain.bounds.xy) / terrain.bounds.zw;\n vec4 pixel = texture(terrain_map, texCoords);\n if (terrain.mode == TERRAIN_MODE_USE_COVER_ONLY) {\n color = pixel;\n } else {\n // pixel is premultiplied\n color = pixel + color * (1.0 - pixel.a);\n }\n return;\n}\n ";
|
|
72
|
+
};
|
|
73
|
+
readonly getUniforms: (opts?: Partial<TerrainModuleProps>) => {
|
|
74
|
+
mode: number;
|
|
75
|
+
terrain_map: Texture;
|
|
76
|
+
bounds: [number, number, number, number];
|
|
77
|
+
} | {
|
|
78
|
+
mode?: undefined;
|
|
79
|
+
terrain_map?: undefined;
|
|
80
|
+
bounds?: undefined;
|
|
81
|
+
};
|
|
82
|
+
readonly uniformTypes: {
|
|
83
|
+
readonly mode: "f32";
|
|
84
|
+
readonly bounds: "vec4<f32>";
|
|
85
|
+
};
|
|
86
|
+
};
|
|
33
87
|
//# sourceMappingURL=shader-module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../src/terrain/shader-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../src/terrain/shader-module.ts"],"names":[],"mappings":"AAOA,OAAO,EAAU,YAAY,EAAkB,MAAM,eAAe,CAAC;AAErE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,MAAM,EAAC,qCAAkC;AACtD,OAAO,KAAK,EAAC,YAAY,EAAC,2BAAwB;AAElD,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAWF,kDAAkD;AAClD,eAAO,MAAM,YAAY;;IAEvB,6EAA6E;;IAE7E,2EAA2E;;IAE3E,6FAA6F;;IAE7F,0EAA0E;;IAE1E,mEAAmE;;CAEpE,CAAC;AAkBF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAsDJ,OAAO,CAAC,kBAAkB,CAAC;;;;;;;;;;;;;CAiEkD,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
2
4
|
import { project } from '@deck.gl/core';
|
|
3
|
-
import { glsl } from "../utils/syntax-tags.js";
|
|
4
5
|
/** A model can have one of the following modes */
|
|
5
6
|
export const TERRAIN_MODE = {
|
|
6
7
|
NONE: 0,
|
|
@@ -18,72 +19,76 @@ export const TERRAIN_MODE = {
|
|
|
18
19
|
const TERRAIN_MODE_CONSTANTS = Object.keys(TERRAIN_MODE)
|
|
19
20
|
.map(key => `const float TERRAIN_MODE_${key} = ${TERRAIN_MODE[key]}.0;`)
|
|
20
21
|
.join('\n');
|
|
22
|
+
const uniformBlock =
|
|
23
|
+
// eslint-disable-next-line prefer-template
|
|
24
|
+
TERRAIN_MODE_CONSTANTS +
|
|
25
|
+
/* glsl */ `
|
|
26
|
+
uniform terrainUniforms {
|
|
27
|
+
float mode;
|
|
28
|
+
vec4 bounds;
|
|
29
|
+
} terrain;
|
|
30
|
+
|
|
31
|
+
uniform sampler2D terrain_map;
|
|
32
|
+
`;
|
|
21
33
|
export const terrainModule = {
|
|
22
34
|
name: 'terrain',
|
|
23
35
|
dependencies: [project],
|
|
36
|
+
// eslint-disable-next-line prefer-template
|
|
37
|
+
vs: uniformBlock + /* glsl */ 'out vec3 commonPos;',
|
|
38
|
+
// eslint-disable-next-line prefer-template
|
|
39
|
+
fs: uniformBlock + /* glsl */ 'in vec3 commonPos;',
|
|
24
40
|
inject: {
|
|
25
|
-
'vs:#
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
out vec3 commonPos;
|
|
30
|
-
` + TERRAIN_MODE_CONSTANTS,
|
|
31
|
-
'vs:#main-start': `
|
|
32
|
-
if (terrain_mode == TERRAIN_MODE_SKIP) {
|
|
33
|
-
gl_Position = vec4(0.0);
|
|
34
|
-
return;
|
|
41
|
+
'vs:#main-start': /* glsl */ `
|
|
42
|
+
if (terrain.mode == TERRAIN_MODE_SKIP) {
|
|
43
|
+
gl_Position = vec4(0.0);
|
|
44
|
+
return;
|
|
35
45
|
}
|
|
36
46
|
`,
|
|
37
|
-
'vs:DECKGL_FILTER_GL_POSITION': `
|
|
47
|
+
'vs:DECKGL_FILTER_GL_POSITION': /* glsl */ `
|
|
38
48
|
commonPos = geometry.position.xyz;
|
|
39
|
-
if (
|
|
40
|
-
vec2 texCoords = (commonPos.xy -
|
|
41
|
-
position = vec4(texCoords * 2.0 - 1.0, 0.0, 1.0);
|
|
42
|
-
commonPos.z +=
|
|
43
|
-
}
|
|
44
|
-
if (terrain_mode == TERRAIN_MODE_USE_HEIGHT_MAP) {
|
|
45
|
-
vec3 anchor = geometry.worldPosition;
|
|
46
|
-
anchor.z = 0.0;
|
|
47
|
-
vec3 anchorCommon = project_position(anchor);
|
|
48
|
-
vec2 texCoords = (anchorCommon.xy - terrain_bounds.xy) / terrain_bounds.zw;
|
|
49
|
-
if (texCoords.x >= 0.0 && texCoords.y >= 0.0 && texCoords.x <= 1.0 && texCoords.y <= 1.0) {
|
|
50
|
-
float terrainZ = texture(terrain_map, texCoords).r;
|
|
51
|
-
geometry.position.z += terrainZ;
|
|
52
|
-
position = project_common_position_to_clipspace(geometry.position);
|
|
53
|
-
}
|
|
49
|
+
if (terrain.mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {
|
|
50
|
+
vec2 texCoords = (commonPos.xy - terrain.bounds.xy) / terrain.bounds.zw;
|
|
51
|
+
position = vec4(texCoords * 2.0 - 1.0, 0.0, 1.0);
|
|
52
|
+
commonPos.z += project.commonOrigin.z;
|
|
54
53
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return;
|
|
54
|
+
if (terrain.mode == TERRAIN_MODE_USE_HEIGHT_MAP) {
|
|
55
|
+
vec3 anchor = geometry.worldPosition;
|
|
56
|
+
anchor.z = 0.0;
|
|
57
|
+
vec3 anchorCommon = project_position(anchor);
|
|
58
|
+
vec2 texCoords = (anchorCommon.xy - terrain.bounds.xy) / terrain.bounds.zw;
|
|
59
|
+
if (texCoords.x >= 0.0 && texCoords.y >= 0.0 && texCoords.x <= 1.0 && texCoords.y <= 1.0) {
|
|
60
|
+
float terrainZ = texture(terrain_map, texCoords).r;
|
|
61
|
+
geometry.position.z += terrainZ;
|
|
62
|
+
position = project_common_position_to_clipspace(geometry.position);
|
|
63
|
+
}
|
|
66
64
|
}
|
|
67
|
-
`,
|
|
68
|
-
'fs
|
|
69
|
-
if (
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (terrain_mode == TERRAIN_MODE_USE_COVER_ONLY) {
|
|
73
|
-
color = pixel;
|
|
74
|
-
} else {
|
|
75
|
-
color = pixel + color * (1.0 - pixel.a);
|
|
65
|
+
`,
|
|
66
|
+
'fs:#main-start': /* glsl */ `
|
|
67
|
+
if (terrain.mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {
|
|
68
|
+
fragColor = vec4(commonPos.z, 0.0, 0.0, 1.0);
|
|
69
|
+
return;
|
|
76
70
|
}
|
|
77
|
-
|
|
71
|
+
`,
|
|
72
|
+
'fs:DECKGL_FILTER_COLOR': /* glsl */ `
|
|
73
|
+
if ((terrain.mode == TERRAIN_MODE_USE_COVER) || (terrain.mode == TERRAIN_MODE_USE_COVER_ONLY)) {
|
|
74
|
+
vec2 texCoords = (commonPos.xy - terrain.bounds.xy) / terrain.bounds.zw;
|
|
75
|
+
vec4 pixel = texture(terrain_map, texCoords);
|
|
76
|
+
if (terrain.mode == TERRAIN_MODE_USE_COVER_ONLY) {
|
|
77
|
+
color = pixel;
|
|
78
|
+
} else {
|
|
79
|
+
// pixel is premultiplied
|
|
80
|
+
color = pixel + color * (1.0 - pixel.a);
|
|
81
|
+
}
|
|
82
|
+
return;
|
|
78
83
|
}
|
|
79
|
-
`
|
|
84
|
+
`
|
|
80
85
|
},
|
|
81
86
|
// eslint-disable-next-line complexity
|
|
82
|
-
getUniforms: (opts = {}
|
|
87
|
+
getUniforms: (opts = {}) => {
|
|
83
88
|
if ('dummyHeightMap' in opts) {
|
|
84
89
|
const { drawToTerrainHeightMap, heightMap, heightMapBounds, dummyHeightMap, terrainCover, useTerrainHeightMap, terrainSkipRender } = opts;
|
|
85
|
-
|
|
86
|
-
const {
|
|
90
|
+
const projectUniforms = project.getUniforms(opts.project);
|
|
91
|
+
const { commonOrigin } = projectUniforms;
|
|
87
92
|
let mode = terrainSkipRender ? TERRAIN_MODE.SKIP : TERRAIN_MODE.NONE;
|
|
88
93
|
// height map if case USE_HEIGHT_MAP, terrain cover if USE_COVER, otherwise empty
|
|
89
94
|
let sampler = dummyHeightMap;
|
|
@@ -100,12 +105,11 @@ return;
|
|
|
100
105
|
}
|
|
101
106
|
else if (terrainCover) {
|
|
102
107
|
// This is a terrain layer
|
|
103
|
-
const
|
|
104
|
-
const fbo = isPicking
|
|
108
|
+
const fbo = opts.isPicking
|
|
105
109
|
? terrainCover.getPickingFramebuffer()
|
|
106
110
|
: terrainCover.getRenderFramebuffer();
|
|
107
111
|
sampler = fbo?.colorAttachments[0].texture;
|
|
108
|
-
if (isPicking) {
|
|
112
|
+
if (opts.isPicking) {
|
|
109
113
|
// Never render the layer itself in picking pass
|
|
110
114
|
mode = TERRAIN_MODE.SKIP;
|
|
111
115
|
}
|
|
@@ -119,19 +123,24 @@ return;
|
|
|
119
123
|
}
|
|
120
124
|
/* eslint-disable camelcase */
|
|
121
125
|
return {
|
|
122
|
-
|
|
126
|
+
mode,
|
|
123
127
|
terrain_map: sampler,
|
|
124
128
|
// Convert bounds to the common space, as [minX, minY, width, height]
|
|
125
|
-
|
|
129
|
+
bounds: bounds
|
|
126
130
|
? [
|
|
127
|
-
bounds[0] -
|
|
128
|
-
bounds[1] -
|
|
131
|
+
bounds[0] - commonOrigin[0],
|
|
132
|
+
bounds[1] - commonOrigin[1],
|
|
129
133
|
bounds[2] - bounds[0],
|
|
130
134
|
bounds[3] - bounds[1]
|
|
131
135
|
]
|
|
132
136
|
: [0, 0, 0, 0]
|
|
133
137
|
};
|
|
134
138
|
}
|
|
135
|
-
return
|
|
139
|
+
return {};
|
|
140
|
+
},
|
|
141
|
+
uniformTypes: {
|
|
142
|
+
mode: 'f32',
|
|
143
|
+
bounds: 'vec4<f32>'
|
|
136
144
|
}
|
|
137
145
|
};
|
|
146
|
+
//# sourceMappingURL=shader-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shader-module.js","sourceRoot":"","sources":["../../src/terrain/shader-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terrain-cover.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-cover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terrain-cover.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-cover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAiD,MAAM,EAAC,qCAAkC;AAMjG;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB,OAAO,EAAE,OAAO,CAAQ;IACxB,sDAAsD;IACtD,WAAW,EAAE,KAAK,CAAC;IACnB,6CAA6C;IAC7C,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACvC,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,IAAI,CAAoB;IAChC,gDAAgD;IAChD,OAAO,CAAC,YAAY,CAAqC;IACzD,sCAAsC;IACtC,OAAO,CAAC,kBAAkB,CAAuB;gBAErC,WAAW,EAAE,KAAK;IAK9B,IAAI,EAAE,WAEL;IAED,4EAA4E;IAC5E,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,YAAY,CAAC,EACX,WAAW,EACX,QAAQ,EACR,MAAM,EACN,gBAAgB,EACjB,EAAE;QACD,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC5C,GAAG,OAAO;IAqBX,wEAAwE;IACxE,OAAO,CAAC,aAAa;IAuBrB,4FAA4F;IAC5F,OAAO,CAAC,eAAe;IAsDvB,oBAAoB,IAAI,WAAW,GAAG,IAAI;IAU1C,qBAAqB,IAAI,WAAW,GAAG,IAAI;IAa3C,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE;IAI5B,MAAM;CAWP"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { createRenderTarget } from "./utils.js";
|
|
2
5
|
import { joinLayerBounds, makeViewport, getRenderBounds } from "../utils/projection-utils.js";
|
|
3
6
|
/**
|
|
@@ -186,3 +189,4 @@ function intersect(b1, b2) {
|
|
|
186
189
|
}
|
|
187
190
|
return false;
|
|
188
191
|
}
|
|
192
|
+
//# sourceMappingURL=terrain-cover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terrain-cover.js","sourceRoot":"","sources":["../../src/terrain/terrain-cover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TerrainModuleProps } from "./shader-module.js";
|
|
2
2
|
import type { Effect, EffectContext, PreRenderOptions, Layer } from '@deck.gl/core';
|
|
3
3
|
/** Class to manage terrain effect */
|
|
4
4
|
export declare class TerrainEffect implements Effect {
|
|
@@ -19,7 +19,9 @@ export declare class TerrainEffect implements Effect {
|
|
|
19
19
|
private terrainCovers;
|
|
20
20
|
setup({ device, deck }: EffectContext): void;
|
|
21
21
|
preRender(opts: PreRenderOptions): void;
|
|
22
|
-
|
|
22
|
+
getShaderModuleProps(layer: Layer, otherShaderModuleProps: Record<string, any>): {
|
|
23
|
+
terrain: TerrainModuleProps;
|
|
24
|
+
};
|
|
23
25
|
cleanup({ deck }: EffectContext): void;
|
|
24
26
|
private _updateHeightMap;
|
|
25
27
|
private _updateTerrainCovers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terrain-effect.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-effect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terrain-effect.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-effect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,kBAAkB,EAAC,2BAAwB;AAMlE,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAW,MAAM,eAAe,CAAC;AAE5F,qCAAqC;AACrC,qBAAa,aAAc,YAAW,MAAM;IAC1C,EAAE,SAAoB;IACtB,KAAK,OAAQ;IACb,YAAY,UAAQ;IAEpB,0CAA0C;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,6CAA6C;IAC7C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,sCAAsC;IACtC,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,wGAAwG;IACxG,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,kBAAkB,CAAsB;IAChD,wFAAwF;IACxF,OAAO,CAAC,aAAa,CAAwC;IAE7D,KAAK,CAAC,EAAC,MAAM,EAAE,IAAI,EAAC,EAAE,aAAa;IAkBnC,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAoCvC,oBAAoB,CAClB,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1C;QAAC,OAAO,EAAE,kBAAkB,CAAA;KAAC;IAiBhC,OAAO,CAAC,EAAC,IAAI,EAAC,EAAE,aAAa,GAAG,IAAI;IAmBpC,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,mBAAmB;IA4C3B,OAAO,CAAC,mBAAmB;CAY5B"}
|
|
@@ -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 { terrainModule } from "./shader-module.js";
|
|
3
6
|
import { TerrainCover } from "./terrain-cover.js";
|
|
@@ -31,7 +34,6 @@ export class TerrainEffect {
|
|
|
31
34
|
else {
|
|
32
35
|
log.warn('Terrain offset mode is not supported by this browser')();
|
|
33
36
|
}
|
|
34
|
-
// @ts-expect-error stricter luma gl types
|
|
35
37
|
deck._addDefaultShaderModule(terrainModule);
|
|
36
38
|
}
|
|
37
39
|
preRender(opts) {
|
|
@@ -61,15 +63,19 @@ export class TerrainEffect {
|
|
|
61
63
|
const drapeLayers = layers.filter(l => l.state.terrainDrawMode === 'drape');
|
|
62
64
|
this._updateTerrainCovers(terrainLayers, drapeLayers, viewport, opts);
|
|
63
65
|
}
|
|
64
|
-
|
|
66
|
+
getShaderModuleProps(layer, otherShaderModuleProps) {
|
|
65
67
|
const { terrainDrawMode } = layer.state;
|
|
66
68
|
return {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
terrain: {
|
|
70
|
+
project: otherShaderModuleProps.project,
|
|
71
|
+
isPicking: this.isPicking,
|
|
72
|
+
heightMap: this.heightMap?.getRenderFramebuffer()?.colorAttachments[0].texture || null,
|
|
73
|
+
heightMapBounds: this.heightMap?.bounds,
|
|
74
|
+
dummyHeightMap: this.dummyHeightMap,
|
|
75
|
+
terrainCover: this.isDrapingEnabled ? this.terrainCovers.get(layer.id) : null,
|
|
76
|
+
useTerrainHeightMap: terrainDrawMode === 'offset',
|
|
77
|
+
terrainSkipRender: terrainDrawMode === 'drape' || !layer.props.operation.includes('draw')
|
|
78
|
+
}
|
|
73
79
|
};
|
|
74
80
|
}
|
|
75
81
|
cleanup({ deck }) {
|
|
@@ -85,7 +91,6 @@ export class TerrainEffect {
|
|
|
85
91
|
terrainCover.delete();
|
|
86
92
|
}
|
|
87
93
|
this.terrainCovers.clear();
|
|
88
|
-
// @ts-expect-error stricter luma gl types
|
|
89
94
|
deck._removeDefaultShaderModule(terrainModule);
|
|
90
95
|
}
|
|
91
96
|
_updateHeightMap(terrainLayers, viewport, opts) {
|
|
@@ -100,11 +105,15 @@ export class TerrainEffect {
|
|
|
100
105
|
this.terrainPass.renderHeightMap(this.heightMap, {
|
|
101
106
|
...opts,
|
|
102
107
|
layers: terrainLayers,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
+
shaderModuleProps: {
|
|
109
|
+
terrain: {
|
|
110
|
+
heightMapBounds: this.heightMap.bounds,
|
|
111
|
+
dummyHeightMap: this.dummyHeightMap,
|
|
112
|
+
drawToTerrainHeightMap: true
|
|
113
|
+
},
|
|
114
|
+
project: {
|
|
115
|
+
devicePixelRatio: 1
|
|
116
|
+
}
|
|
108
117
|
}
|
|
109
118
|
});
|
|
110
119
|
}
|
|
@@ -144,10 +153,14 @@ export class TerrainEffect {
|
|
|
144
153
|
renderPass.renderTerrainCover(terrainCover, {
|
|
145
154
|
...opts,
|
|
146
155
|
layers: drapeLayers,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
156
|
+
shaderModuleProps: {
|
|
157
|
+
terrain: {
|
|
158
|
+
dummyHeightMap: this.dummyHeightMap,
|
|
159
|
+
terrainSkipRender: false
|
|
160
|
+
},
|
|
161
|
+
project: {
|
|
162
|
+
devicePixelRatio: 1
|
|
163
|
+
}
|
|
151
164
|
}
|
|
152
165
|
});
|
|
153
166
|
if (!this.isPicking) {
|
|
@@ -174,3 +187,4 @@ export class TerrainEffect {
|
|
|
174
187
|
}
|
|
175
188
|
}
|
|
176
189
|
}
|
|
190
|
+
//# sourceMappingURL=terrain-effect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terrain-effect.js","sourceRoot":"","sources":["../../src/terrain/terrain-effect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terrain-extension.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-extension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terrain-extension.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAI/D,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AAMzC,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACtC,CAAC;AASF,wDAAwD;AACxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,cAAc;IAC1D,MAAM,CAAC,YAAY;;MAAgB;IACnC,MAAM,CAAC,aAAa,SAAsB;IAE1C,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,GAAG;IAMnD,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC;IAIlD,WAAW,CACT,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,EAClC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAyBxD,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;CAMrC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { LayerExtension } from '@deck.gl/core';
|
|
2
5
|
import { TerrainEffect } from "./terrain-effect.js";
|
|
3
6
|
import { terrainModule } from "./shader-module.js";
|
|
@@ -43,3 +46,4 @@ class TerrainExtension extends LayerExtension {
|
|
|
43
46
|
TerrainExtension.defaultProps = defaultProps;
|
|
44
47
|
TerrainExtension.extensionName = 'TerrainExtension';
|
|
45
48
|
export default TerrainExtension;
|
|
49
|
+
//# sourceMappingURL=terrain-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terrain-extension.js","sourceRoot":"","sources":["../../src/terrain/terrain-extension.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,cAAc,EAAmB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAC/C,OAAO,EAAC,aAAa,EAAC,2BAAwB;AAI9C,MAAM,YAAY,GAAG;IACnB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAiBF,wDAAwD;AACxD,MAAqB,gBAAiB,SAAQ,cAAc;IAI1D,UAAU;QACR,OAAO;YACL,OAAO,EAAE,CAAC,aAAa,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,WAAW,CAET,MAAsD;QAEtD,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC;QAEjC,IACE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC1B,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe;YAClD,+CAA+C;YAC/C,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EACpC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,EAAC,eAAe,EAAC,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,iEAAiE;YACjE,+CAA+C;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAmB,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE,UAAU,CAAC;YAC1D,MAAM,SAAS,GAAG,UAAU,IAAI,mBAAmB,IAAI,UAAU,CAAC;YAClE,eAAe,GAAG,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAC,eAAe,EAAC,CAAC,CAAC;IACnC,CAAC;IAED,aAAa;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAA8B,CAAC;QAClD,IAAI,KAAK,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;YACtC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;;AA7CM,6BAAY,GAAG,YAAY,CAAC;AAC5B,8BAAa,GAAG,kBAAkB,CAAC;eAFvB,gBAAgB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Parameters } from '@luma.gl/core';
|
|
1
2
|
import { Layer, Viewport, _LayersPass as LayersPass, LayersPassRenderOptions } from '@deck.gl/core';
|
|
2
3
|
import type { HeightMapBuilder } from "./height-map-builder.js";
|
|
3
4
|
import type { TerrainCover } from "./terrain-cover.js";
|
|
@@ -7,47 +8,11 @@ export declare class TerrainPass extends LayersPass {
|
|
|
7
8
|
getRenderableLayers(viewport: Viewport, opts: TerrainPassRenderOptions): Layer[];
|
|
8
9
|
renderHeightMap(heightMap: HeightMapBuilder, opts: Partial<TerrainPassRenderOptions>): void;
|
|
9
10
|
renderTerrainCover(terrainCover: TerrainCover, opts: Partial<TerrainPassRenderOptions>): void;
|
|
10
|
-
protected getLayerParameters(layer: Layer<{}>, layerIndex: number, viewport: Viewport):
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
depthBiasClamp?: number | undefined;
|
|
16
|
-
unclippedDepth?: boolean | undefined;
|
|
17
|
-
provokingVertex?: "first" | "last" | undefined;
|
|
18
|
-
polygonMode?: "fill" | "line" | undefined;
|
|
19
|
-
polygonOffsetLine?: boolean | undefined;
|
|
20
|
-
clipDistance0?: boolean | undefined;
|
|
21
|
-
clipDistance1?: boolean | undefined;
|
|
22
|
-
clipDistance2?: boolean | undefined;
|
|
23
|
-
clipDistance3?: boolean | undefined;
|
|
24
|
-
clipDistance4?: boolean | undefined;
|
|
25
|
-
clipDistance5?: boolean | undefined;
|
|
26
|
-
clipDistance6?: boolean | undefined;
|
|
27
|
-
clipDistance7?: boolean | undefined;
|
|
28
|
-
topology?: import("@luma.gl/core").PrimitiveTopology | undefined;
|
|
29
|
-
stripIndexFormat?: import("@luma.gl/core").IndexFormat | undefined;
|
|
30
|
-
depthWriteEnabled?: boolean | undefined;
|
|
31
|
-
depthCompare?: import("@luma.gl/core").CompareFunction | undefined;
|
|
32
|
-
depthFormat?: import("@luma.gl/core").DepthStencilTextureFormat | undefined;
|
|
33
|
-
stencilReadMask?: number | undefined;
|
|
34
|
-
stencilWriteMask?: number | undefined;
|
|
35
|
-
stencilCompare?: import("@luma.gl/core").CompareFunction | undefined;
|
|
36
|
-
stencilPassOperation?: import("@luma.gl/core").StencilOperation | undefined;
|
|
37
|
-
stencilFailOperation?: import("@luma.gl/core").StencilOperation | undefined;
|
|
38
|
-
stencilDepthFailOperation?: import("@luma.gl/core").StencilOperation | undefined;
|
|
39
|
-
blendColorOperation?: import("@luma.gl/core").BlendOperation | undefined;
|
|
40
|
-
blendColorSrcFactor?: import("@luma.gl/core").BlendFactor | undefined;
|
|
41
|
-
blendColorDstFactor?: import("@luma.gl/core").BlendFactor | undefined;
|
|
42
|
-
blendAlphaOperation?: import("@luma.gl/core").BlendOperation | undefined;
|
|
43
|
-
blendAlphaSrcFactor?: import("@luma.gl/core").BlendFactor | undefined;
|
|
44
|
-
blendAlphaDstFactor?: import("@luma.gl/core").BlendFactor | undefined;
|
|
45
|
-
colorMask?: number | undefined;
|
|
46
|
-
sampleCount?: number | undefined;
|
|
47
|
-
sampleMask?: number | undefined;
|
|
48
|
-
sampleAlphaToCoverageEnabled?: boolean | undefined;
|
|
49
|
-
blend: boolean;
|
|
50
|
-
depthTest: boolean;
|
|
11
|
+
protected getLayerParameters(layer: Layer<{}>, layerIndex: number, viewport: Viewport): Parameters;
|
|
12
|
+
getShaderModuleProps(layer: Layer, effects: any, otherShaderModuleProps: Record<string, any>): {
|
|
13
|
+
terrain: {
|
|
14
|
+
project: any;
|
|
15
|
+
};
|
|
51
16
|
};
|
|
52
17
|
}
|
|
53
18
|
//# sourceMappingURL=terrain-pass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terrain-pass.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-pass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terrain-pass.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-pass.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAA2B,MAAM,eAAe,CAAC;AACnE,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,IAAI,UAAU,EAAE,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAClG,OAAO,KAAK,EAAC,gBAAgB,EAAC,gCAA6B;AAC3D,OAAO,KAAK,EAAC,YAAY,EAAC,2BAAwB;AAElD,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AAW/D,6DAA6D;AAC7D,qBAAa,WAAY,SAAQ,UAAU;IACzC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,GAAG,KAAK,EAAE;IAchF,eAAe,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,wBAAwB,CAAC;IAsBpF,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,wBAAwB,CAAC;IAuBtF,SAAS,CAAC,kBAAkB,CAC1B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,GACjB,UAAU;IASb,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;CAO7F"}
|