HighlightingCut.shader 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. Shader "Hidden/Highlighted/Cut"
  2. {
  3. Properties
  4. {
  5. [HideInInspector] _MainTex ("", 2D) = "" {}
  6. [HideInInspector] _HighlightingFillAlpha ("", Range(0.0, 1.0)) = 1.0
  7. }
  8. SubShader
  9. {
  10. Lighting Off
  11. Fog { Mode off }
  12. ZWrite Off
  13. ZTest Always
  14. Cull Back
  15. Pass
  16. {
  17. Stencil
  18. {
  19. Ref 1
  20. Comp NotEqual
  21. Pass Keep
  22. ZFail Keep
  23. }
  24. CGPROGRAM
  25. #pragma vertex vert
  26. #pragma fragment frag
  27. #pragma fragmentoption ARB_precision_hint_fastest
  28. #pragma target 2.0
  29. #include "UnityCG.cginc"
  30. struct vs_input
  31. {
  32. float4 vertex : POSITION;
  33. half2 texcoord : TEXCOORD0;
  34. };
  35. struct ps_input
  36. {
  37. float4 pos : SV_POSITION;
  38. half2 uv : TEXCOORD0;
  39. };
  40. uniform sampler2D _MainTex;
  41. uniform float4 _MainTex_ST;
  42. ps_input vert(vs_input v)
  43. {
  44. ps_input o;
  45. o.pos = UnityObjectToClipPos(v.vertex);
  46. o.uv = UnityStereoScreenSpaceUVAdjust(v.texcoord, _MainTex_ST);
  47. return o;
  48. }
  49. fixed4 frag(ps_input i) : SV_Target
  50. {
  51. return tex2D(_MainTex, i.uv);
  52. }
  53. ENDCG
  54. }
  55. Pass
  56. {
  57. Stencil
  58. {
  59. Ref 1
  60. Comp Equal
  61. Pass Keep
  62. ZFail Keep
  63. }
  64. ColorMask A
  65. CGPROGRAM
  66. #pragma vertex vert
  67. #pragma fragment frag
  68. #pragma fragmentoption ARB_precision_hint_fastest
  69. #pragma target 2.0
  70. #include "UnityCG.cginc"
  71. struct vs_input
  72. {
  73. float4 vertex : POSITION;
  74. };
  75. struct ps_input
  76. {
  77. float4 pos : SV_POSITION;
  78. };
  79. uniform float _HighlightingFillAlpha;
  80. ps_input vert(vs_input v)
  81. {
  82. ps_input o;
  83. o.pos = UnityObjectToClipPos(v.vertex);
  84. return o;
  85. }
  86. fixed4 frag() : SV_Target
  87. {
  88. return fixed4(0, 0, 0, _HighlightingFillAlpha);
  89. }
  90. ENDCG
  91. }
  92. }
  93. FallBack Off
  94. }