|
|
- Shader "TextMeshPro/Distance Field (Surface)" {
-
- Properties {
- _FaceTex ("Fill Texture", 2D) = "white" {}
- _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0
- _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0
- _FaceColor ("Fill Color", Color) = (1,1,1,1)
- _FaceDilate ("Face Dilate", Range(-1,1)) = 0
-
- _OutlineColor ("Outline Color", Color) = (0,0,0,1)
- _OutlineTex ("Outline Texture", 2D) = "white" {}
- _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0
- _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0
- _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
- _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
-
- _Bevel ("Bevel", Range(0,1)) = 0.5
- _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0
- _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0
- _BevelClamp ("Bevel Clamp", Range(0,1)) = 0
- _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0
-
- _BumpMap ("Normalmap", 2D) = "bump" {}
- _BumpOutline ("Bump Outline", Range(0,1)) = 0.5
- _BumpFace ("Bump Face", Range(0,1)) = 0.5
-
- _ReflectFaceColor ("Face Color", Color) = (0,0,0,1)
- _ReflectOutlineColor ("Outline Color", Color) = (0,0,0,1)
- _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ }
- _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0)
- _SpecColor ("Specular Color", Color) = (0,0,0,1)
-
- _FaceShininess ("Face Shininess", Range(0,1)) = 0
- _OutlineShininess ("Outline Shininess", Range(0,1)) = 0
-
- _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
-
- _VertexOffsetX ("Vertex OffsetX", float) = 0
- _VertexOffsetY ("Vertex OffsetY", 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 BlinnPhong alpha:blend vertex:VertShader nolightmap nodirlightmap
- #pragma target 3.0
- #pragma shader_feature __ GLOW_ON
- #pragma glsl
-
- #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;
- };
-
-
- #define BEVEL_ON 1
- #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 = (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"
- }
-
|