@@ -81,6 +81,9 @@ Properties {
8181 _StencilReadMask ( "Stencil Read Mask" , Float ) = 255
8282
8383 _ColorMask ( "Color Mask" , Float ) = 15
84+
85+ _BlendSrcFactor ( "Blend SrcFactor" , Float ) = 5
86+ _BlendDstFactor ( "Blend DstFactor" , Float ) = 10
8487}
8588
8689SubShader {
@@ -106,7 +109,8 @@ SubShader {
106109 Lighting Off
107110 Fog { Mode Off }
108111 ZTest [unity_GUIZTestMode]
109- Blend One OneMinusSrcAlpha
112+
113+ Blend [_BlendSrcFactor] [_BlendDstFactor]
110114 ColorMask [_ColorMask]
111115
112116 Pass {
@@ -120,8 +124,8 @@ SubShader {
120124
121125 //#pragma multi_compile __ UNITY_UI_CLIP_RECT
122126 //#pragma multi_compile __ UNITY_UI_ALPHACLIP
123- #pragma multi_compile NOT_GRAYED GRAYED
124- #pragma multi_compile NOT_CLIPPED CLIPPED SOFT_CLIPPED
127+ #pragma multi_compile _ GRAYED
128+ #pragma multi_compile _ CLIPPED SOFT_CLIPPED
125129
126130 #include "UnityCG.cginc"
127131 #include "UnityUI.cginc"
@@ -455,26 +459,20 @@ SubShader {
455459 #endif
456460
457461 #ifdef SOFT_CLIPPED
458- float2 factor = float2 (0 ,0 );
459- if (input.mask.x<0 )
460- factor.x = (1.0 -abs (input.mask.x)) * _ClipSoftness.x;
461- else
462- factor.x = (1.0 -input.mask.x) * _ClipSoftness.z;
463- if (input.mask.y<0 )
464- factor.y = (1.0 -abs (input.mask.y)) * _ClipSoftness.w;
465- else
466- factor.y = (1.0 -input.mask.y) * _ClipSoftness.y;
462+ float2 factor;
463+ float2 condition = step (input.mask.xy, 0 );
464+ float4 clip_softness = _ClipSoftness * float4 (condition, 1 - condition);
465+ factor.xy = (1.0 - abs (input.mask.xy)) * (clip_softness.xw + clip_softness.zy);
467466 faceColor.a *= clamp (min (factor.x, factor.y), 0.0 , 1.0 );
468467 clip (faceColor.a - 0.001 );
469468 #endif
470-
471- return faceColor * input.color.a;
472- }
469+ return half4 (faceColor.rgb, input.color.a * faceColor.a);
470+ }
473471
474472 ENDCG
475473 }
476474}
477475
478- Fallback "TextMeshPro/Mobile/Distance Field"
476+ // Fallback "TextMeshPro/Mobile/Distance Field"
479477CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
480478}
0 commit comments