three
Version:
JavaScript 3D library
51 lines (31 loc) • 971 B
JavaScript
export default /* glsl */`
uniform float opacity;
varying vec2 vHighPrecisionZW;
void main() {
vec4 diffuseColor = vec4( 1.0 );
diffuseColor.a = opacity;
// Higher precision equivalent of gl_FragCoord.z. This assumes depthRange has been left to its default values.
float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );
gl_FragColor = packDepthToRGBA( fragCoordZ );
}
`;