GrayscaleEffect.shader 656 B

123456789101112131415161718192021222324252627282930313233343536
  1. Shader "Hidden/Grayscale Effect" {
  2. Properties {
  3. _MainTex ("Base (RGB)", 2D) = "white" {}
  4. _RampTex ("Base (RGB)", 2D) = "grayscaleRamp" {}
  5. }
  6. SubShader {
  7. Pass {
  8. ZTest Always Cull Off ZWrite Off
  9. CGPROGRAM
  10. #pragma vertex vert_img
  11. #pragma fragment frag
  12. #include "UnityCG.cginc"
  13. uniform sampler2D _MainTex;
  14. uniform sampler2D _RampTex;
  15. uniform half _RampOffset;
  16. fixed4 frag (v2f_img i) : SV_Target
  17. {
  18. fixed4 original = tex2D(_MainTex, i.uv);
  19. fixed grayscale = Luminance(original.rgb);
  20. half2 remap = half2 (grayscale + _RampOffset, .5);
  21. fixed4 output = tex2D(_RampTex, remap);
  22. output.a = original.a;
  23. return output;
  24. }
  25. ENDCG
  26. }
  27. }
  28. Fallback off
  29. }