Spine-SkeletonLit-URP.shader 4.3 KB

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