Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
DMD2542-Project02-AdamSkawinski/RPG/Assets/Materials/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface.shader
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
156 lines (125 sloc)
4.2 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
_Sharpness ("Sharpness", Range(-1,1)) = 0 | |
_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" | |
} | |