Spine-SkeletonLit-LW.shader 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. // - forwardPass(Lightweight Vertex Lit) + ShadowCaster + DepthOnly
  2. // - Premultiplied Alpha Blending (Optional straight alpha input)
  3. // - Double-sided, no depth
  4. Shader "Lightweight Render Pipeline/Spine/Skeleton Lit" {
  5. Properties {
  6. _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1
  7. [NoScaleOffset] _MainTex ("Main Texture", 2D) = "black" {}
  8. [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0
  9. [Toggle(_DOUBLE_SIDED_LIGHTING)] _DoubleSidedLighting("Double-Sided Lighting", Int) = 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" = "LightweightPipeline" "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" = "LightweightForward"}
  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. #pragma target 2.0
  37. // -------------------------------------
  38. // Lightweight Pipeline keywords
  39. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS
  40. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE
  41. #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
  42. #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
  43. #pragma multi_compile _ _SHADOWS_SOFT
  44. #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE
  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 vertex vert
  56. #pragma fragment frag
  57. #pragma target 2.0
  58. #undef LIGHTMAP_ON
  59. #define USE_LWRP
  60. #define fixed4 half4
  61. #define fixed3 half3
  62. #define fixed half
  63. #include "CGIncludes/Spine-Input-LW.hlsl"
  64. #include "CGIncludes/Spine-SkeletonLit-ForwardPass-LW.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 vertex ShadowPassVertexSkeletonLit
  87. #pragma fragment ShadowPassFragmentSkeletonLit
  88. #define USE_LWRP
  89. #define fixed4 half4
  90. #define fixed3 half3
  91. #define fixed half
  92. #include "CGIncludes/Spine-Input-LW.hlsl"
  93. #include "CGIncludes/Spine-SkeletonLit-ShadowCasterPass-LW.hlsl"
  94. ENDHLSL
  95. }
  96. Pass
  97. {
  98. Name "DepthOnly"
  99. Tags{"LightMode" = "DepthOnly"}
  100. ZWrite On
  101. ColorMask 0
  102. Cull Off
  103. HLSLPROGRAM
  104. // Required to compile gles 2.0 with standard srp library
  105. #pragma prefer_hlslcc gles
  106. #pragma exclude_renderers d3d11_9x
  107. #pragma target 2.0
  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_LWRP
  118. #define fixed4 half4
  119. #define fixed3 half3
  120. #define fixed half
  121. #include "CGIncludes/Spine-Input-LW.hlsl"
  122. #include "CGIncludes/Spine-DepthOnlyPass-LW.hlsl"
  123. ENDHLSL
  124. }
  125. }
  126. FallBack "Hidden/InternalErrorShader"
  127. }