Spine-SkeletonGraphic-Fill.shader 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. Shader "Spine/SkeletonGraphic Fill"
  2. {
  3. Properties
  4. {
  5. _FillColor("FillColor", Color) = (1,1,1,1)
  6. _FillPhase("FillPhase", Range(0, 1)) = 0
  7. [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}
  8. [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0
  9. [Toggle(_CANVAS_GROUP_COMPATIBLE)] _CanvasGroupCompatible("CanvasGroup Compatible", Int) = 1
  10. _Color("Tint", Color) = (1,1,1,1)
  11. [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8
  12. [HideInInspector] _Stencil("Stencil ID", Float) = 0
  13. [HideInInspector][Enum(UnityEngine.Rendering.StencilOp)] _StencilOp("Stencil Operation", Float) = 0
  14. [HideInInspector] _StencilWriteMask("Stencil Write Mask", Float) = 255
  15. [HideInInspector] _StencilReadMask("Stencil Read Mask", Float) = 255
  16. [HideInInspector] _ColorMask("Color Mask", Float) = 15
  17. [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip("Use Alpha Clip", Float) = 0
  18. // Outline properties are drawn via custom editor.
  19. [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0
  20. [HideInInspector][MaterialToggle(_USE_SCREENSPACE_OUTLINE_WIDTH)] _UseScreenSpaceOutlineWidth("Width in Screen Space", Float) = 0
  21. [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1)
  22. [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024
  23. [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25
  24. [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0
  25. [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1
  26. [HideInInspector] _OutlineOpaqueAlpha("Opaque Alpha", Range(0,1)) = 1.0
  27. [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0
  28. }
  29. SubShader
  30. {
  31. Tags
  32. {
  33. "Queue" = "Transparent"
  34. "IgnoreProjector" = "True"
  35. "RenderType" = "Transparent"
  36. "PreviewType" = "Plane"
  37. "CanUseSpriteAtlas" = "True"
  38. }
  39. Stencil
  40. {
  41. Ref[_Stencil]
  42. Comp[_StencilComp]
  43. Pass[_StencilOp]
  44. ReadMask[_StencilReadMask]
  45. WriteMask[_StencilWriteMask]
  46. }
  47. Cull Off
  48. Lighting Off
  49. ZWrite Off
  50. ZTest[unity_GUIZTestMode]
  51. Fog { Mode Off }
  52. Blend One OneMinusSrcAlpha
  53. ColorMask[_ColorMask]
  54. Pass
  55. {
  56. Name "Normal"
  57. CGPROGRAM
  58. #pragma shader_feature _ _STRAIGHT_ALPHA_INPUT
  59. #pragma shader_feature _ _CANVAS_GROUP_COMPATIBLE
  60. #pragma vertex vert
  61. #pragma fragment frag
  62. #pragma target 2.0
  63. #define ENABLE_FILL
  64. #include "CGIncludes/Spine-SkeletonGraphic-NormalPass.cginc"
  65. ENDCG
  66. }
  67. }
  68. CustomEditor "SpineShaderWithOutlineGUI"
  69. }