@webviz/subsurface-viewer
Version:
3D visualization component for subsurface reservoir data
45 lines (34 loc) • 1.21 kB
JavaScript
export default `\
// Primitive attributes
in vec3 positions;
in vec3 normals;
in vec2 texCoords;
// Outputs to fragment shader
out vec3 cameraPosition;
out vec4 vPosition;
out vec3 vNormal;
out vec2 vTexCoords;
out vec4 vColor;
const vec3 pickingColor = vec3(1.0, 1.0, 0.0);
void main(void) {
geometry.pickingColor = pickingColor;
cameraPosition = project.cameraPosition;
// apply Z increasing downwards transformation if needed
vec3 position = positions;
position[2] *= triangles.ZIncreasingDownwards ? -1.0 : 1.0;
vec3 normal = normals;
normal[2] *= triangles.ZIncreasingDownwards ? -1.0 : 1.0;
vTexCoords = texCoords;
// convert from projection system to cartesian common space
vPosition = vec4(project_position(position), 0.0);
// should the normal be projected: project_normal(normal) ?
vNormal = normal;
gl_Position = project_common_position_to_clipspace(vPosition);
DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
vColor = vec4(triangles.uColor.rgb, triangles.uColor.a * layer.opacity);
DECKGL_FILTER_COLOR(vColor, geometry);
}
`;
//# sourceMappingURL=triangle.vs.glsl.js.map