Preview_Compare.shader 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Shader "Hidden/TFHCCompareEqual"
  2. {
  3. Properties
  4. {
  5. _A ("_A", 2D) = "white" {}
  6. _B ("_B", 2D) = "white" {}
  7. _C ("_True", 2D) = "white" {}
  8. _D ( "_False", 2D ) = "white" {}
  9. }
  10. SubShader
  11. {
  12. Pass
  13. {
  14. CGPROGRAM
  15. #include "UnityCG.cginc"
  16. #include "Preview.cginc"
  17. #pragma vertex vert_img
  18. #pragma fragment frag
  19. sampler2D _A;
  20. sampler2D _B;
  21. sampler2D _C;
  22. sampler2D _D;
  23. int _Operator;
  24. float4 frag(v2f_img i) : SV_Target
  25. {
  26. float A = tex2D( _A, i.uv ).x;
  27. float B = tex2D( _B, i.uv ).x;
  28. float4 True = tex2D( _C, i.uv );
  29. float4 False = tex2D ( _D, i.uv );
  30. if( _Operator == 0 )
  31. return ( ( A == B ) ? True : False );
  32. else if( _Operator == 1 )
  33. return ( ( A != B ) ? True : False );
  34. else if( _Operator == 2 )
  35. return ( ( A > B ) ? True : False );
  36. else if( _Operator == 3 )
  37. return ( ( A >= B ) ? True : False );
  38. else if( _Operator == 4 )
  39. return ( ( A < B ) ? True : False );
  40. else
  41. return ( ( A <= B ) ? True : False );
  42. }
  43. ENDCG
  44. }
  45. }
  46. }