UnpackDepthRGBAShader.js 782 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /** @module UnpackDepthRGBAShader */
  2. /**
  3. * Unpack RGBA depth shader that shows RGBA encoded depth as monochrome color.
  4. *
  5. * @constant
  6. * @type {Object}
  7. */
  8. const UnpackDepthRGBAShader = {
  9. name: 'UnpackDepthRGBAShader',
  10. uniforms: {
  11. 'tDiffuse': { value: null },
  12. 'opacity': { value: 1.0 }
  13. },
  14. vertexShader: /* glsl */`
  15. varying vec2 vUv;
  16. void main() {
  17. vUv = uv;
  18. gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
  19. }`,
  20. fragmentShader: /* glsl */`
  21. uniform float opacity;
  22. uniform sampler2D tDiffuse;
  23. varying vec2 vUv;
  24. #include <packing>
  25. void main() {
  26. float depth = 1.0 - unpackRGBAToDepth( texture2D( tDiffuse, vUv ) );
  27. gl_FragColor = vec4( vec3( depth ), opacity );
  28. }`
  29. };
  30. export { UnpackDepthRGBAShader };
粤ICP备19079148号