@webviz/subsurface-viewer 0.20.4 → 0.20.5
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/layers/grid3d/fragment.fs.glsl.d.ts +1 -1
- package/dist/layers/grid3d/fragment.fs.glsl.js +42 -5
- package/dist/layers/grid3d/fragment.fs.glsl.js.map +1 -1
- package/dist/layers/grid3d/privateGrid3dLayer.d.ts +2 -1
- package/dist/layers/grid3d/privateGrid3dLayer.js +29 -8
- package/dist/layers/grid3d/privateGrid3dLayer.js.map +1 -1
- package/dist/storybook/layers/__image_snapshots__/subsurfaceviewer-grid3d-layer--discrete-property-with-clamping.png +0 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const fsShader = "#version 300 es\n#define SHADER_NAME grid3d-fragment-shader\n\nprecision highp float;\n\nin vec3 cameraPosition;\nin vec4 position_commonspace;\nin float property;\n\nflat in int vertexIndex;\n\nuniform sampler2D colormap;\n\nuniform float colorMapRangeMin;\nuniform float colorMapRangeMax;\n\nuniform vec3 colorMapClampColor;\nuniform bool isClampColor;\nuniform bool isColorMapClampColorTransparent;\n\n// Calculate color from propertyValue using colormap.\nvec4
|
|
1
|
+
declare const fsShader = "#version 300 es\n#define SHADER_NAME grid3d-fragment-shader\n\nprecision highp float;\n\nin vec3 cameraPosition;\nin vec4 position_commonspace;\nin float property;\n\nflat in int vertexIndex;\n\nuniform sampler2D colormap;\n\nuniform float colorMapRangeMin;\nuniform float colorMapRangeMax;\n\nuniform bool isColoringDiscrete;\nuniform float colorMapSize;\n\nuniform vec3 colorMapClampColor;\nuniform bool isClampColor;\nuniform bool isColorMapClampColorTransparent;\n\n// Calculate color from propertyValue using continuous colormap.\nvec4 getContinuousPropertyColor (float propertyValue) {\n\n vec4 color = vec4(1.0, 1.0, 1.0, 1.0);\n float x = (propertyValue - colorMapRangeMin) / (colorMapRangeMax - colorMapRangeMin);\n if (x < 0.0 || x > 1.0) {\n // Out of range. Use clampcolor.\n if (isClampColor) {\n color = vec4(colorMapClampColor.rgb, 1.0);\n\n }\n else if (isColorMapClampColorTransparent) {\n discard;\n }\n else {\n // Use min/max color to clamp.\n x = clamp (x, 0.0, 1.0); \n color = texture2D(colormap, vec2(x, 0.5));\n }\n }\n else {\n color = texture2D(colormap, vec2(x, 0.5));\n }\n return color;\n}\n\n// Calculate color from propertyValue using discrete colormap.\nvec4 getDiscretePropertyColor (float propertyValue) {\n\n vec4 color = vec4(1.0, 1.0, 1.0, 1.0);\n float tolerance = (1.0 / colorMapSize) * 0.5;\n \n if (propertyValue < colorMapRangeMin - tolerance || propertyValue > colorMapRangeMax + tolerance) {\n // Out of range. Use clampcolor.\n if (isClampColor) {\n color = vec4(colorMapClampColor.rgb, 1.0);\n\n }\n else if (isColorMapClampColorTransparent) {\n discard;\n }\n else {\n // Use min/max color to clamp.\n float p = clamp (propertyValue, colorMapRangeMin, colorMapRangeMax);\n float x = p / colorMapSize;\n color = texture2D(colormap, vec2(x, 0.5));\n }\n }\n else {\n float x = propertyValue / colorMapSize;\n color = texture2D(colormap, vec2(x + tolerance, 0.5));\n }\n return color;\n}\n\nvec4 getPropertyColor (float propertyValue) {\n if(isColoringDiscrete) {\n return getDiscretePropertyColor (propertyValue);\n }\n return getContinuousPropertyColor (propertyValue);\n}\n\nvoid main(void) {\n\n if (picking_uActive && !picking_uAttribute) {\n gl_FragColor = encodeVertexIndexToRGB(vertexIndex); \n return;\n }\n\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n \n vec4 color = getPropertyColor(property);\n \n // Use two sided phong lighting. This has no effect if \"material\" property is not set.\n vec3 lightColor = getPhongLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n gl_FragColor = vec4(lightColor, 1.0);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n";
|
|
2
2
|
export default fsShader;
|
|
@@ -14,12 +14,15 @@ uniform sampler2D colormap;
|
|
|
14
14
|
uniform float colorMapRangeMin;
|
|
15
15
|
uniform float colorMapRangeMax;
|
|
16
16
|
|
|
17
|
+
uniform bool isColoringDiscrete;
|
|
18
|
+
uniform float colorMapSize;
|
|
19
|
+
|
|
17
20
|
uniform vec3 colorMapClampColor;
|
|
18
21
|
uniform bool isClampColor;
|
|
19
22
|
uniform bool isColorMapClampColorTransparent;
|
|
20
23
|
|
|
21
|
-
// Calculate color from propertyValue using colormap.
|
|
22
|
-
vec4
|
|
24
|
+
// Calculate color from propertyValue using continuous colormap.
|
|
25
|
+
vec4 getContinuousPropertyColor (float propertyValue) {
|
|
23
26
|
|
|
24
27
|
vec4 color = vec4(1.0, 1.0, 1.0, 1.0);
|
|
25
28
|
float x = (propertyValue - colorMapRangeMin) / (colorMapRangeMax - colorMapRangeMin);
|
|
@@ -31,12 +34,10 @@ vec4 getPropertyColor (float propertyValue) {
|
|
|
31
34
|
}
|
|
32
35
|
else if (isColorMapClampColorTransparent) {
|
|
33
36
|
discard;
|
|
34
|
-
return color;
|
|
35
37
|
}
|
|
36
38
|
else {
|
|
37
39
|
// Use min/max color to clamp.
|
|
38
|
-
x =
|
|
39
|
-
x = min(1.0, x);
|
|
40
|
+
x = clamp (x, 0.0, 1.0);
|
|
40
41
|
color = texture2D(colormap, vec2(x, 0.5));
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -46,6 +47,42 @@ vec4 getPropertyColor (float propertyValue) {
|
|
|
46
47
|
return color;
|
|
47
48
|
}
|
|
48
49
|
|
|
50
|
+
// Calculate color from propertyValue using discrete colormap.
|
|
51
|
+
vec4 getDiscretePropertyColor (float propertyValue) {
|
|
52
|
+
|
|
53
|
+
vec4 color = vec4(1.0, 1.0, 1.0, 1.0);
|
|
54
|
+
float tolerance = (1.0 / colorMapSize) * 0.5;
|
|
55
|
+
|
|
56
|
+
if (propertyValue < colorMapRangeMin - tolerance || propertyValue > colorMapRangeMax + tolerance) {
|
|
57
|
+
// Out of range. Use clampcolor.
|
|
58
|
+
if (isClampColor) {
|
|
59
|
+
color = vec4(colorMapClampColor.rgb, 1.0);
|
|
60
|
+
|
|
61
|
+
}
|
|
62
|
+
else if (isColorMapClampColorTransparent) {
|
|
63
|
+
discard;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
// Use min/max color to clamp.
|
|
67
|
+
float p = clamp (propertyValue, colorMapRangeMin, colorMapRangeMax);
|
|
68
|
+
float x = p / colorMapSize;
|
|
69
|
+
color = texture2D(colormap, vec2(x, 0.5));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
float x = propertyValue / colorMapSize;
|
|
74
|
+
color = texture2D(colormap, vec2(x + tolerance, 0.5));
|
|
75
|
+
}
|
|
76
|
+
return color;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
vec4 getPropertyColor (float propertyValue) {
|
|
80
|
+
if(isColoringDiscrete) {
|
|
81
|
+
return getDiscretePropertyColor (propertyValue);
|
|
82
|
+
}
|
|
83
|
+
return getContinuousPropertyColor (propertyValue);
|
|
84
|
+
}
|
|
85
|
+
|
|
49
86
|
void main(void) {
|
|
50
87
|
|
|
51
88
|
if (picking_uActive && !picking_uAttribute) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/grid3d/fragment.fs.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"fragment.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/grid3d/fragment.fs.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqGhB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Layer } from "@deck.gl/core/typed";
|
|
|
3
3
|
import { Model } from "@luma.gl/engine";
|
|
4
4
|
import type { DeckGLLayerContext } from "../../components/Map";
|
|
5
5
|
import type { ExtendedLayerProps, LayerPickInfo, colorMapFunctionType } from "../utils/layerTools";
|
|
6
|
-
import
|
|
6
|
+
import { TGrid3DColoringMode } from "./grid3dLayer";
|
|
7
7
|
export type MeshType = {
|
|
8
8
|
drawMode?: number;
|
|
9
9
|
attributes: {
|
|
@@ -71,6 +71,7 @@ export default class PrivateLayer extends Layer<PrivateLayerProps> {
|
|
|
71
71
|
getPickingInfo({ info }: {
|
|
72
72
|
info: PickingInfo;
|
|
73
73
|
}): LayerPickInfo;
|
|
74
|
+
private getDefaultImageData;
|
|
74
75
|
private getImageData;
|
|
75
76
|
private getPropertyUniforms;
|
|
76
77
|
}
|
|
@@ -8,14 +8,15 @@ import fsShader from "./fragment.fs.glsl";
|
|
|
8
8
|
import vsLineShader from "./vertex_lines.glsl";
|
|
9
9
|
import fsLineShader from "./fragment_lines.glsl";
|
|
10
10
|
import { localPhongLighting, utilities } from "../shader_modules";
|
|
11
|
+
import { TGrid3DColoringMode } from "./grid3dLayer";
|
|
11
12
|
const DEFAULT_TEXTURE_PARAMETERS = {
|
|
12
|
-
[GL.TEXTURE_MIN_FILTER]: GL.
|
|
13
|
+
[GL.TEXTURE_MIN_FILTER]: GL.LINEAR,
|
|
13
14
|
[GL.TEXTURE_MAG_FILTER]: GL.LINEAR,
|
|
14
15
|
[GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,
|
|
15
16
|
[GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE,
|
|
16
17
|
};
|
|
17
18
|
const DISCRETE_TEXTURE_PARAMETERS = {
|
|
18
|
-
[GL.TEXTURE_MIN_FILTER]: GL.
|
|
19
|
+
[GL.TEXTURE_MIN_FILTER]: GL.NEAREST,
|
|
19
20
|
[GL.TEXTURE_MAG_FILTER]: GL.NEAREST,
|
|
20
21
|
[GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,
|
|
21
22
|
[GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE,
|
|
@@ -145,19 +146,37 @@ export default class PrivateLayer extends Layer {
|
|
|
145
146
|
}
|
|
146
147
|
return Object.assign(Object.assign({}, info), { properties: layer_properties });
|
|
147
148
|
}
|
|
149
|
+
getDefaultImageData() {
|
|
150
|
+
return {
|
|
151
|
+
data: new Uint8Array([0, 0, 0]),
|
|
152
|
+
count: 1,
|
|
153
|
+
parameters: DISCRETE_TEXTURE_PARAMETERS,
|
|
154
|
+
isColoringDiscrete: true,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
148
157
|
getImageData() {
|
|
149
158
|
if (this.props.colorMapFunction instanceof Uint8Array) {
|
|
159
|
+
const count = this.props.colorMapFunction.length / 3;
|
|
160
|
+
if (count === 0) {
|
|
161
|
+
return this.getDefaultImageData();
|
|
162
|
+
}
|
|
163
|
+
const parameters = this.props.coloringMode === TGrid3DColoringMode.Property
|
|
164
|
+
? DISCRETE_TEXTURE_PARAMETERS
|
|
165
|
+
: DEFAULT_TEXTURE_PARAMETERS;
|
|
166
|
+
const isColoringDiscrete = this.props.coloringMode === TGrid3DColoringMode.Property;
|
|
150
167
|
return {
|
|
151
|
-
|
|
152
|
-
count
|
|
153
|
-
parameters
|
|
168
|
+
data: this.props.colorMapFunction,
|
|
169
|
+
count,
|
|
170
|
+
parameters,
|
|
171
|
+
isColoringDiscrete,
|
|
154
172
|
};
|
|
155
173
|
}
|
|
156
|
-
const
|
|
174
|
+
const data = getImageData(this.props.colorMapName, this.context.userData.colorTables, this.props.colorMapFunction);
|
|
157
175
|
return {
|
|
158
|
-
|
|
176
|
+
data,
|
|
159
177
|
count: 256,
|
|
160
178
|
parameters: DEFAULT_TEXTURE_PARAMETERS,
|
|
179
|
+
isColoringDiscrete: false,
|
|
161
180
|
};
|
|
162
181
|
}
|
|
163
182
|
// eslint-disable-next-line
|
|
@@ -185,7 +204,7 @@ export default class PrivateLayer extends Layer {
|
|
|
185
204
|
width: imageData.count,
|
|
186
205
|
height: 1,
|
|
187
206
|
format: GL.RGB,
|
|
188
|
-
data: imageData.
|
|
207
|
+
data: imageData.data,
|
|
189
208
|
parameters: imageData.parameters,
|
|
190
209
|
});
|
|
191
210
|
return {
|
|
@@ -195,6 +214,8 @@ export default class PrivateLayer extends Layer {
|
|
|
195
214
|
colorMapClampColor,
|
|
196
215
|
isColorMapClampColorTransparent,
|
|
197
216
|
isClampColor,
|
|
217
|
+
isColoringDiscrete: imageData.isColoringDiscrete,
|
|
218
|
+
colorMapSize: imageData.count,
|
|
198
219
|
};
|
|
199
220
|
}
|
|
200
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privateGrid3dLayer.js","sourceRoot":"","sources":["../../../src/layers/grid3d/privateGrid3dLayer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,OAAO,GACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQlD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"privateGrid3dLayer.js","sourceRoot":"","sources":["../../../src/layers/grid3d/privateGrid3dLayer.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|