Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 

214 rindas
5.1 KiB

  1. Shader "Unlit/Transparent Greyscale (SoftClip)"
  2. {
  3. Properties
  4. {
  5. _MainTex ("Base (RGB), Alpha (A)", 2D) = "black" {}
  6. }
  7. SubShader
  8. {
  9. Tags
  10. {
  11. "IGNOREPROJECTOR" = "true"
  12. "QUEUE" = "Transparent"
  13. "RenderType" = "Transparent"
  14. }
  15. LOD 200
  16. Pass // ind: 1, name:
  17. {
  18. Tags
  19. {
  20. "IGNOREPROJECTOR" = "true"
  21. "QUEUE" = "Transparent"
  22. "RenderType" = "Transparent"
  23. }
  24. LOD 200
  25. ZWrite Off
  26. Cull Off
  27. Offset -1, -1
  28. Fog
  29. {
  30. Mode Off
  31. }
  32. Blend SrcAlpha OneMinusSrcAlpha
  33. ColorMask RGB
  34. // m_ProgramMask = 6
  35. CGPROGRAM
  36. //#pragma target 4.0
  37. #pragma vertex vert
  38. #pragma fragment frag
  39. #include "UnityCG.cginc"
  40. #define CODE_BLOCK_VERTEX
  41. //uniform float4x4 unity_ObjectToWorld;
  42. //uniform float4x4 unity_MatrixVP;
  43. uniform float4 _MainTex_ST;
  44. uniform sampler2D _MainTex;
  45. uniform float2 _ClipSharpness;
  46. struct appdata_t
  47. {
  48. float4 vertex :POSITION;
  49. float4 texcoord :TEXCOORD0;
  50. };
  51. struct OUT_Data_Vert
  52. {
  53. float2 xlv_TEXCOORD0 :TEXCOORD0;
  54. float2 xlv_TEXCOORD1 :TEXCOORD1;
  55. float4 vertex :SV_POSITION;
  56. };
  57. struct v2f
  58. {
  59. float2 xlv_TEXCOORD0 :TEXCOORD0;
  60. float2 xlv_TEXCOORD1 :TEXCOORD1;
  61. };
  62. struct OUT_Data_Frag
  63. {
  64. float4 color :SV_Target0;
  65. };
  66. OUT_Data_Vert vert(appdata_t in_v)
  67. {
  68. OUT_Data_Vert out_v;
  69. float4 tmpvar_1;
  70. tmpvar_1.w = 1;
  71. tmpvar_1.xyz = in_v.vertex.xyz;
  72. out_v.vertex = mul(unity_MatrixVP, mul(unity_ObjectToWorld, tmpvar_1));
  73. out_v.xlv_TEXCOORD0 = in_v.texcoord.xy;
  74. out_v.xlv_TEXCOORD1 = TRANSFORM_TEX(in_v.vertex.xy, _MainTex);
  75. return out_v;
  76. }
  77. #define CODE_BLOCK_FRAGMENT
  78. OUT_Data_Frag frag(v2f in_f)
  79. {
  80. OUT_Data_Frag out_f;
  81. float grey_1;
  82. float4 col_2;
  83. float2 tmpvar_3;
  84. tmpvar_3 = ((float2(1, 1) - abs(in_f.xlv_TEXCOORD1)) * _ClipSharpness);
  85. float4 tmpvar_4;
  86. tmpvar_4 = tex2D(_MainTex, in_f.xlv_TEXCOORD0);
  87. col_2 = tmpvar_4;
  88. float tmpvar_5;
  89. tmpvar_5 = (((col_2.x + col_2.z) + col_2.z) / 3);
  90. grey_1 = tmpvar_5;
  91. col_2.z = grey_1;
  92. col_2.y = grey_1;
  93. col_2.x = grey_1;
  94. float tmpvar_6;
  95. tmpvar_6 = clamp(min(tmpvar_3.x, tmpvar_3.y), 0, 1);
  96. col_2.w = (col_2.w * tmpvar_6);
  97. out_f.color = col_2;
  98. return out_f;
  99. }
  100. ENDCG
  101. } // end phase
  102. }
  103. SubShader
  104. {
  105. Tags
  106. {
  107. "IGNOREPROJECTOR" = "true"
  108. "QUEUE" = "Transparent"
  109. "RenderType" = "Transparent"
  110. }
  111. LOD 100
  112. Pass // ind: 1, name:
  113. {
  114. Tags
  115. {
  116. "IGNOREPROJECTOR" = "true"
  117. "QUEUE" = "Transparent"
  118. "RenderType" = "Transparent"
  119. }
  120. LOD 100
  121. ZWrite Off
  122. Cull Off
  123. Fog
  124. {
  125. Mode Off
  126. }
  127. Blend SrcAlpha OneMinusSrcAlpha
  128. ColorMask RGB
  129. // m_ProgramMask = 6
  130. CGPROGRAM
  131. //#pragma target 4.0
  132. #pragma vertex vert
  133. #pragma fragment frag
  134. #include "UnityCG.cginc"
  135. #define CODE_BLOCK_VERTEX
  136. //uniform float4x4 unity_ObjectToWorld;
  137. //uniform float4x4 unity_MatrixVP;
  138. uniform float4 _MainTex_ST;
  139. uniform sampler2D _MainTex;
  140. struct appdata_t
  141. {
  142. float4 vertex :POSITION;
  143. float4 color :COLOR;
  144. float4 texcoord :TEXCOORD0;
  145. };
  146. struct OUT_Data_Vert
  147. {
  148. float4 xlv_COLOR0 :COLOR0;
  149. float2 xlv_TEXCOORD0 :TEXCOORD0;
  150. float4 vertex :SV_POSITION;
  151. };
  152. struct v2f
  153. {
  154. float4 xlv_COLOR0 :COLOR0;
  155. float2 xlv_TEXCOORD0 :TEXCOORD0;
  156. };
  157. struct OUT_Data_Frag
  158. {
  159. float4 color :SV_Target0;
  160. };
  161. OUT_Data_Vert vert(appdata_t in_v)
  162. {
  163. OUT_Data_Vert out_v;
  164. float4 tmpvar_1;
  165. float4 tmpvar_2;
  166. tmpvar_2 = clamp(in_v.color, 0, 1);
  167. tmpvar_1 = tmpvar_2;
  168. float4 tmpvar_3;
  169. tmpvar_3.w = 1;
  170. tmpvar_3.xyz = in_v.vertex.xyz;
  171. out_v.xlv_COLOR0 = tmpvar_1;
  172. out_v.xlv_TEXCOORD0 = TRANSFORM_TEX(in_v.texcoord.xy, _MainTex);
  173. out_v.vertex = mul(unity_MatrixVP, mul(unity_ObjectToWorld, tmpvar_3));
  174. return out_v;
  175. }
  176. #define CODE_BLOCK_FRAGMENT
  177. OUT_Data_Frag frag(v2f in_f)
  178. {
  179. OUT_Data_Frag out_f;
  180. float4 tmpvar_1;
  181. tmpvar_1 = (tex2D(_MainTex, in_f.xlv_TEXCOORD0) * in_f.xlv_COLOR0);
  182. out_f.color = tmpvar_1;
  183. return out_f;
  184. }
  185. ENDCG
  186. } // end phase
  187. }
  188. FallBack Off
  189. }