@webviz/subsurface-viewer 0.28.1 → 0.29.0

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 (149) hide show
  1. package/dist/DashSubsurfaceViewer.js +1 -1
  2. package/dist/DashSubsurfaceViewer.js.map +1 -1
  3. package/dist/SubsurfaceViewer.d.ts +11 -1
  4. package/dist/SubsurfaceViewer.js +0 -9
  5. package/dist/SubsurfaceViewer.js.map +1 -1
  6. package/dist/components/ColorLegend.d.ts +1 -1
  7. package/dist/components/ColorLegend.js.map +1 -1
  8. package/dist/components/DistanceScale.d.ts +1 -3
  9. package/dist/components/DistanceScale.js +1 -9
  10. package/dist/components/DistanceScale.js.map +1 -1
  11. package/dist/components/Map.d.ts +8 -4
  12. package/dist/components/Map.js +16 -34
  13. package/dist/components/Map.js.map +1 -1
  14. package/dist/extensions/side-projection-extension.d.ts +4 -3
  15. package/dist/extensions/side-projection-extension.js +7 -6
  16. package/dist/extensions/side-projection-extension.js.map +1 -1
  17. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.d.ts +3 -4
  18. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.js +4 -7
  19. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.js.map +1 -1
  20. package/dist/layers/axes/axesLayer.d.ts +3 -3
  21. package/dist/layers/axes/axesLayer.js +6 -4
  22. package/dist/layers/axes/axesLayer.js.map +1 -1
  23. package/dist/layers/axes/boxLayer.d.ts +2 -2
  24. package/dist/layers/axes/boxLayer.js +5 -8
  25. package/dist/layers/axes/boxLayer.js.map +1 -1
  26. package/dist/layers/axes2d/axes2DLayer.d.ts +4 -5
  27. package/dist/layers/axes2d/axes2DLayer.js +23 -23
  28. package/dist/layers/axes2d/axes2DLayer.js.map +1 -1
  29. package/dist/layers/colormap/colormap.fs.glsl.d.ts +1 -1
  30. package/dist/layers/colormap/colormap.fs.glsl.js +11 -10
  31. package/dist/layers/colormap/colormap.fs.glsl.js.map +1 -1
  32. package/dist/layers/colormap/colormapLayer.d.ts +6 -6
  33. package/dist/layers/colormap/colormapLayer.js +14 -28
  34. package/dist/layers/colormap/colormapLayer.js.map +1 -1
  35. package/dist/layers/drawing/drawingLayer.d.ts +3 -3
  36. package/dist/layers/drawing/drawingLayer.js +8 -7
  37. package/dist/layers/drawing/drawingLayer.js.map +1 -1
  38. package/dist/layers/fault_polygons/faultPolygonsLayer.d.ts +3 -3
  39. package/dist/layers/fault_polygons/faultPolygonsLayer.js +3 -4
  40. package/dist/layers/fault_polygons/faultPolygonsLayer.js.map +1 -1
  41. package/dist/layers/grid3d/fragment.fs.glsl.d.ts +1 -1
  42. package/dist/layers/grid3d/fragment.fs.glsl.js +20 -13
  43. package/dist/layers/grid3d/fragment.fs.glsl.js.map +1 -1
  44. package/dist/layers/grid3d/fragment_lines.glsl.d.ts +1 -1
  45. package/dist/layers/grid3d/fragment_lines.glsl.js +0 -7
  46. package/dist/layers/grid3d/fragment_lines.glsl.js.map +1 -1
  47. package/dist/layers/grid3d/grid3dLayer.d.ts +20 -3
  48. package/dist/layers/grid3d/grid3dLayer.js +20 -2
  49. package/dist/layers/grid3d/grid3dLayer.js.map +1 -1
  50. package/dist/layers/grid3d/privateGrid3dLayer.d.ts +12 -4
  51. package/dist/layers/grid3d/privateGrid3dLayer.js +73 -56
  52. package/dist/layers/grid3d/privateGrid3dLayer.js.map +1 -1
  53. package/dist/layers/grid3d/typeDefs.d.ts +4 -2
  54. package/dist/layers/grid3d/vertex.glsl.d.ts +1 -1
  55. package/dist/layers/grid3d/vertex.glsl.js +3 -3
  56. package/dist/layers/grid3d/webworker.js +18 -9
  57. package/dist/layers/grid3d/webworker.js.map +1 -1
  58. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.d.ts +1 -1
  59. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js +13 -11
  60. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js.map +1 -1
  61. package/dist/layers/hillshading2d/hillshading2dLayer.d.ts +7 -7
  62. package/dist/layers/hillshading2d/hillshading2dLayer.js +5 -11
  63. package/dist/layers/hillshading2d/hillshading2dLayer.js.map +1 -1
  64. package/dist/layers/intersection/unfoldedGeoJsonLayer.d.ts +2 -2
  65. package/dist/layers/intersection/unfoldedGeoJsonLayer.js +1 -1
  66. package/dist/layers/intersection/unfoldedGeoJsonLayer.js.map +1 -1
  67. package/dist/layers/map/fragment.fs.glsl.d.ts +1 -1
  68. package/dist/layers/map/fragment.fs.glsl.js +13 -19
  69. package/dist/layers/map/fragment.fs.glsl.js.map +1 -1
  70. package/dist/layers/map/mapLayer.d.ts +4 -4
  71. package/dist/layers/map/mapLayer.js +1 -1
  72. package/dist/layers/map/mapLayer.js.map +1 -1
  73. package/dist/layers/map/privateMapLayer.d.ts +10 -5
  74. package/dist/layers/map/privateMapLayer.js +73 -72
  75. package/dist/layers/map/privateMapLayer.js.map +1 -1
  76. package/dist/layers/map/webworker.d.ts +1 -1
  77. package/dist/layers/map/webworker.js +4 -4
  78. package/dist/layers/map/webworker.js.map +1 -1
  79. package/dist/layers/northarrow/northArrow3DLayer.d.ts +4 -4
  80. package/dist/layers/northarrow/northArrow3DLayer.js +7 -10
  81. package/dist/layers/northarrow/northArrow3DLayer.js.map +1 -1
  82. package/dist/layers/piechart/fragment.glsl.d.ts +1 -1
  83. package/dist/layers/piechart/fragment.glsl.js +1 -1
  84. package/dist/layers/piechart/pieChartLayer.d.ts +3 -4
  85. package/dist/layers/piechart/pieChartLayer.js +10 -9
  86. package/dist/layers/piechart/pieChartLayer.js.map +1 -1
  87. package/dist/layers/points/pointsLayer.d.ts +3 -3
  88. package/dist/layers/points/pointsLayer.js +1 -1
  89. package/dist/layers/points/pointsLayer.js.map +1 -1
  90. package/dist/layers/points/privatePointsLayer.d.ts +4 -13
  91. package/dist/layers/points/privatePointsLayer.js +5 -5
  92. package/dist/layers/points/privatePointsLayer.js.map +1 -1
  93. package/dist/layers/points/vertex.glsl.d.ts +1 -1
  94. package/dist/layers/points/vertex.glsl.js +14 -13
  95. package/dist/layers/points/vertex.glsl.js.map +1 -1
  96. package/dist/layers/polylines/polylinesLayer.d.ts +3 -3
  97. package/dist/layers/polylines/polylinesLayer.js +5 -3
  98. package/dist/layers/polylines/polylinesLayer.js.map +1 -1
  99. package/dist/layers/polylines/privatePolylinesLayer.d.ts +37 -9
  100. package/dist/layers/polylines/privatePolylinesLayer.js +6 -6
  101. package/dist/layers/polylines/privatePolylinesLayer.js.map +1 -1
  102. package/dist/layers/selectable_geojson/selectableGeoJsonLayer.d.ts +2 -2
  103. package/dist/layers/selectable_geojson/selectableGeoJsonLayer.js +1 -1
  104. package/dist/layers/selectable_geojson/selectableGeoJsonLayer.js.map +1 -1
  105. package/dist/layers/shader_modules/localPhongLighting.d.ts +19 -1
  106. package/dist/layers/triangle/fragment.fs.glsl.d.ts +1 -1
  107. package/dist/layers/triangle/fragment.fs.glsl.js +4 -3
  108. package/dist/layers/triangle/fragment.fs.glsl.js.map +1 -1
  109. package/dist/layers/triangle/fragment_lines.glsl.d.ts +1 -1
  110. package/dist/layers/triangle/fragment_lines.glsl.js +2 -2
  111. package/dist/layers/triangle/privateTriangleLayer.d.ts +9 -8
  112. package/dist/layers/triangle/privateTriangleLayer.js +21 -16
  113. package/dist/layers/triangle/privateTriangleLayer.js.map +1 -1
  114. package/dist/layers/triangle/triangleLayer.d.ts +4 -4
  115. package/dist/layers/triangle/triangleLayer.js +5 -3
  116. package/dist/layers/triangle/triangleLayer.js.map +1 -1
  117. package/dist/layers/triangle/webworker.js +2 -2
  118. package/dist/layers/triangle/webworker.js.map +1 -1
  119. package/dist/layers/utils/layerTools.d.ts +3 -3
  120. package/dist/layers/utils/propertyMapTools.d.ts +1 -1
  121. package/dist/layers/well_markers/fragment.glsl.d.ts +1 -1
  122. package/dist/layers/well_markers/fragment.glsl.js +4 -3
  123. package/dist/layers/well_markers/fragment.glsl.js.map +1 -1
  124. package/dist/layers/well_markers/vertex.glsl.d.ts +1 -1
  125. package/dist/layers/well_markers/vertex.glsl.js +10 -14
  126. package/dist/layers/well_markers/vertex.glsl.js.map +1 -1
  127. package/dist/layers/well_markers/wellMarkersLayer.d.ts +6 -4
  128. package/dist/layers/well_markers/wellMarkersLayer.js +43 -50
  129. package/dist/layers/well_markers/wellMarkersLayer.js.map +1 -1
  130. package/dist/layers/wells/wellsLayer.d.ts +2 -2
  131. package/dist/layers/wells/wellsLayer.js +4 -4
  132. package/dist/layers/wells/wellsLayer.js.map +1 -1
  133. package/dist/utils/configuration.d.ts +0 -616
  134. package/dist/utils/configuration.js +6 -11
  135. package/dist/utils/configuration.js.map +1 -1
  136. package/dist/utils/measurement.d.ts +1 -1
  137. package/dist/utils/measurement.js +1 -1
  138. package/dist/utils/measurement.js.map +1 -1
  139. package/dist/utils/specExtractor.d.ts +1 -1
  140. package/dist/viewports/intersectionViewport.d.ts +1 -1
  141. package/dist/viewports/intersectionViewport.js +1 -1
  142. package/dist/viewports/intersectionViewport.js.map +1 -1
  143. package/dist/views/intersectionView.d.ts +4 -3
  144. package/dist/views/intersectionView.js +1 -1
  145. package/dist/views/intersectionView.js.map +1 -1
  146. package/package.json +13 -11
  147. package/dist/layers/points/fragment.glsl.d.ts +0 -2
  148. package/dist/layers/points/fragment.glsl.js +0 -69
  149. package/dist/layers/points/fragment.glsl.js.map +0 -1
