@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.
Files changed (160) hide show
  1. package/dist/brushing/brushing-extension.d.ts +1 -0
  2. package/dist/brushing/brushing-extension.d.ts.map +1 -1
  3. package/dist/brushing/brushing-extension.js +16 -19
  4. package/dist/brushing/brushing-extension.js.map +1 -0
  5. package/dist/brushing/shader-module.d.ts +8 -2
  6. package/dist/brushing/shader-module.d.ts.map +1 -1
  7. package/dist/brushing/shader-module.js +75 -50
  8. package/dist/brushing/shader-module.js.map +1 -0
  9. package/dist/clip/clip-extension.d.ts +5 -2
  10. package/dist/clip/clip-extension.d.ts.map +1 -1
  11. package/dist/clip/clip-extension.js +37 -42
  12. package/dist/clip/clip-extension.js.map +1 -0
  13. package/dist/collision-filter/collision-filter-effect.d.ts +4 -4
  14. package/dist/collision-filter/collision-filter-effect.d.ts.map +1 -1
  15. package/dist/collision-filter/collision-filter-effect.js +28 -13
  16. package/dist/collision-filter/collision-filter-effect.js.map +1 -0
  17. package/dist/collision-filter/collision-filter-extension.d.ts +1 -1
  18. package/dist/collision-filter/collision-filter-extension.d.ts.map +1 -1
  19. package/dist/collision-filter/collision-filter-extension.js +6 -6
  20. package/dist/collision-filter/collision-filter-extension.js.map +1 -0
  21. package/dist/collision-filter/collision-filter-pass.d.ts +9 -5
  22. package/dist/collision-filter/collision-filter-pass.d.ts.map +1 -1
  23. package/dist/collision-filter/collision-filter-pass.js +15 -4
  24. package/dist/collision-filter/collision-filter-pass.js.map +1 -0
  25. package/dist/collision-filter/shader-module.d.ts +3 -2
  26. package/dist/collision-filter/shader-module.d.ts.map +1 -1
  27. package/dist/collision-filter/shader-module.js +75 -52
  28. package/dist/collision-filter/shader-module.js.map +1 -0
  29. package/dist/data-filter/aggregator.d.ts +4 -10
  30. package/dist/data-filter/aggregator.d.ts.map +1 -1
  31. package/dist/data-filter/aggregator.js +15 -8
  32. package/dist/data-filter/aggregator.js.map +1 -0
  33. package/dist/data-filter/data-filter-extension.d.ts.map +1 -1
  34. package/dist/data-filter/data-filter-extension.js +49 -39
  35. package/dist/data-filter/data-filter-extension.js.map +1 -0
  36. package/dist/data-filter/shader-module.d.ts +12 -5
  37. package/dist/data-filter/shader-module.d.ts.map +1 -1
  38. package/dist/data-filter/shader-module.js +190 -131
  39. package/dist/data-filter/shader-module.js.map +1 -0
  40. package/dist/dist.dev.js +2720 -2037
  41. package/dist/fill-style/fill-style-extension.d.ts.map +1 -1
  42. package/dist/fill-style/fill-style-extension.js +12 -4
  43. package/dist/fill-style/fill-style-extension.js.map +1 -0
  44. package/dist/fill-style/shader-module.d.ts +64 -6
  45. package/dist/fill-style/shader-module.d.ts.map +1 -1
  46. package/dist/fill-style/shader-module.js +74 -51
  47. package/dist/fill-style/shader-module.js.map +1 -0
  48. package/dist/fp64/fp64-extension.d.ts +1 -0
  49. package/dist/fp64/fp64-extension.d.ts.map +1 -1
  50. package/dist/fp64/fp64-extension.js +8 -19
  51. package/dist/fp64/fp64-extension.js.map +1 -0
  52. package/dist/fp64/project64.d.ts +2 -2
  53. package/dist/fp64/project64.d.ts.map +1 -1
  54. package/dist/fp64/project64.glsl.d.ts +1 -1
  55. package/dist/fp64/project64.glsl.d.ts.map +1 -1
  56. package/dist/fp64/project64.glsl.js +19 -21
  57. package/dist/fp64/project64.glsl.js.map +1 -0
  58. package/dist/fp64/project64.js +25 -24
  59. package/dist/fp64/project64.js.map +1 -0
  60. package/dist/index.cjs +1034 -528
  61. package/dist/index.cjs.map +4 -4
  62. package/dist/index.d.ts +1 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +4 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/mask/mask-effect.d.ts +5 -3
  67. package/dist/mask/mask-effect.d.ts.map +1 -1
  68. package/dist/mask/mask-effect.js +13 -5
  69. package/dist/mask/mask-effect.js.map +1 -0
  70. package/dist/mask/mask-extension.d.ts +1 -1
  71. package/dist/mask/mask-extension.d.ts.map +1 -1
  72. package/dist/mask/mask-extension.js +14 -8
  73. package/dist/mask/mask-extension.js.map +1 -0
  74. package/dist/mask/mask-pass.d.ts +2 -43
  75. package/dist/mask/mask-pass.d.ts.map +1 -1
  76. package/dist/mask/mask-pass.js +5 -1
  77. package/dist/mask/mask-pass.js.map +1 -0
  78. package/dist/mask/shader-module.d.ts +60 -3
  79. package/dist/mask/shader-module.d.ts.map +1 -1
  80. package/dist/mask/shader-module.js +74 -46
  81. package/dist/mask/shader-module.js.map +1 -0
  82. package/dist/path-style/path-style-extension.d.ts.map +1 -1
  83. package/dist/path-style/path-style-extension.js +21 -24
  84. package/dist/path-style/path-style-extension.js.map +1 -0
  85. package/dist/path-style/shaders.glsl.d.ts.map +1 -1
  86. package/dist/path-style/shaders.glsl.js +12 -7
  87. package/dist/path-style/shaders.glsl.js.map +1 -0
  88. package/dist/terrain/height-map-builder.d.ts.map +1 -1
  89. package/dist/terrain/height-map-builder.js +4 -0
  90. package/dist/terrain/height-map-builder.js.map +1 -0
  91. package/dist/terrain/shader-module.d.ts +60 -6
  92. package/dist/terrain/shader-module.d.ts.map +1 -1
  93. package/dist/terrain/shader-module.js +70 -61
  94. package/dist/terrain/shader-module.js.map +1 -0
  95. package/dist/terrain/terrain-cover.d.ts.map +1 -1
  96. package/dist/terrain/terrain-cover.js +4 -0
  97. package/dist/terrain/terrain-cover.js.map +1 -0
  98. package/dist/terrain/terrain-effect.d.ts +4 -2
  99. package/dist/terrain/terrain-effect.d.ts.map +1 -1
  100. package/dist/terrain/terrain-effect.js +32 -18
  101. package/dist/terrain/terrain-effect.js.map +1 -0
  102. package/dist/terrain/terrain-extension.d.ts.map +1 -1
  103. package/dist/terrain/terrain-extension.js +4 -0
  104. package/dist/terrain/terrain-extension.js.map +1 -0
  105. package/dist/terrain/terrain-pass.d.ts +6 -41
  106. package/dist/terrain/terrain-pass.d.ts.map +1 -1
  107. package/dist/terrain/terrain-pass.js +12 -1
  108. package/dist/terrain/terrain-pass.js.map +1 -0
  109. package/dist/terrain/terrain-picking-pass.d.ts +7 -1
  110. package/dist/terrain/terrain-picking-pass.d.ts.map +1 -1
  111. package/dist/terrain/terrain-picking-pass.js +12 -1
  112. package/dist/terrain/terrain-picking-pass.js.map +1 -0
  113. package/dist/terrain/utils.d.ts.map +1 -1
  114. package/dist/terrain/utils.js +4 -0
  115. package/dist/terrain/utils.js.map +1 -0
  116. package/dist/utils/debug.d.ts +2 -2
  117. package/dist/utils/debug.d.ts.map +1 -1
  118. package/dist/utils/debug.js +4 -1
  119. package/dist/utils/debug.js.map +1 -0
  120. package/dist/utils/projection-utils.d.ts.map +1 -1
  121. package/dist/utils/projection-utils.js +4 -0
  122. package/dist/utils/projection-utils.js.map +1 -0
  123. package/dist.min.js +1102 -817
  124. package/package.json +8 -8
  125. package/src/brushing/brushing-extension.ts +17 -20
  126. package/src/brushing/shader-module.ts +58 -47
  127. package/src/clip/clip-extension.ts +38 -40
  128. package/src/collision-filter/collision-filter-effect.ts +31 -20
  129. package/src/collision-filter/collision-filter-extension.ts +6 -7
  130. package/src/collision-filter/collision-filter-pass.ts +17 -6
  131. package/src/collision-filter/shader-module.ts +40 -22
  132. package/src/data-filter/aggregator.ts +23 -11
  133. package/src/data-filter/data-filter-extension.ts +76 -49
  134. package/src/data-filter/shader-module.ts +150 -90
  135. package/src/fill-style/fill-style-extension.ts +13 -5
  136. package/src/fill-style/shader-module.ts +84 -52
  137. package/src/fp64/fp64-extension.ts +8 -19
  138. package/src/fp64/project64.glsl.ts +18 -21
  139. package/src/fp64/project64.ts +27 -28
  140. package/src/index.ts +5 -0
  141. package/src/mask/mask-effect.ts +17 -7
  142. package/src/mask/mask-extension.ts +16 -9
  143. package/src/mask/mask-pass.ts +17 -3
  144. package/src/mask/shader-module.ts +63 -27
  145. package/src/path-style/path-style-extension.ts +27 -28
  146. package/src/path-style/shaders.glsl.ts +13 -7
  147. package/src/terrain/height-map-builder.ts +4 -0
  148. package/src/terrain/shader-module.ts +62 -44
  149. package/src/terrain/terrain-cover.ts +4 -0
  150. package/src/terrain/terrain-effect.ts +36 -19
  151. package/src/terrain/terrain-extension.ts +4 -0
  152. package/src/terrain/terrain-pass.ts +19 -3
  153. package/src/terrain/terrain-picking-pass.ts +15 -2
  154. package/src/terrain/utils.ts +4 -0
  155. package/src/utils/debug.ts +4 -0
  156. package/src/utils/projection-utils.ts +4 -0
  157. package/dist/utils/syntax-tags.d.ts +0 -6
  158. package/dist/utils/syntax-tags.d.ts.map +0 -1
  159. package/dist/utils/syntax-tags.js +0 -5
  160. 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 float dashAlignMode;
