@deck.gl/core
Version:
deck.gl core library
72 lines (64 loc) • 1.44 kB
JavaScript
// deck.gl
// SPDX-License-Identifier: MIT
// Copyright (c) vis.gl contributors
const source = /* wgsl */ `\
const SMOOTH_EDGE_RADIUS: f32 = 0.5;
struct VertexGeometry {
position: vec4<f32>,
worldPosition: vec3<f32>,
worldPositionAlt: vec3<f32>,
normal: vec3<f32>,
uv: vec2<f32>,
pickingColor: vec3<f32>,
};
var<private> geometry_: VertexGeometry = VertexGeometry(
vec4<f32>(0.0, 0.0, 1.0, 0.0),
vec3<f32>(0.0, 0.0, 0.0),
vec3<f32>(0.0, 0.0, 0.0),
vec3<f32>(0.0, 0.0, 0.0),
vec2<f32>(0.0, 0.0),
vec3<f32>(0.0, 0.0, 0.0)
);
struct FragmentGeometry {
uv: vec2<f32>,
};
var<private> fragmentGeometry: FragmentGeometry;
fn smoothedge(edge: f32, x: f32) -> f32 {
return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);
}
`;
const defines = '#define SMOOTH_EDGE_RADIUS 0.5';
const vs = /* glsl */ `\
${defines}
struct VertexGeometry {
vec4 position;
vec3 worldPosition;
vec3 worldPositionAlt;
vec3 normal;
vec2 uv;
vec3 pickingColor;
} geometry = VertexGeometry(
vec4(0.0, 0.0, 1.0, 0.0),
vec3(0.0),
vec3(0.0),
vec3(0.0),
vec2(0.0),
vec3(0.0)
);
`;
const fs = /* glsl */ `\
${defines}
struct FragmentGeometry {
vec2 uv;
} geometry;
float smoothedge(float edge, float x) {
return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);
}
`;
export default {
name: 'geometry',
source,
vs,
fs
};
//# sourceMappingURL=geometry.js.map