Spine-Skeleton-Additive-URP.shader 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. Shader "Universal Render Pipeline/Spine/Blend Modes/Skeleton Additive" {
  2. Properties {
  3. _Color ("Tint Color", Color) = (1,1,1,1)
  4. [NoScaleOffset] _MainTex ("MainTex", 2D) = "black" {}
  5. [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0
  6. _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1
  7. [MaterialToggle(_TINT_BLACK_ON)] _TintBlack("Tint Black", Float) = 0
  8. _Black(" Dark Color", Color) = (0,0,0,0)
  9. [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
  10. [Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default
  11. }
  12. SubShader {
  13. Tags { "RenderPipeline" = "UniversalPipeline" "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
  14. LOD 100
  15. Fog { Mode Off }
  16. Cull Off
  17. ZWrite Off
  18. Lighting Off
  19. Stencil {
  20. Ref[_StencilRef]
  21. Comp[_StencilComp]
  22. Pass Keep
  23. }
  24. Pass {
  25. Name "Forward"
  26. Tags{"LightMode" = "UniversalForward"}
  27. Blend One One
  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. // Unity defined keywords
  34. #pragma multi_compile_fog
  35. //--------------------------------------
  36. // GPU Instancing
  37. #pragma multi_compile_instancing
  38. //--------------------------------------
  39. // Spine related keywords
  40. #pragma shader_feature _ _STRAIGHT_ALPHA_INPUT
  41. #pragma shader_feature _TINT_BLACK_ON
  42. #pragma vertex vert
  43. #pragma fragment frag
  44. #undef LIGHTMAP_ON
  45. #define USE_URP
  46. #define fixed4 half4
  47. #define fixed3 half3
  48. #define fixed half
  49. #define APPLY_MATERIAL_TINT_COLOR
  50. #include "../Include/Spine-Input-URP.hlsl"
  51. #include "../Include/Spine-Skeleton-ForwardPass-URP.hlsl"
  52. ENDHLSL
  53. }
  54. // UsePass "Universal Render Pipeline/Spine/Skeleton/SHADOWCASTER"
  55. // Note: UsePass above fails when both main and additional lights are disabled, thus inlined below.
  56. Pass
  57. {
  58. Name "ShadowCaster"
  59. Tags{"LightMode" = "ShadowCaster"}
  60. ZWrite On
  61. ColorMask 0
  62. ZTest LEqual
  63. Cull Off
  64. HLSLPROGRAM
  65. // Required to compile gles 2.0 with standard srp library
  66. #pragma prefer_hlslcc gles
  67. #pragma exclude_renderers d3d11_9x
  68. #pragma target 2.0
  69. // -------------------------------------
  70. // Material Keywords
  71. #pragma shader_feature _ALPHATEST_ON
  72. //--------------------------------------
  73. // GPU Instancing
  74. #pragma multi_compile_instancing
  75. #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  76. #pragma vertex ShadowPassVertexSkeletonLit
  77. #pragma fragment ShadowPassFragmentSkeletonLit
  78. #define USE_URP
  79. #define fixed4 half4
  80. #define fixed3 half3
  81. #define fixed half
  82. #include "../Include/Spine-Input-URP.hlsl"
  83. #include "../Include/Spine-SkeletonLit-ShadowCasterPass-URP.hlsl"
  84. ENDHLSL
  85. }
  86. }
  87. }