@webviz/subsurface-viewer
Version:
3D visualization component for subsurface reservoir data
41 lines (31 loc) • 1.33 kB
JavaScript
export default `
in vec3 cameraPosition;
in vec3 normals_commonspace;
in vec4 position_commonspace;
in vec3 worldPos;
in vec4 vColor;
out vec4 fragColor;
void main(void) {
vec3 normal = normals_commonspace;
if (!triangles.smoothShading) {
normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));
}
vec4 color = vColor;
bool is_contours = triangles.contourReferencePoint != -1.0 && triangles.contourInterval != -1.0;
if (is_contours) {
// Contours are made of either depths or properties.
float val = (abs(worldPos.z) - triangles.contourReferencePoint) / triangles.contourInterval;
float f = fract(val);
float df = fwidth(val);
// keep: float c = smoothstep(df * 1.0, df * 2.0, f); // smoothstep from/to no of pixels distance from contour line.
float c = smoothstep(0.0, df * 2.0, f);
color = color * vec4(c, c, c, 1.0);
}
// Use two sided phong lighting. This has no effect if "material" property is not set.
vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);
fragColor = vec4(lightColor, vColor.a);
DECKGL_FILTER_COLOR(fragColor, geometry);
}
`;
//# sourceMappingURL=triangle.fs.glsl.js.map