@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.
- package/dist/DashSubsurfaceViewer.js +1 -1
- package/dist/DashSubsurfaceViewer.js.map +1 -1
- package/dist/SubsurfaceViewer.d.ts +11 -1
- package/dist/SubsurfaceViewer.js +0 -9
- package/dist/SubsurfaceViewer.js.map +1 -1
- package/dist/components/ColorLegend.d.ts +1 -1
- package/dist/components/ColorLegend.js.map +1 -1
- package/dist/components/DistanceScale.d.ts +1 -3
- package/dist/components/DistanceScale.js +1 -9
- package/dist/components/DistanceScale.js.map +1 -1
- package/dist/components/Map.d.ts +8 -4
- package/dist/components/Map.js +16 -34
- package/dist/components/Map.js.map +1 -1
- package/dist/extensions/side-projection-extension.d.ts +4 -3
- package/dist/extensions/side-projection-extension.js +7 -6
- package/dist/extensions/side-projection-extension.js.map +1 -1
- package/dist/layers/BoxSelectionLayer/boxSelectionLayer.d.ts +3 -4
- package/dist/layers/BoxSelectionLayer/boxSelectionLayer.js +4 -7
- package/dist/layers/BoxSelectionLayer/boxSelectionLayer.js.map +1 -1
- package/dist/layers/axes/axesLayer.d.ts +3 -3
- package/dist/layers/axes/axesLayer.js +6 -4
- package/dist/layers/axes/axesLayer.js.map +1 -1
- package/dist/layers/axes/boxLayer.d.ts +2 -2
- package/dist/layers/axes/boxLayer.js +5 -8
- package/dist/layers/axes/boxLayer.js.map +1 -1
- package/dist/layers/axes2d/axes2DLayer.d.ts +4 -5
- package/dist/layers/axes2d/axes2DLayer.js +23 -23
- package/dist/layers/axes2d/axes2DLayer.js.map +1 -1
- package/dist/layers/colormap/colormap.fs.glsl.d.ts +1 -1
- package/dist/layers/colormap/colormap.fs.glsl.js +11 -10
- package/dist/layers/colormap/colormap.fs.glsl.js.map +1 -1
- package/dist/layers/colormap/colormapLayer.d.ts +6 -6
- package/dist/layers/colormap/colormapLayer.js +14 -28
- package/dist/layers/colormap/colormapLayer.js.map +1 -1
- package/dist/layers/drawing/drawingLayer.d.ts +3 -3
- package/dist/layers/drawing/drawingLayer.js +8 -7
- package/dist/layers/drawing/drawingLayer.js.map +1 -1
- package/dist/layers/fault_polygons/faultPolygonsLayer.d.ts +3 -3
- package/dist/layers/fault_polygons/faultPolygonsLayer.js +3 -4
- package/dist/layers/fault_polygons/faultPolygonsLayer.js.map +1 -1
- package/dist/layers/grid3d/fragment.fs.glsl.d.ts +1 -1
- package/dist/layers/grid3d/fragment.fs.glsl.js +20 -13
- package/dist/layers/grid3d/fragment.fs.glsl.js.map +1 -1
- package/dist/layers/grid3d/fragment_lines.glsl.d.ts +1 -1
- package/dist/layers/grid3d/fragment_lines.glsl.js +0 -7
- package/dist/layers/grid3d/fragment_lines.glsl.js.map +1 -1
- package/dist/layers/grid3d/grid3dLayer.d.ts +20 -3
- package/dist/layers/grid3d/grid3dLayer.js +20 -2
- package/dist/layers/grid3d/grid3dLayer.js.map +1 -1
- package/dist/layers/grid3d/privateGrid3dLayer.d.ts +12 -4
- package/dist/layers/grid3d/privateGrid3dLayer.js +73 -56
- package/dist/layers/grid3d/privateGrid3dLayer.js.map +1 -1
- package/dist/layers/grid3d/typeDefs.d.ts +4 -2
- package/dist/layers/grid3d/vertex.glsl.d.ts +1 -1
- package/dist/layers/grid3d/vertex.glsl.js +3 -3
- package/dist/layers/grid3d/webworker.js +18 -9
- package/dist/layers/grid3d/webworker.js.map +1 -1
- package/dist/layers/hillshading2d/hillshading2d.fs.glsl.d.ts +1 -1
- package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js +13 -11
- package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js.map +1 -1
- package/dist/layers/hillshading2d/hillshading2dLayer.d.ts +7 -7
- package/dist/layers/hillshading2d/hillshading2dLayer.js +5 -11
- package/dist/layers/hillshading2d/hillshading2dLayer.js.map +1 -1
- package/dist/layers/intersection/unfoldedGeoJsonLayer.d.ts +2 -2
- package/dist/layers/intersection/unfoldedGeoJsonLayer.js +1 -1
- package/dist/layers/intersection/unfoldedGeoJsonLayer.js.map +1 -1
- package/dist/layers/map/fragment.fs.glsl.d.ts +1 -1
- package/dist/layers/map/fragment.fs.glsl.js +13 -19
- package/dist/layers/map/fragment.fs.glsl.js.map +1 -1
- package/dist/layers/map/mapLayer.d.ts +4 -4
- package/dist/layers/map/mapLayer.js +1 -1
- package/dist/layers/map/mapLayer.js.map +1 -1
- package/dist/layers/map/privateMapLayer.d.ts +10 -5
- package/dist/layers/map/privateMapLayer.js +73 -72
- package/dist/layers/map/privateMapLayer.js.map +1 -1
- package/dist/layers/map/webworker.d.ts +1 -1
- package/dist/layers/map/webworker.js +4 -4
- package/dist/layers/map/webworker.js.map +1 -1
- package/dist/layers/northarrow/northArrow3DLayer.d.ts +4 -4
- package/dist/layers/northarrow/northArrow3DLayer.js +7 -10
- package/dist/layers/northarrow/northArrow3DLayer.js.map +1 -1
- package/dist/layers/piechart/fragment.glsl.d.ts +1 -1
- package/dist/layers/piechart/fragment.glsl.js +1 -1
- package/dist/layers/piechart/pieChartLayer.d.ts +3 -4
- package/dist/layers/piechart/pieChartLayer.js +10 -9
- package/dist/layers/piechart/pieChartLayer.js.map +1 -1
- package/dist/layers/points/pointsLayer.d.ts +3 -3
- package/dist/layers/points/pointsLayer.js +1 -1
- package/dist/layers/points/pointsLayer.js.map +1 -1
- package/dist/layers/points/privatePointsLayer.d.ts +4 -13
- package/dist/layers/points/privatePointsLayer.js +5 -5
- package/dist/layers/points/privatePointsLayer.js.map +1 -1
- package/dist/layers/points/vertex.glsl.d.ts +1 -1
- package/dist/layers/points/vertex.glsl.js +14 -13
- package/dist/layers/points/vertex.glsl.js.map +1 -1
- package/dist/layers/polylines/polylinesLayer.d.ts +3 -3
- package/dist/layers/polylines/polylinesLayer.js +5 -3
- package/dist/layers/polylines/polylinesLayer.js.map +1 -1
- package/dist/layers/polylines/privatePolylinesLayer.d.ts +37 -9
- package/dist/layers/polylines/privatePolylinesLayer.js +6 -6
- package/dist/layers/polylines/privatePolylinesLayer.js.map +1 -1
- package/dist/layers/selectable_geojson/selectableGeoJsonLayer.d.ts +2 -2
- package/dist/layers/selectable_geojson/selectableGeoJsonLayer.js +1 -1
- package/dist/layers/selectable_geojson/selectableGeoJsonLayer.js.map +1 -1
- package/dist/layers/shader_modules/localPhongLighting.d.ts +19 -1
- package/dist/layers/triangle/fragment.fs.glsl.d.ts +1 -1
- package/dist/layers/triangle/fragment.fs.glsl.js +4 -3
- package/dist/layers/triangle/fragment.fs.glsl.js.map +1 -1
- package/dist/layers/triangle/fragment_lines.glsl.d.ts +1 -1
- package/dist/layers/triangle/fragment_lines.glsl.js +2 -2
- package/dist/layers/triangle/privateTriangleLayer.d.ts +9 -8
- package/dist/layers/triangle/privateTriangleLayer.js +21 -16
- package/dist/layers/triangle/privateTriangleLayer.js.map +1 -1
- package/dist/layers/triangle/triangleLayer.d.ts +4 -4
- package/dist/layers/triangle/triangleLayer.js +5 -3
- package/dist/layers/triangle/triangleLayer.js.map +1 -1
- package/dist/layers/triangle/webworker.js +2 -2
- package/dist/layers/triangle/webworker.js.map +1 -1
- package/dist/layers/utils/layerTools.d.ts +3 -3
- package/dist/layers/utils/propertyMapTools.d.ts +1 -1
- package/dist/layers/well_markers/fragment.glsl.d.ts +1 -1
- package/dist/layers/well_markers/fragment.glsl.js +4 -3
- package/dist/layers/well_markers/fragment.glsl.js.map +1 -1
- package/dist/layers/well_markers/vertex.glsl.d.ts +1 -1
- package/dist/layers/well_markers/vertex.glsl.js +10 -14
- package/dist/layers/well_markers/vertex.glsl.js.map +1 -1
- package/dist/layers/well_markers/wellMarkersLayer.d.ts +6 -4
- package/dist/layers/well_markers/wellMarkersLayer.js +43 -50
- package/dist/layers/well_markers/wellMarkersLayer.js.map +1 -1
- package/dist/layers/wells/wellsLayer.d.ts +2 -2
- package/dist/layers/wells/wellsLayer.js +4 -4
- package/dist/layers/wells/wellsLayer.js.map +1 -1
- package/dist/utils/configuration.d.ts +0 -616
- package/dist/utils/configuration.js +6 -11
- package/dist/utils/configuration.js.map +1 -1
- package/dist/utils/measurement.d.ts +1 -1
- package/dist/utils/measurement.js +1 -1
- package/dist/utils/measurement.js.map +1 -1
- package/dist/utils/specExtractor.d.ts +1 -1
- package/dist/viewports/intersectionViewport.d.ts +1 -1
- package/dist/viewports/intersectionViewport.js +1 -1
- package/dist/viewports/intersectionViewport.js.map +1 -1
- package/dist/views/intersectionView.d.ts +4 -3
- package/dist/views/intersectionView.js +1 -1
- package/dist/views/intersectionView.js.map +1 -1
- package/package.json +13 -11
- package/dist/layers/points/fragment.glsl.d.ts +0 -2
- package/dist/layers/points/fragment.glsl.js +0 -69
- package/dist/layers/points/fragment.glsl.js.map +0 -1
@@ -1,25 +1,23 @@
|
|
1
|
-
import { COORDINATE_SYSTEM, Layer, picking, project
|
2
|
-
import {
|
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
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
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
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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
|
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(
|
60
|
-
|
61
|
-
const
|
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
|
-
|
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,
|
79
|
+
isInstanced: false,
|
76
80
|
});
|
77
|
-
|
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 {
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
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":"
|
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
|
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:
|
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\
|
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
|
-
|
7
|
-
|
8
|
-
|
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:
|
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:
|
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 =
|
691
|
-
let propertyValueRangeMax =
|
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
|
-
|
709
|
-
if (propertyValue
|
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:
|
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:
|
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\
|
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 = `#
|
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
|
-
|
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
|
-
|
24
|
-
float
|
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 =
|
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 (
|
42
|
-
|
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
|
-
|
57
|
+
fragColor = vec4(vec3(0.0), (1.0-shadow) * bitmapColor.a * opacity);
|
56
58
|
|
57
59
|
geometry.uv = vTexCoord;
|
58
|
-
DECKGL_FILTER_COLOR(
|
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
|
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 {
|
3
|
-
import {
|
4
|
-
import
|
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
|
}
|