Preview_SimpleContrastNode.shader 821 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. Shader "Hidden/SimpleContrastNode"
  2. {
  3. Properties
  4. {
  5. _A ( "_RBG", 2D ) = "white" {}
  6. _B ( "_Fraction", 2D ) = "white" {}
  7. }
  8. SubShader
  9. {
  10. Pass
  11. {
  12. CGPROGRAM
  13. #include "UnityCG.cginc"
  14. #include "Preview.cginc"
  15. #pragma vertex vert_img
  16. #pragma fragment frag
  17. uniform sampler2D _A;
  18. uniform sampler2D _B;
  19. float4 CalculateContrast ( float contrastValue, float4 colorTarget )
  20. {
  21. float t = 0.5 * ( 1.0 - contrastValue );
  22. return mul ( float4x4( contrastValue, 0, 0, t, 0, contrastValue, 0, t, 0, 0, contrastValue, t, 0, 0, 0, 1 ), colorTarget );
  23. }
  24. float4 frag ( v2f_img i ) : SV_Target
  25. {
  26. float4 rgba = tex2D ( _B, i.uv );
  27. float value = tex2D ( _A, i.uv ).r;
  28. float4 finalColor = CalculateContrast( value , rgba );
  29. return finalColor;
  30. }
  31. ENDCG
  32. }
  33. }
  34. }