Spine-Skeleton-URP.shader 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. Shader "Universal Render Pipeline/Spine/Skeleton" {
  2. Properties {
  3. _Cutoff("Shadow alpha cutoff", Range(0,1)) = 0.1
  4. [NoScaleOffset] _MainTex("Main Texture", 2D) = "black" {}
  5. [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0
  6. [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
  7. [Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default
  8. }
  9. SubShader {
  10. // Universal Pipeline tag is required. If Universal render pipeline is not set in the graphics settings
  11. // this Subshader will fail.
  12. Tags { "RenderPipeline" = "UniversalPipeline" "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
  13. LOD 100
  14. Cull Off
  15. ZWrite Off
  16. Blend One OneMinusSrcAlpha
  17. Stencil {
  18. Ref[_StencilRef]
  19. Comp[_StencilComp]
  20. Pass Keep
  21. }
  22. Pass {
  23. Name "Forward"
  24. Tags{"LightMode" = "UniversalForward"}
  25. ZWrite Off
  26. Cull Off
  27. Blend One OneMinusSrcAlpha
  28. HLSLPROGRAM
  29. // Required to compile gles 2.0 with standard srp library
  30. #pragma prefer_hlslcc gles
  31. #pragma exclude_renderers d3d11_9x
  32. // -------------------------------------
  33. // Universal Pipeline keywords
  34. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS
  35. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE
  36. #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
  37. #pragma multi_compile _ _SHADOWS_SOFT
  38. // -------------------------------------
  39. // Unity defined keywords
  40. #pragma multi_compile_fog
  41. //--------------------------------------
  42. // GPU Instancing
  43. #pragma multi_compile_instancing
  44. //--------------------------------------
  45. // Spine related keywords
  46. #pragma shader_feature _ _STRAIGHT_ALPHA_INPUT
  47. #pragma vertex vert
  48. #pragma fragment frag
  49. #undef LIGHTMAP_ON
  50. #define USE_URP
  51. #define fixed4 half4
  52. #define fixed3 half3
  53. #define fixed half
  54. #include "Include/Spine-Input-URP.hlsl"
  55. #include "Include/Spine-Skeleton-ForwardPass-URP.hlsl"
  56. ENDHLSL
  57. }
  58. Pass
  59. {
  60. Name "ShadowCaster"
  61. Tags{"LightMode" = "ShadowCaster"}
  62. ZWrite On
  63. ZTest LEqual
  64. Cull Off
  65. HLSLPROGRAM
  66. // Required to compile gles 2.0 with standard srp library
  67. #pragma prefer_hlslcc gles
  68. #pragma exclude_renderers d3d11_9x
  69. #pragma target 2.0
  70. // -------------------------------------
  71. // Material Keywords
  72. #pragma shader_feature _ALPHATEST_ON
  73. //--------------------------------------
  74. // GPU Instancing
  75. #pragma multi_compile_instancing
  76. #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  77. #pragma vertex ShadowPassVertexSkeletonLit
  78. #pragma fragment ShadowPassFragmentSkeletonLit
  79. #define USE_URP
  80. #define fixed4 half4
  81. #define fixed3 half3
  82. #define fixed half
  83. #include "Include/Spine-Input-URP.hlsl"
  84. #include "Include/Spine-SkeletonLit-ShadowCasterPass-URP.hlsl"
  85. ENDHLSL
  86. }
  87. Pass
  88. {
  89. Name "DepthOnly"
  90. Tags{"LightMode" = "DepthOnly"}
  91. ZWrite On
  92. ColorMask 0
  93. Cull Off
  94. HLSLPROGRAM
  95. // Required to compile gles 2.0 with standard srp library
  96. #pragma prefer_hlslcc gles
  97. #pragma exclude_renderers d3d11_9x
  98. #pragma vertex DepthOnlyVertex
  99. #pragma fragment DepthOnlyFragment
  100. // -------------------------------------
  101. // Material Keywords
  102. #pragma shader_feature _ALPHATEST_ON
  103. #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  104. //--------------------------------------
  105. // GPU Instancing
  106. #pragma multi_compile_instancing
  107. #define USE_URP
  108. #define fixed4 half4
  109. #define fixed3 half3
  110. #define fixed half
  111. #include "Include/Spine-Input-URP.hlsl"
  112. #include "Include/Spine-DepthOnlyPass-URP.hlsl"
  113. ENDHLSL
  114. }
  115. }
  116. FallBack "Hidden/InternalErrorShader"
  117. }