aboutsummaryrefslogtreecommitdiffstats
path: root/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader')
-rw-r--r--Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader138
1 files changed, 138 insertions, 0 deletions
diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader
new file mode 100644
index 0000000..be764ae
--- /dev/null
+++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader
@@ -0,0 +1,138 @@
+// Simplified version of the SDF Surface shader :
+// - No support for Bevel, Bump or envmap
+// - Diffuse only lighting
+// - Fully supports only 1 directional light. Other lights can affect it, but it will be per-vertex/SH.
+
+Shader "TextMeshPro/Mobile/Distance Field (Surface)" {
+
+Properties {
+ _FaceTex ("Fill Texture", 2D) = "white" {}
+ [HDR]_FaceColor ("Fill Color", Color) = (1,1,1,1)
+ _FaceDilate ("Face Dilate", Range(-1,1)) = 0
+
+ [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1)
+ _OutlineTex ("Outline Texture", 2D) = "white" {}
+ _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
+ _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
+
+ [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5)
+ _GlowOffset ("Offset", Range(-1,1)) = 0
+ _GlowInner ("Inner", Range(0,1)) = 0.05
+ _GlowOuter ("Outer", Range(0,1)) = 0.05
+ _GlowPower ("Falloff", Range(1, 0)) = 0.75
+
+ _WeightNormal ("Weight Normal", float) = 0
+ _WeightBold ("Weight Bold", float) = 0.5
+
+ // Should not be directly exposed to the user
+ _ShaderFlags ("Flags", float) = 0
+ _ScaleRatioA ("Scale RatioA", float) = 1
+ _ScaleRatioB ("Scale RatioB", float) = 1
+ _ScaleRatioC ("Scale RatioC", float) = 1
+
+ _MainTex ("Font Atlas", 2D) = "white" {}
+ _TextureWidth ("Texture Width", float) = 512
+ _TextureHeight ("Texture Height", float) = 512
+ _GradientScale ("Gradient Scale", float) = 5.0
+ _ScaleX ("Scale X", float) = 1.0
+ _ScaleY ("Scale Y", float) = 1.0
+ _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
+ _Sharpness ("Sharpness", Range(-1,1)) = 0
+
+ _VertexOffsetX ("Vertex OffsetX", float) = 0
+ _VertexOffsetY ("Vertex OffsetY", float) = 0
+
+ _CullMode ("Cull Mode", Float) = 0
+ //_MaskCoord ("Mask Coords", vector) = (0,0,0,0)
+ //_MaskSoftness ("Mask Softness", float) = 0
+}
+
+SubShader {
+
+ Tags {
+ "Queue"="Transparent"
+ "IgnoreProjector"="True"
+ "RenderType"="Transparent"
+ }
+
+ LOD 300
+ Cull [_CullMode]
+
+ CGPROGRAM
+ #pragma surface PixShader Lambert alpha:blend vertex:VertShader noforwardadd nolightmap nodirlightmap
+ #pragma target 3.0
+ #pragma shader_feature __ GLOW_ON
+
+ #include "TMPro_Properties.cginc"
+ #include "TMPro.cginc"
+
+ half _FaceShininess;
+ half _OutlineShininess;
+
+ struct Input
+ {
+ fixed4 color : COLOR;
+ float2 uv_MainTex;
+ float2 uv2_FaceTex;
+ float2 uv2_OutlineTex;
+ float2 param; // Weight, Scale
+ float3 viewDirEnv;
+ };
+
+ #include "TMPro_Surface.cginc"
+
+ ENDCG
+
+ // Pass to render object as a shadow caster
+ Pass
+ {
+ Name "Caster"
+ Tags { "LightMode" = "ShadowCaster" }
+ Offset 1, 1
+
+ Fog {Mode Off}
+ ZWrite On ZTest LEqual Cull Off
+
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma multi_compile_shadowcaster
+ #include "UnityCG.cginc"
+
+ struct v2f {
+ V2F_SHADOW_CASTER;
+ float2 uv : TEXCOORD1;
+ float2 uv2 : TEXCOORD3;
+ float alphaClip : TEXCOORD2;
+ };
+
+ uniform float4 _MainTex_ST;
+ uniform float4 _OutlineTex_ST;
+ float _OutlineWidth;
+ float _FaceDilate;
+ float _ScaleRatioA;
+
+ v2f vert( appdata_base v )
+ {
+ v2f o;
+ TRANSFER_SHADOW_CASTER(o)
+ o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
+ o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex);
+ o.alphaClip = o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2;
+ return o;
+ }
+
+ uniform sampler2D _MainTex;
+
+ float4 frag(v2f i) : COLOR
+ {
+ fixed4 texcol = tex2D(_MainTex, i.uv).a;
+ clip(texcol.a - i.alphaClip);
+ SHADOW_CASTER_FRAGMENT(i)
+ }
+ ENDCG
+ }
+}
+
+CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
+}