Preview_ComponentMaskNode.shader 1001 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. Shader "Hidden/ComponentMaskNode"
  2. {
  3. Properties
  4. {
  5. _A ("_A", 2D) = "white" {}
  6. }
  7. SubShader
  8. {
  9. Pass
  10. {
  11. CGPROGRAM
  12. #include "UnityCG.cginc"
  13. #include "Preview.cginc"
  14. #pragma vertex vert_img
  15. #pragma fragment frag
  16. sampler2D _A;
  17. float _Singular;
  18. float4 _Order;
  19. float4 frag( v2f_img i ) : SV_Target
  20. {
  21. float4 a = tex2D( _A, i.uv );
  22. float4 r = 0;
  23. if(_Singular == 0)
  24. r = a.x;
  25. else if(_Singular == 1)
  26. r = a.y;
  27. else if(_Singular == 2)
  28. r = a.z;
  29. else if(_Singular == 3)
  30. r = a.w;
  31. if ( _Order.x == 0 )
  32. r.x = a.x;
  33. else if(_Order.y == 0)
  34. r.x = a.y;
  35. else if(_Order.z == 0)
  36. r.x = a.z;
  37. else if(_Order.w == 0)
  38. r.x = a.w;
  39. if(_Order.y == 1)
  40. r.y = a.y;
  41. else if(_Order.z == 1)
  42. r.y = a.z;
  43. else if(_Order.w == 1)
  44. r.y = a.w;
  45. if(_Order.z == 2)
  46. r.z = a.z;
  47. else if(_Order.w == 2)
  48. r.z = a.w;
  49. if(_Order.w == 3)
  50. r.w = a.w;
  51. return r;
  52. }
  53. ENDCG
  54. }
  55. }
  56. }