// Spine/Skeleton PMA Screen // - single color multiply tint // - unlit // - Premultiplied alpha Multiply blending // - No depth, no backface culling, no fog. // - ShadowCaster pass Shader "Spine/Blend Modes/Skeleton PMA Screen" { Properties { _Color ("Tint Color", Color) = (1,1,1,1) [NoScaleOffset] _MainTex ("MainTex", 2D) = "black" {} [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default // Outline properties are drawn via custom editor. [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 [HideInInspector][MaterialToggle(_USE_SCREENSPACE_OUTLINE_WIDTH)] _UseScreenSpaceOutlineWidth("Width in Screen Space", Float) = 0 [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 [HideInInspector] _OutlineOpaqueAlpha("Opaque Alpha", Range(0,1)) = 1.0 [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 } SubShader { Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } LOD 100 Fog { Mode Off } Cull Off ZWrite Off Blend One OneMinusSrcColor Lighting Off Stencil { Ref[_StencilRef] Comp[_StencilComp] Pass Keep } Pass { Name "Normal" CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma shader_feature _ _STRAIGHT_ALPHA_INPUT #include "../CGIncludes/Spine-BlendModes-NormalPass.cginc" ENDCG } Pass { Name "Caster" Tags { "LightMode" = "ShadowCaster" } Offset 1, 1 ZWrite On ZTest LEqual CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile_shadowcaster #pragma fragmentoption ARB_precision_hint_fastest #include "../CGIncludes/Spine-BlendModes-ShadowCasterPass.cginc" ENDCG } } CustomEditor "SpineShaderWithOutlineGUI" }