15
- uniform float capType;
16
- uniform bool dashGapPickable;
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":"AAAA,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
+ {"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 type { ShaderModule } from '@luma.gl/shadertools';
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 TerrainModuleSettings = {
7
- picking: {
8
- isActive?: boolean;
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: ShaderModule<TerrainModuleSettings>;
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":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGvD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,MAAM,EAAC,qCAAkC;AACtD,OAAO,KAAK,EAAC,YAAY,EAAC,2BAAwB;AAGlD,8DAA8D;AAC9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;IAC9B,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;AAEF,kDAAkD;AAClD,eAAO,MAAM,YAAY;;IAEvB,6EAA6E;;IAE7E,2EAA2E;;IAE3E,6FAA6F;;IAE7F,0EAA0E;;IAE1E,mEAAmE;;CAEpE,CAAC;AAMF,eAAO,MAAM,aAAa,qCA8Hc,CAAC"}
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
- /* eslint-disable camelcase */
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:#decl': `
26
- uniform float terrain_mode;
27
- uniform sampler2D terrain_map;
28
- uniform vec4 terrain_bounds;
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 (terrain_mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {
40
- vec2 texCoords = (commonPos.xy - terrain_bounds.xy) / terrain_bounds.zw;
41
- position = vec4(texCoords * 2.0 - 1.0, 0.0, 1.0);
42
- commonPos.z += project_uCommonOrigin.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
- 'fs:#decl': `
57
- uniform float terrain_mode;
58
- uniform sampler2D terrain_map;
59
- uniform vec4 terrain_bounds;
60
- in vec3 commonPos;
61
- ` + TERRAIN_MODE_CONSTANTS,
62
- 'fs:#main-start': `
63
- if (terrain_mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {
64
- fragColor = vec4(commonPos.z, 0.0, 0.0, 1.0);
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:DECKGL_FILTER_COLOR': `
69
- if ((terrain_mode == TERRAIN_MODE_USE_COVER) || (terrain_mode == TERRAIN_MODE_USE_COVER_ONLY)) {
70
- vec2 texCoords = (commonPos.xy - terrain_bounds.xy) / terrain_bounds.zw;
71
- vec4 pixel = texture(terrain_map, texCoords);
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
- return;
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 = {}, uniforms) => {
87
+ getUniforms: (opts = {}) => {
83
88
  if ('dummyHeightMap' in opts) {
84
89
  const { drawToTerrainHeightMap, heightMap, heightMapBounds, dummyHeightMap, terrainCover, useTerrainHeightMap, terrainSkipRender } = opts;
85
- // @ts-expect-error stricter luma gl types
86
- const { project_uCommonOrigin } = uniforms;
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 isPicking = opts.picking?.isActive;
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
- terrain_mode: mode,
126
+ mode,
123
127
  terrain_map: sampler,
124
128
  // Convert bounds to the common space, as [minX, minY, width, height]
125
- terrain_bounds: bounds
129
+ bounds: bounds
126
130
  ? [
127
- bounds[0] - project_uCommonOrigin[0],
128
- bounds[1] - project_uCommonOrigin[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 null;
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":"AAAA,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
+ {"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":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAMpC,OAAO,EAAC,kBAAkB,EAAC,mBAAgB;AAC3C,OAAO,EAAC,eAAe,EAAE,YAAY,EAAE,eAAe,EAAS,qCAAkC;AAMjG;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IAkBvB,YAAY,WAAkB;QAjB9B,YAAO,GAAY,IAAI,CAAC;QAGxB,6CAA6C;QAC7C,mBAAc,GAAoB,IAAI,CAAC;QACvC,8DAA8D;QAC9D,WAAM,GAAkB,IAAI,CAAC;QAIrB,WAAM,GAAa,EAAE,CAAC;QAE9B,gDAAgD;QACxC,iBAAY,GAAgC,IAAI,CAAC;QACzD,sCAAsC;QAC9B,uBAAkB,GAAkB,IAAI,CAAC;QAG/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,4EAA4E;IAC5E,IAAI,QAAQ;QACV,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,EACX,WAAW,EACX,QAAQ,EACR,MAAM,EACN,gBAAgB,EAMjB;QACC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEtE,IAAI,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEhE,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzB,aAAa,GAAG,IAAI,CAAC;oBACrB,yCAAyC;oBACzC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,aAAa,IAAI,WAAW,CAAC;IACtC,CAAC;IAED,wEAAwE;IAChE,aAAa,CAAC,MAAe;QACnC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEvE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC;YACnB,gFAAgF;QAClF,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,IAAI,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1B,WAAW,GAAG,IAAI,CAAC;oBACnB,0CAA0C;oBAC1C,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,4FAA4F;IACpF,eAAe,CAAC,QAAkB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,YAAY,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBAE1C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,MAAM,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,kBAAkB,GAAG;oBACxB,gBAAgB,CAAC,CAAC,CAAC;oBACnB,gBAAgB,CAAC,CAAC,CAAC;oBACnB,cAAc,CAAC,CAAC,CAAC;oBACjB,cAAc,CAAC,CAAC,CAAC;iBAClB,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YACzD,+DAA+D;YAC/D,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAC/C,8FAA8F;QAC9F,sEAAsE;QACtE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;YAC1C,YAAY,GAAG,YAAY,IAAI,OAAO,KAAK,OAAO,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC9B,YAAY,GAAG,YAAY,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,OAAO;gBACb,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE;gBACpE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,UAAU;gBACxB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,YAAY,CAAC,MAAe;QAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,MAAM,EAAC,GAAG,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClC,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACzC,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,UAAsB,EAAE,MAAe;IACpE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,SAAS,OAAO,CAAC,KAAY;IAC3B,OAAO,KAAK,EAAE,CAAC;QACb,sCAAsC;QACtC,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,MAAe,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,EAAyB,EAAE,EAAyB;IACrE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import { TerrainModuleSettings } from "./shader-module.js";
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
- getModuleParameters(layer: Layer): Omit<TerrainModuleSettings, 'picking'>;
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":"AAGA,OAAO,EAAgB,qBAAqB,EAAC,2BAAwB;AAMrE,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;IAmBnC,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAoCvC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC;IAazE,OAAO,CAAC,EAAC,IAAI,EAAC,EAAE,aAAa,GAAG,IAAI;IAoBpC,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,mBAAmB;IAwC3B,OAAO,CAAC,mBAAmB;CAY5B"}
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
- getModuleParameters(layer) {
66
+ getShaderModuleProps(layer, otherShaderModuleProps) {
65
67
  const { terrainDrawMode } = layer.state;
66
68
  return {
67
- heightMap: this.heightMap?.getRenderFramebuffer()?.colorAttachments[0].texture || null,
68
- heightMapBounds: this.heightMap?.bounds,
69
- dummyHeightMap: this.dummyHeightMap,
70
- terrainCover: this.isDrapingEnabled ? this.terrainCovers.get(layer.id) : null,
71
- useTerrainHeightMap: terrainDrawMode === 'offset',
72
- terrainSkipRender: terrainDrawMode === 'drape' || !layer.props.operation.includes('draw')
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
- moduleParameters: {
104
- heightMapBounds: this.heightMap.bounds,
105
- dummyHeightMap: this.dummyHeightMap,
106
- devicePixelRatio: 1,
107
- drawToTerrainHeightMap: true
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
- moduleParameters: {
148
- dummyHeightMap: this.dummyHeightMap,
149
- terrainSkipRender: false,
150
- devicePixelRatio: 1
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":"AAAA,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
+ {"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
- cullMode?: import("@luma.gl/core").CullMode | undefined;
12
- frontFace?: import("@luma.gl/core").FrontFace | undefined;
13
- depthBias?: number | undefined;
14
- depthBiasSlopeScale?: number | undefined;
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":"AACA,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,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQtF"}
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"}