源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

91 行
1.6 KiB

  1. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  2. Shader "ApcShader/XRayEffect"
  3. {
  4. Properties
  5. {
  6. _MainTex("Base 2D", 2D) = "white"{}
  7. _XRayColor("XRay Color", Color) = (0.11,0.4,0.81,1)
  8. }
  9. SubShader
  10. {
  11. Tags{ "Queue" = "Geometry+100" "RenderType" = "Opaque" }
  12. //��ȾX��Ч����Pass
  13. Pass
  14. {
  15. Blend SrcAlpha One
  16. ZWrite Off
  17. ZTest Greater
  18. CGPROGRAM
  19. #include "Lighting.cginc"
  20. fixed4 _XRayColor;
  21. struct v2f
  22. {
  23. float4 pos : SV_POSITION;
  24. float3 normal : normal;
  25. float3 viewDir : TEXCOORD0;
  26. };
  27. v2f vert (appdata_base v)
  28. {
  29. v2f o;
  30. o.pos = UnityObjectToClipPos(v.vertex);
  31. o.viewDir = ObjSpaceViewDir(v.vertex);
  32. o.normal = v.normal;
  33. return o;
  34. }
  35. fixed4 frag(v2f i) : SV_Target
  36. {
  37. float3 normal = normalize(i.normal);
  38. float3 viewDir = normalize(i.viewDir);
  39. float rim = 1 - dot(normal, viewDir);
  40. return _XRayColor * rim;
  41. }
  42. #pragma vertex vert
  43. #pragma fragment frag
  44. ENDCG
  45. }
  46. //������Ⱦ��Pass
  47. Pass
  48. {
  49. ZWrite On
  50. CGPROGRAM
  51. #include "Lighting.cginc"
  52. sampler2D _MainTex;
  53. float4 _MainTex_ST;
  54. struct v2f
  55. {
  56. float4 pos : SV_POSITION;
  57. float2 uv : TEXCOORD0;
  58. };
  59. v2f vert(appdata_base v)
  60. {
  61. v2f o;
  62. o.pos = UnityObjectToClipPos(v.vertex);
  63. o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
  64. return o;
  65. }
  66. fixed4 frag(v2f i) : SV_Target
  67. {
  68. half4 col = tex2D(_MainTex, i.uv);
  69. clip(col.a - 0.05);
  70. return col;
  71. }
  72. #pragma vertex vert
  73. #pragma fragment frag
  74. ENDCG
  75. }
  76. }
  77. FallBack "Diffuse"
  78. }