three-shaders
Version:
three-shaders - a library of shaders included with Three.js library
55 lines (32 loc) • 739 B
JavaScript
/**
* @author alteredq / http://alteredqualia.com/
*
* Unpack RGBA depth shader
* - show RGBA encoded depth as monochrome color
*/
function UnpackDepthRGBAShader() {
return {
uniforms: {
tDiffuse: { value: null },
opacity: { value: 1.0 }
},
vertexShader: `
varying vec2 vUv;
void main() {
vUv = uv;
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}
`,
fragmentShader: `
uniform float opacity;
uniform sampler2D tDiffuse;
varying vec2 vUv;
#include <packing>
void main() {
float depth = 1.0 - unpackRGBAToDepth( texture2D( tDiffuse, vUv ) );
gl_FragColor = opacity * vec4( vec3( depth ), 1.0 );
}
`
}
};
module.exports = UnpackDepthRGBAShader;