@needle-tools/three
Version:
JavaScript 3D library
79 lines (57 loc) • 1.74 kB
JavaScript
export const vertex = /* glsl */`
varying vec3 vWorldPosition;
void main() {
vWorldPosition = worldPosition.xyz;
}
`;
export const fragment = /* glsl */`
uniform vec3 referencePosition;
uniform float nearDistance;
uniform float farDistance;
varying vec3 vWorldPosition;
void main () {
vec4 diffuseColor = vec4( 1.0 );
float dist = length( vWorldPosition - referencePosition );
dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
dist = saturate( dist ); // clamp to [ 0, 1 ]
gl_FragColor = packDepthToRGBA( dist );
}
`;