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

122 行
3.0 KiB

  1. Shader "Engine/GridOverlay"
  2. {
  3. Properties
  4. {
  5. _MainTex ("Tile Texture", 2D) = "white" {}
  6. _ColorsTex ("Colors Texture", 2D) = "white" {}
  7. _GridU ("Grid Size U", float) = 0
  8. _GridV ("Grid Size V", float) = 0
  9. }
  10. SubShader
  11. {
  12. Tags
  13. {
  14. "IGNOREPROJECTOR" = "true"
  15. "PreviewType" = "Plane"
  16. "QUEUE" = "Transparent"
  17. "RenderType" = "Transparent"
  18. }
  19. Pass // ind: 1, name:
  20. {
  21. Tags
  22. {
  23. "IGNOREPROJECTOR" = "true"
  24. "PreviewType" = "Plane"
  25. "QUEUE" = "Transparent"
  26. "RenderType" = "Transparent"
  27. }
  28. ZWrite Off
  29. Cull Off
  30. Fog
  31. {
  32. Mode Off
  33. }
  34. Blend SrcAlpha OneMinusSrcAlpha
  35. // m_ProgramMask = 6
  36. CGPROGRAM
  37. //#pragma target 4.0
  38. #pragma vertex vert
  39. #pragma fragment frag
  40. #include "UnityCG.cginc"
  41. #define CODE_BLOCK_VERTEX
  42. //uniform float4x4 unity_ObjectToWorld;
  43. //uniform float4x4 unity_MatrixVP;
  44. uniform sampler2D _MainTex;
  45. uniform sampler2D _ColorsTex;
  46. uniform float _GridU;
  47. uniform float _GridV;
  48. struct appdata_t
  49. {
  50. float4 vertex :POSITION;
  51. float4 texcoord :TEXCOORD0;
  52. };
  53. struct OUT_Data_Vert
  54. {
  55. float2 xlv_TEXCOORD0 :TEXCOORD0;
  56. float4 vertex :SV_POSITION;
  57. };
  58. struct v2f
  59. {
  60. float2 xlv_TEXCOORD0 :TEXCOORD0;
  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. return out_v;
  75. }
  76. #define CODE_BLOCK_FRAGMENT
  77. OUT_Data_Frag frag(v2f in_f)
  78. {
  79. OUT_Data_Frag out_f;
  80. float4 tmpvar_1;
  81. float2 cc_2;
  82. float2 tc_3;
  83. float2 p_4;
  84. float2 gi_5;
  85. float tmpvar_6;
  86. tmpvar_6 = (in_f.xlv_TEXCOORD0.x * _GridU);
  87. gi_5.x = floor(tmpvar_6);
  88. float tmpvar_7;
  89. tmpvar_7 = (in_f.xlv_TEXCOORD0.y * _GridV);
  90. gi_5.y = floor(tmpvar_7);
  91. p_4.x = (tmpvar_6 - gi_5.x);
  92. p_4.y = (tmpvar_7 - gi_5.y);
  93. tc_3.x = (0.5 + ((p_4.x - p_4.y) * 0.5));
  94. tc_3.y = ((p_4.x + p_4.y) * 0.5);
  95. cc_2.x = ((gi_5.x + 0.5) / _GridU);
  96. cc_2.y = ((gi_5.y + 0.5) / _GridV);
  97. float4 tmpvar_8;
  98. tmpvar_8 = tex2D(_MainTex, tc_3);
  99. float4 tmpvar_9;
  100. tmpvar_9 = tex2D(_ColorsTex, cc_2);
  101. tmpvar_1 = (tmpvar_8 * tmpvar_9);
  102. out_f.color = tmpvar_1;
  103. return out_f;
  104. }
  105. ENDCG
  106. } // end phase
  107. }
  108. FallBack Off
  109. }