PXR_Neo3.shader 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. Shader "PXR/Neo3"
  2. {
  3. Properties
  4. {
  5. [NoScaleOffset] _MainTex("Texture", 2D) = "white" {}
  6. [KeywordEnum(CutOff,Transparent)]_RenderMode("RenderMode",float) = 0
  7. }
  8. CGINCLUDE
  9. #include "UnityCG.cginc"
  10. struct appdata
  11. {
  12. float4 vertex : POSITION;
  13. float2 uv : TEXCOORD0;
  14. };
  15. struct v2f
  16. {
  17. float2 uv : TEXCOORD0;
  18. float4 vertex : SV_POSITION;
  19. };
  20. uniform sampler2D _MainTex;
  21. uniform float4 _MainTex_ST;
  22. uniform float _AlphaScale;
  23. v2f vert(appdata v)
  24. {
  25. v2f o;
  26. o.vertex = UnityObjectToClipPos(v.vertex);
  27. o.uv = TRANSFORM_TEX(v.uv, _MainTex);
  28. return o;
  29. }
  30. fixed4 frag(v2f i) : SV_Target
  31. {
  32. fixed4 col = tex2D(_MainTex, i.uv);
  33. #if defined(_RENDERMODE_CUTOFF)
  34. clip(col.a - 0.1);
  35. #elif defined(_RENDERMODE_TRANSPARENT)
  36. #endif
  37. return col;
  38. }
  39. ENDCG
  40. SubShader
  41. {
  42. Tags
  43. {
  44. "RenderType" = "Opaque"
  45. "IgnoreProjector" = "True"
  46. "RenderPipeline" = "UniversalPipeline"
  47. }
  48. LOD 100
  49. ZWrite On
  50. ZTest On
  51. Pass
  52. {
  53. CGPROGRAM
  54. #pragma vertex vert
  55. #pragma fragment frag
  56. #pragma shader_feature _RENDERMODE_CUTOFF _RENDERMODE_TRANSPARENT
  57. ENDCG
  58. }
  59. }
  60. SubShader
  61. {
  62. Tags
  63. {
  64. "RenderType" = "Opaque"
  65. "IgnoreProjector" = "True"
  66. }
  67. LOD 100
  68. ZWrite On
  69. ZTest On
  70. Pass
  71. {
  72. Tags
  73. {
  74. "Queue" = "Geometry"
  75. }
  76. CGPROGRAM
  77. #pragma vertex vert
  78. #pragma fragment frag
  79. #pragma shader_feature _RENDERMODE_CUTOFF _RENDERMODE_TRANSPARENT
  80. ENDCG
  81. }
  82. }
  83. }