distanceRGBA_frag.glsl 699 B

12345678910111213141516171819202122232425262728293031
  1. #define DISTANCE
  2. uniform vec3 referencePosition;
  3. uniform float nearDistance;
  4. uniform float farDistance;
  5. varying vec3 vWorldPosition;
  6. #include <common>
  7. #include <packing>
  8. #include <uv_pars_fragment>
  9. #include <map_pars_fragment>
  10. #include <alphamap_pars_fragment>
  11. #include <clipping_planes_pars_fragment>
  12. void main () {
  13. #include <clipping_planes_fragment>
  14. vec4 diffuseColor = vec4( 1.0 );
  15. #include <map_fragment>
  16. #include <alphamap_fragment>
  17. #include <alphatest_fragment>
  18. float dist = length( vWorldPosition - referencePosition );
  19. dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
  20. dist = saturate( dist ); // clamp to [ 0, 1 ]
  21. gl_FragColor = packDepthToRGBA( dist );
  22. }