Preview_GrayscaleNode.shader 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. Shader "Hidden/GrayscaleNode"
  2. {
  3. Properties
  4. {
  5. _A ("_RGB", 2D) = "white" {}
  6. }
  7. SubShader
  8. {
  9. Pass //Luminance
  10. {
  11. CGPROGRAM
  12. #include "UnityCG.cginc"
  13. #include "Preview.cginc"
  14. #pragma vertex vert_img
  15. #pragma fragment frag
  16. sampler2D _A;
  17. float4 frag(v2f_img i) : SV_Target
  18. {
  19. float lum = Luminance( tex2D( _A, i.uv ) );
  20. return float4( lum.xxx, 1);
  21. }
  22. ENDCG
  23. }
  24. Pass //Natural Classic
  25. {
  26. CGPROGRAM
  27. #include "UnityCG.cginc"
  28. #include "Preview.cginc"
  29. #pragma vertex vert_img
  30. #pragma fragment frag
  31. sampler2D _A;
  32. float4 frag ( v2f_img i ) : SV_Target
  33. {
  34. float lum = dot ( tex2D ( _A, i.uv ), float3( 0.299,0.587,0.114 ) );
  35. return float4( lum.xxx, 1 );
  36. }
  37. ENDCG
  38. }
  39. Pass //Old School
  40. {
  41. CGPROGRAM
  42. #include "UnityCG.cginc"
  43. #include "Preview.cginc"
  44. #pragma vertex vert_img
  45. #pragma fragment frag
  46. sampler2D _A;
  47. float4 frag ( v2f_img i ) : SV_Target
  48. {
  49. float3 rgbValue = tex2D ( _A, i.uv ).rgb;
  50. float lum = ( rgbValue.r + rgbValue.g + rgbValue.b ) / 3;
  51. return float4( lum.xxx, 1 );
  52. }
  53. ENDCG
  54. }
  55. }
  56. }