@@ -1,25 +1,23 @@
1
- import { COORDINATE_SYSTEM, Layer, picking, project, } from "@deck.gl/core/typed";
2
- import { Model, Geometry } from "@luma.gl/engine";
1
+ import { COORDINATE_SYSTEM, Layer, picking, project } from "@deck.gl/core";
2
+ import { Geometry, Model } from "@luma.gl/engine";
3
+ import { localPhongLighting, utilities } from "../shader_modules";
3
4
  import { createPropertyData, getImageData } from "../utils/layerTools";
4
- import { Texture2D } from "@luma.gl/webgl";
5
- import GL from "@luma.gl/constants";
6
- import vsShader from "./vertex.glsl";
7
5
  import fsShader from "./fragment.fs.glsl";
8
- import vsLineShader from "./vertex_lines.glsl";
9
6
  import fsLineShader from "./fragment_lines.glsl";
10
- import { localPhongLighting, utilities } from "../shader_modules";
11
7
  import { TGrid3DColoringMode, } from "./grid3dLayer";
8
+ import vsShader from "./vertex.glsl";
9
+ import vsLineShader from "./vertex_lines.glsl";
12
10
  const DEFAULT_TEXTURE_PARAMETERS = {
13
- [GL.TEXTURE_MIN_FILTER]: GL.LINEAR,
14
- [GL.TEXTURE_MAG_FILTER]: GL.LINEAR,
15
- [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,
16
- [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE,
11
+ addressModeU: "clamp-to-edge",
12
+ addressModeV: "clamp-to-edge",
13
+ minFilter: "linear",
14
+ magFilter: "linear",
17
15
  };
18
16
  const DISCRETE_TEXTURE_PARAMETERS = {
19
- [GL.TEXTURE_MIN_FILTER]: GL.NEAREST,
20
- [GL.TEXTURE_MAG_FILTER]: GL.NEAREST,
21
- [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,
22
- [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE,
17
+ minFilter: "nearest",
18
+ magFilter: "nearest",
19
+ addressModeU: "clamp-to-edge",
20
+ addressModeV: "clamp-to-edge",
23
21
  };
24
22
  const defaultProps = {
25
23
  colorMapName: "",
@@ -37,8 +35,7 @@ export default class PrivateLayer extends Layer {
37
35
  return (_a = this.state["isLoaded"]) !== null && _a !== void 0 ? _a : false;
38
36
  }
39
37
  initializeState(context) {
40
- const { gl } = context;
41
- const [model_mesh, mesh_lines_model] = this._getModels(gl);
38
+ const [model_mesh, mesh_lines_model] = this._getModels(context);
42
39
  this.setState({
43
40
  models: [model_mesh, mesh_lines_model],
44
41
  isLoaded: false,
@@ -56,14 +53,16 @@ export default class PrivateLayer extends Layer {
56
53
  this.initializeState(context);
57
54
  }
58
55
  //eslint-disable-next-line
59
- _getModels(gl) {
60
- // MESH MODEL
61
- const mesh_model = new Model(gl, {
56
+ _getModels(context) {
57
+ var _a;
58
+ const propertyUniforms = this.getPropertyUniforms();
59
+ const colormap = this.getTexture(context);
60
+ const mesh_model = new Model(context.device, {
62
61
  id: `${this.props.id}-mesh`,
63
62
  vs: vsShader,
64
63
  fs: fsShader,
65
64
  geometry: new Geometry({
66
- drawMode: this.props.mesh.drawMode,
65
+ topology: (_a = this.props.mesh.drawMode) !== null && _a !== void 0 ? _a : "triangle-list",
67
66
  attributes: {
68
67
  positions: this.props.mesh.attributes.positions,
69
68
  properties: this.props.mesh.attributes.properties,
@@ -71,27 +70,33 @@ export default class PrivateLayer extends Layer {
71
70
  },
72
71
  vertexCount: this.props.mesh.vertexCount,
73
72
  }),
73
+ bufferLayout: this.getAttributeManager().getBufferLayouts(),
74
+ uniforms: Object.assign(Object.assign({}, propertyUniforms), { coloringMode: this.props.coloringMode, ZIncreasingDownwards: this.props.ZIncreasingDownwards }),
75
+ bindings: {
76
+ colormap,
77
+ },
74
78
  modules: [project, picking, localPhongLighting, utilities],
75
- isInstanced: false, // This only works when set to false.
79
+ isInstanced: false,
76
80
  });
77
- // MESH LINES
78
- const mesh_lines_model = new Model(gl, {
81
+ const mesh_lines_model = new Model(context.device, {
79
82
  id: `${this.props.id}-lines`,
80
83
  vs: vsLineShader,
81
84
  fs: fsLineShader,
82
85
  geometry: new Geometry(this.props.meshLines),
86
+ bufferLayout: this.getAttributeManager().getBufferLayouts(),
87
+ uniforms: {
88
+ ZIncreasingDownwards: this.props.ZIncreasingDownwards,
89
+ },
83
90
  modules: [project, picking],
84
91
  isInstanced: false,
85
92
  });
86
93
  return [mesh_model, mesh_lines_model];
87
94
  }
88
- // Signature from the base class, eslint doesn't like the any type.
89
- // eslint-disable-next-line
90
95
  draw(args) {
91
96
  if (!this.state["models"]) {
92
97
  return;
93
98
  }
94
- const { uniforms, context } = args;
99
+ const { context } = args;
95
100
  const { gl } = context;
96
101
  const [model_mesh, mesh_lines_model] = this.state["models"];
97
102
  gl.enable(gl.POLYGON_OFFSET_FILL);
@@ -99,16 +104,10 @@ export default class PrivateLayer extends Layer {
99
104
  if (!this.props.depthTest) {
100
105
  gl.disable(gl.DEPTH_TEST);
101
106
  }
102
- const propertyUniforms = this.getPropertyUniforms(context);
103
- model_mesh
104
- .setUniforms(Object.assign(Object.assign(Object.assign({}, uniforms), propertyUniforms), { coloringMode: this.props.coloringMode, ZIncreasingDownwards: this.props.ZIncreasingDownwards }))
105
- .draw();
107
+ model_mesh.draw(context.renderPass);
106
108
  gl.disable(gl.POLYGON_OFFSET_FILL);
107
- // Draw lines.
108
109
  if (this.props.gridLines) {
109
- mesh_lines_model
110
- .setUniforms(Object.assign(Object.assign({}, uniforms), { ZIncreasingDownwards: this.props.ZIncreasingDownwards }))
111
- .draw();
110
+ mesh_lines_model.draw(context.renderPass);
112
111
  }
113
112
  if (!this.props.depthTest) {
114
113
  gl.enable(gl.DEPTH_TEST);
@@ -202,8 +201,7 @@ export default class PrivateLayer extends Layer {
202
201
  isColoringDiscrete: false,
203
202
  };
204
203
  }
205
- // eslint-disable-next-line
206
- getPropertyUniforms(context) {
204
+ getPropertyUniforms() {
207
205
  var _a, _b, _c, _d, _e, _f, _g, _h;
208
206
  const valueRangeMin = (_b = (_a = this.props.propertyValueRange) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 0.0;
209
207
  const valueRangeMax = (_d = (_c = this.props.propertyValueRange) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : 1.0;
@@ -218,30 +216,49 @@ export default class PrivateLayer extends Layer {
218
216
  ? this.props.colorMapClampColor
219
217
  : [0, 0, 0];
220
218
  // Normalize to [0,1] range.
221
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
222
- // @ts-ignore
223
219
  colorMapClampColor = colorMapClampColor.map((x) => (x !== null && x !== void 0 ? x : 0) / 255);
224
220
  const isColorMapClampColorTransparent = this.props.colorMapClampColor === false;
225
221
  const imageData = this.getImageData();
226
- const colormap = new Texture2D(context.gl, {
227
- width: imageData.count,
228
- height: 1,
229
- format: GL.RGB,
230
- data: imageData.data,
231
- parameters: imageData.parameters,
232
- });
233
- return {
234
- colormap,
235
- valueRangeMin,
222
+ return Object.assign(Object.assign({ valueRangeMin,
236
223
  valueRangeMax,
237
224
  colorMapRangeMin,
238
- colorMapRangeMax,
239
- colorMapClampColor,
240
- isColorMapClampColorTransparent,
241
- isClampColor,
242
- isColoringDiscrete: imageData.isColoringDiscrete,
243
- colorMapSize: imageData.count,
244
- };
225
+ colorMapRangeMax, undefinedPropertyColor: this.props.undefinedPropertyColor }, (colorMapClampColor ? { colorMapClampColor } : {})), { isColorMapClampColorTransparent,
226
+ isClampColor, isColoringDiscrete: imageData.isColoringDiscrete, colorMapSize: imageData.count });
227
+ }
228
+ getTexture(context) {
229
+ if (this.props.colorMapFunction instanceof Uint8Array) {
230
+ const imageData = this.getImageData();
231
+ const count = this.props.colorMapFunction.length / 3;
232
+ if (count === 0) {
233
+ const colormap = context.device.createTexture({
234
+ width: imageData.count,
235
+ height: 1,
236
+ format: "rgb8unorm-webgl",
237
+ data: new Uint8Array([0, 0, 0, 0, 0, 0]),
238
+ sampler: DISCRETE_TEXTURE_PARAMETERS,
239
+ });
240
+ return colormap;
241
+ }
242
+ const sampler = this.props.coloringMode === TGrid3DColoringMode.Property
243
+ ? DISCRETE_TEXTURE_PARAMETERS
244
+ : DEFAULT_TEXTURE_PARAMETERS;
245
+ const colormap = context.device.createTexture({
246
+ width: imageData.count,
247
+ height: 1,
248
+ format: "rgb8unorm-webgl",
249
+ data: imageData.data,
250
+ sampler,
251
+ });
252
+ return colormap;
253
+ }
254
+ const data = getImageData(this.props.colorMapName, this.context.userData.colorTables, this.props.colorMapFunction);
255
+ const colormap = context.device.createTexture({
256
+ width: 256,
257
+ height: 1,
258
+ format: "rgb8unorm-webgl",
259
+ data: data,
260
+ });
261
+ return colormap;
245
262
  }
246
263
  }
247
264
  PrivateLayer.layerName = "PrivateLayer";
@@ -1 +1 @@
1
- {"version":3,"file":"privateGrid3dLayer.js","sourceRoot":"","sources":["../../../src/layers/grid3d/privateGrid3dLayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"privateGrid3dLayer.js","sourceRoot":"","sources":["../../../src/layers/grid3d/privateGrid3dLayer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import type { GeometryProps } from "@luma.gl/engine";
1
2
  export type MeshType = {
2
- drawMode?: number;
3
+ drawMode: GeometryProps["topology"];
3
4
  attributes: {
4
5
  positions: {
5
6
  value: Float32Array;
@@ -21,7 +22,8 @@ export type MeshType = {
21
22
  vertexCount: number;
22
23
  };
23
24
  export type MeshTypeLines = {
24
- drawMode: number;
25
+ drawMode: GeometryProps["topology"];
26
+ topology: GeometryProps["topology"];
25
27
  attributes: {
26
28
  positions: {
27
29
  value: Float32Array;
@@ -1,2 +1,2 @@
1
- declare const vsShader = "#version 300 es\n#define SHADER_NAME grid3d-vertex-shader\nprecision highp float;\n\nattribute vec3 positions;\nattribute float properties;\nattribute vec3 normals;\n\nuniform lowp int coloringMode;\n\n// Outputs to fragment shader\nout vec3 cameraPosition;\nout vec4 position_commonspace;\nflat out float property;\nout float property_interpolated;\n\nflat out vec3 normal;\nflat out int vertexIndex;\n\nuniform bool ZIncreasingDownwards;\n\nconst vec3 pickingColor = vec3(1.0, 1.0, 0.0);\n\nvoid main(void) { \n \n vertexIndex = gl_VertexID;\n cameraPosition = project_uCameraPosition; \n geometry.pickingColor = pickingColor;\n\n normal = normals;\n vec3 position = positions;\n\n float zSign = ZIncreasingDownwards ? -1.0 : 1.0;\n\n position.z *= zSign;\n normal.z *= zSign;\n\n switch(coloringMode) {\n case 0: property = properties; break;\n case 1: property_interpolated = position.x; break;\n case 2: property_interpolated = position.y; break;\n case 3: property_interpolated = position.z; break;\n default: property = properties; break;\n }\n\n position_commonspace = vec4(project_position(position), 0.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n";
1
+ declare const vsShader = "#version 300 es\n#define SHADER_NAME grid3d-vertex-shader\nprecision highp float;\n\nin vec3 positions;\nin float properties;\nin vec3 normals;\n\nuniform lowp int coloringMode;\n\n// Outputs to fragment shader\nout vec3 cameraPosition;\nout vec4 position_commonspace;\nflat out float property;\nout float property_interpolated;\n\nflat out vec3 normal;\nflat out int vertexIndex;\n\nuniform bool ZIncreasingDownwards;\n\nconst vec3 pickingColor = vec3(1.0, 1.0, 0.0);\n\nvoid main(void) { \n \n vertexIndex = gl_VertexID;\n cameraPosition = project_uCameraPosition; \n geometry.pickingColor = pickingColor;\n\n normal = normals;\n vec3 position = positions;\n\n float zSign = ZIncreasingDownwards ? -1.0 : 1.0;\n\n position.z *= zSign;\n normal.z *= zSign;\n\n switch(coloringMode) {\n case 0: property = properties; break;\n case 1: property_interpolated = position.x; break;\n case 2: property_interpolated = position.y; break;\n case 3: property_interpolated = position.z; break;\n default: property = properties; break;\n }\n\n position_commonspace = vec4(project_position(position), 0.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n";
2
2
  export default vsShader;
@@ -3,9 +3,9 @@ const vsShader = `\
3
3
  #define SHADER_NAME grid3d-vertex-shader
4
4
  precision highp float;
5
5
 
6
- attribute vec3 positions;
7
- attribute float properties;
8
- attribute vec3 normals;
6
+ in vec3 positions;
7
+ in float properties;
8
+ in vec3 normals;
9
9
 
10
10
  uniform lowp int coloringMode;
11
11
 
@@ -654,13 +654,18 @@ export function makeFullMesh(e) {
654
654
  counts: currentCounts,
655
655
  };
656
656
  };
657
+ const isPropertyValueDefined = (value, undefinedValue) => {
658
+ return (
659
+ // For some reason propertyValue happens to be null.
660
+ value !== null && !(Number.isNaN(value) || value === undefinedValue));
661
+ };
657
662
  /**
658
663
  * Creates empty meshes.
659
664
  * @returns Empty meshes with empty data arrays and zero vertex counts.
660
665
  */
661
666
  const createEmptyMeshes = () => {
662
667
  const mesh = {
663
- drawMode: 4, // corresponds to GL.TRIANGLES,
668
+ drawMode: "triangle-list",
664
669
  attributes: {
665
670
  positions: { value: new Float32Array(), size: 3 },
666
671
  properties: { value: new Float32Array(), size: 1 },
@@ -669,7 +674,8 @@ export function makeFullMesh(e) {
669
674
  vertexCount: 0,
670
675
  };
671
676
  const mesh_lines = {
672
- drawMode: 1, // corresponds to GL.LINES,
677
+ drawMode: "line-list",
678
+ topology: "line-list",
673
679
  attributes: {
674
680
  positions: { value: new Float32Array(), size: 3 },
675
681
  indices: { value: new Uint32Array(), size: 1 },
@@ -687,8 +693,8 @@ export function makeFullMesh(e) {
687
693
  const params = e.data;
688
694
  const polys = params.polys;
689
695
  const properties = params.properties;
690
- let propertyValueRangeMin = +99999999;
691
- let propertyValueRangeMax = -99999999;
696
+ let propertyValueRangeMin = Number.POSITIVE_INFINITY;
697
+ let propertyValueRangeMax = Number.NEGATIVE_INFINITY;
692
698
  let pn = 0;
693
699
  let i = 0;
694
700
  const counts = getPrimitiveCounts(polys);
@@ -705,9 +711,8 @@ export function makeFullMesh(e) {
705
711
  while (i < polys.length &&
706
712
  arraysIndex < meshArrays.arrays.trianglePoints.length - 3) {
707
713
  const n = polys[i];
708
- const propertyValue = properties[pn++];
709
- if (propertyValue !== null) {
710
- // For some reason propertyValue happens to be null.
714
+ let propertyValue = properties[pn++];
715
+ if (isPropertyValueDefined(propertyValue, params.undefinedValue)) {
711
716
  propertyValueRangeMin =
712
717
  propertyValue < propertyValueRangeMin
713
718
  ? propertyValue
@@ -717,6 +722,9 @@ export function makeFullMesh(e) {
717
722
  ? propertyValue
718
723
  : propertyValueRangeMax;
719
724
  }
725
+ else {
726
+ propertyValue = Number.NaN;
727
+ }
720
728
  // Lines.
721
729
  for (let j = i + 1; j < i + n; ++j) {
722
730
  meshArrays.arrays.lineIndices[linesIndex] = polys[j];
@@ -758,7 +766,7 @@ export function makeFullMesh(e) {
758
766
  console.log("Number of polygons: ", pn);
759
767
  console.log("Number of triangles: ", meshArrays.counts.triangles);
760
768
  const mesh = {
761
- drawMode: 4, // corresponds to GL.TRIANGLES,
769
+ drawMode: "triangle-list",
762
770
  attributes: {
763
771
  positions: { value: meshArrays.arrays.trianglePoints, size: 3 },
764
772
  properties: { value: meshArrays.arrays.properties, size: 1 },
@@ -767,7 +775,8 @@ export function makeFullMesh(e) {
767
775
  vertexCount: trianglesVertexCount,
768
776
  };
769
777
  const mesh_lines = {
770
- drawMode: 1, // corresponds to GL.LINES,
778
+ drawMode: "line-list",
779
+ topology: "line-list",
771
780
  attributes: {
772
781
  positions: { value: params.points, size: 3 },
773
782
  indices: { value: meshArrays.arrays.lineIndices, size: 1 },
@@ -1 +1 @@
1
- {"version":3,"file":"webworker.js","sourceRoot":"","sources":["../../../src/layers/grid3d/webworker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webworker.js","sourceRoot":"","sources":["../../../src/layers/grid3d/webworker.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- declare const fsHillshading = "#define SHADER_NAME hillshading2d-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nvarying vec2 vTexCoord;\n\nuniform sampler2D bitmapTexture; // Property map\nuniform vec2 bitmapResolution;\n\nuniform float valueRangeSize;\n\nuniform vec3 lightDirection;\nuniform float ambientLightIntensity;\nuniform float diffuseLightIntensity;\nuniform float opacity;\n\n// Compute the normal value for every pixel, based on the current value and two values aroud it.\nvec3 normal(float val) {\n vec2 dr = 1.0 / bitmapResolution;\n float p0 = valueRangeSize * val;\n float px = valueRangeSize * decode_rgb2float(texture2D(bitmapTexture, vTexCoord + vec2(1.0, 0.0) / bitmapResolution).rgb);\n float py = valueRangeSize * decode_rgb2float(texture2D(bitmapTexture, vTexCoord + vec2(0.0, 1.0) / bitmapResolution).rgb);\n vec3 dx = vec3(1.0, 0.0, px - p0);\n vec3 dy = vec3(0.0, 1.0, py - p0);\n\n return normalize(cross(dx, dy));\n}\n\n// Compute how much a pixel is in the shadow based on its normal and where the light comes from.\nfloat shadow(vec3 normal) {\n float diffuse = diffuseLightIntensity * dot(normal, normalize(lightDirection));\n return clamp(ambientLightIntensity + diffuse, 0.0, 1.0);\n}\n\nvoid main(void) {\n vec4 bitmapColor = texture2D(bitmapTexture, vTexCoord);\n\n // If it's a picking pass, we just return the raw property map value.\n if (picking_uActive) {\n gl_FragColor = bitmapColor;\n return;\n }\n\n // Decode the RGB value into a float. See decoder.fs.glsl for more details.\n float val = decode_rgb2float(bitmapColor.rgb);\n // Compute the shadow value, how dark a pixel will be, 1 is in complete shadow, 0 is in complete light.\n float shadow = shadow(normal(val));\n\n // The final pixel is black, with the opacity based on the shadow value,\n // opacity 0 if pixel is completely in the light, opacity 1 if pixel is completely in the shadow.\n // The property map opacity (some portions of the property map can be transparent) and\n // the user provided image-wide opacity value are also taken into account.\n gl_FragColor = vec4(vec3(0.0), (1.0-shadow) * bitmapColor.a * opacity);\n\n geometry.uv = vTexCoord;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n";
1
+ declare const fsHillshading = "#version 300 es\n#define SHADER_NAME hillshading2d-shader\n\nprecision highp float;\n\nin vec2 vTexCoord;\n\nout vec4 fragColor;\n\nuniform sampler2D bitmapTexture; // Property map\nuniform vec2 bitmapResolution;\n\nuniform float valueRangeSize;\n\nuniform vec3 lightDirection;\nuniform float ambientLightIntensity;\nuniform float diffuseLightIntensity;\nuniform float opacity;\n\n// Compute the normal value for every pixel, based on the current value and two values aroud it.\nvec3 normal(float val) {\n vec2 dr = 1.0 / bitmapResolution;\n float p0 = valueRangeSize * val;\n\n float px = valueRangeSize * decode_rgb2float(texture(bitmapTexture, vTexCoord + vec2(1.0, 0.0) / bitmapResolution).rgb);\n float py = valueRangeSize * decode_rgb2float(texture(bitmapTexture, vTexCoord + vec2(0.0, 1.0) / bitmapResolution).rgb);\n vec3 dx = vec3(1.0, 0.0, px - p0);\n vec3 dy = vec3(0.0, 1.0, py - p0);\n\n return normalize(cross(dx, dy));\n}\n\n// Compute how much a pixel is in the shadow based on its normal and where the light comes from.\nfloat shadow(vec3 normal) {\n float diffuse = diffuseLightIntensity * dot(normal, normalize(lightDirection));\n return clamp(ambientLightIntensity + diffuse, 0.0, 1.0);\n}\n\nvoid main(void) {\n vec4 bitmapColor = texture(bitmapTexture, vTexCoord);\n\n // If it's a picking pass, we just return the raw property map value.\n if (picking.isActive > 0.5) {\n fragColor = bitmapColor;\n return;\n }\n\n // Decode the RGB value into a float. See decoder.fs.glsl for more details.\n float val = decode_rgb2float(bitmapColor.rgb);\n // Compute the shadow value, how dark a pixel will be, 1 is in complete shadow, 0 is in complete light.\n float shadow = shadow(normal(val));\n\n // The final pixel is black, with the opacity based on the shadow value,\n // opacity 0 if pixel is completely in the light, opacity 1 if pixel is completely in the shadow.\n // The property map opacity (some portions of the property map can be transparent) and\n // the user provided image-wide opacity value are also taken into account.\n fragColor = vec4(vec3(0.0), (1.0-shadow) * bitmapColor.a * opacity);\n\n geometry.uv = vTexCoord;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
2
2
  export default fsHillshading;
@@ -1,10 +1,11 @@
1
- const fsHillshading = `#define SHADER_NAME hillshading2d-shader
1
+ const fsHillshading = `#version 300 es
2
+ #define SHADER_NAME hillshading2d-shader
2
3
 
3
- #ifdef GL_ES
4
4
  precision highp float;
5
- #endif
6
5
 
7
- varying vec2 vTexCoord;
6
+ in vec2 vTexCoord;
7
+
8
+ out vec4 fragColor;
8
9
 
9
10
  uniform sampler2D bitmapTexture; // Property map
10
11
  uniform vec2 bitmapResolution;
@@ -20,8 +21,9 @@ uniform float opacity;
20
21
  vec3 normal(float val) {
21
22
  vec2 dr = 1.0 / bitmapResolution;
22
23
  float p0 = valueRangeSize * val;
23
- float px = valueRangeSize * decode_rgb2float(texture2D(bitmapTexture, vTexCoord + vec2(1.0, 0.0) / bitmapResolution).rgb);
24
- float py = valueRangeSize * decode_rgb2float(texture2D(bitmapTexture, vTexCoord + vec2(0.0, 1.0) / bitmapResolution).rgb);
24
+
25
+ float px = valueRangeSize * decode_rgb2float(texture(bitmapTexture, vTexCoord + vec2(1.0, 0.0) / bitmapResolution).rgb);
26
+ float py = valueRangeSize * decode_rgb2float(texture(bitmapTexture, vTexCoord + vec2(0.0, 1.0) / bitmapResolution).rgb);
25
27
  vec3 dx = vec3(1.0, 0.0, px - p0);
26
28
  vec3 dy = vec3(0.0, 1.0, py - p0);
27
29
 
@@ -35,11 +37,11 @@ float shadow(vec3 normal) {
35
37
  }
36
38
 
37
39
  void main(void) {
38
- vec4 bitmapColor = texture2D(bitmapTexture, vTexCoord);
40
+ vec4 bitmapColor = texture(bitmapTexture, vTexCoord);
39
41
 
40
42
  // If it's a picking pass, we just return the raw property map value.
41
- if (picking_uActive) {
42
- gl_FragColor = bitmapColor;
43
+ if (picking.isActive > 0.5) {
44
+ fragColor = bitmapColor;
43
45
  return;
44
46
  }
45
47
 
@@ -52,10 +54,10 @@ void main(void) {
52
54
  // opacity 0 if pixel is completely in the light, opacity 1 if pixel is completely in the shadow.
53
55
  // The property map opacity (some portions of the property map can be transparent) and
54
56
  // the user provided image-wide opacity value are also taken into account.
55
- gl_FragColor = vec4(vec3(0.0), (1.0-shadow) * bitmapColor.a * opacity);
57
+ fragColor = vec4(vec3(0.0), (1.0-shadow) * bitmapColor.a * opacity);
56
58
 
57
59
  geometry.uv = vTexCoord;
58
- DECKGL_FILTER_COLOR(gl_FragColor, geometry);
60
+ DECKGL_FILTER_COLOR(fragColor, geometry);
59
61
  }
60
62
  `;
61
63
  export default fsHillshading;
@@ -1 +1 @@
1
- {"version":3,"file":"hillshading2d.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/hillshading2d/hillshading2d.fs.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DrB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"hillshading2d.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/hillshading2d/hillshading2d.fs.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DrB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
- import type { BitmapLayerProps } from "@deck.gl/layers/typed";
3
- import { BitmapLayer } from "@deck.gl/layers/typed";
4
- import type { PickingInfo } from "@deck.gl/core/typed";
5
- import type { ValueDecoder } from "../utils/propertyMapTools";
6
- import type { LayerPickInfo } from "../../layers/utils/layerTools";
2
+ import type { PickingInfo } from "@deck.gl/core";
3
+ import type { BitmapLayerPickingInfo, BitmapLayerProps } from "@deck.gl/layers";
4
+ import { BitmapLayer } from "@deck.gl/layers";
7
5
  import type { ReportBoundingBoxAction } from "../../components/Map";
6
+ import type { LayerPickInfo } from "../../layers/utils/layerTools";
7
+ import type { ValueDecoder } from "../utils/propertyMapTools";
8
8
  export interface Hillshading2DProps extends BitmapLayerProps {
9
9
  valueRange: [number, number];
10
10
  lightDirection: [number, number, number];
@@ -19,7 +19,7 @@ export default class Hillshading2DLayer extends BitmapLayer<Hillshading2DProps>
19
19
  initializeState(): void;
20
20
  draw({ moduleParameters, uniforms }: any): void;
21
21
  getShaders(): any;
22
- getPickingInfo({ info }: {
22
+ getPickingInfo({ info, }: {
23
23
  info: PickingInfo;
24
- }): LayerPickInfo;
24
+ }): BitmapLayerPickingInfo & LayerPickInfo;
25
25
  }