diff options
Diffstat (limited to 'JamTools/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc')
-rw-r--r-- | JamTools/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/JamTools/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc b/JamTools/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc deleted file mode 100644 index 622ae87..0000000 --- a/JamTools/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc +++ /dev/null @@ -1,101 +0,0 @@ -void VertShader(inout appdata_full v, out Input data) -{ - v.vertex.x += _VertexOffsetX; - v.vertex.y += _VertexOffsetY; - - UNITY_INITIALIZE_OUTPUT(Input, data); - - float bold = step(v.texcoord1.y, 0); - - // Generate normal for backface - float3 view = ObjSpaceViewDir(v.vertex); - v.normal *= sign(dot(v.normal, view)); - -#if USE_DERIVATIVE - data.param.y = 1; -#else - float4 vert = v.vertex; - float4 vPosition = UnityObjectToClipPos(vert); - float2 pixelSize = vPosition.w; - - pixelSize /= float2(_ScaleX, _ScaleY) * mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy); - float scale = rsqrt(dot(pixelSize, pixelSize)); - scale *= abs(v.texcoord1.y) * _GradientScale * (_Sharpness + 1); - scale = lerp(scale * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(v.normal.xyz), normalize(WorldSpaceViewDir(vert))))); - data.param.y = scale; -#endif - - data.param.x = (lerp(_WeightNormal, _WeightBold, bold) / 4.0 + _FaceDilate) * _ScaleRatioA * 0.5; // - - v.texcoord1.xy = UnpackUV(v.texcoord1.x); - data.viewDirEnv = mul((float3x3)_EnvMatrix, WorldSpaceViewDir(v.vertex)); -} - -void PixShader(Input input, inout SurfaceOutput o) -{ - -#if USE_DERIVATIVE - float2 pixelSize = float2(ddx(input.uv_MainTex.y), ddy(input.uv_MainTex.y)); - pixelSize *= _TextureWidth * .75; - float scale = rsqrt(dot(pixelSize, pixelSize)) * _GradientScale * (_Sharpness + 1); -#else - float scale = input.param.y; -#endif - - // Signed distance - float c = tex2D(_MainTex, input.uv_MainTex).a; - float sd = (.5 - c - input.param.x) * scale + .5; - float outline = _OutlineWidth*_ScaleRatioA * scale; - float softness = _OutlineSoftness*_ScaleRatioA * scale; - - // Color & Alpha - float4 faceColor = _FaceColor; - float4 outlineColor = _OutlineColor; - faceColor *= input.color; - outlineColor.a *= input.color.a; - faceColor *= tex2D(_FaceTex, float2(input.uv2_FaceTex.x + _FaceUVSpeedX * _Time.y, input.uv2_FaceTex.y + _FaceUVSpeedY * _Time.y)); - outlineColor *= tex2D(_OutlineTex, float2(input.uv2_OutlineTex.x + _OutlineUVSpeedX * _Time.y, input.uv2_OutlineTex.y + _OutlineUVSpeedY * _Time.y)); - faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); - faceColor.rgb /= max(faceColor.a, 0.0001); - -#if BEVEL_ON - float3 delta = float3(1.0 / _TextureWidth, 1.0 / _TextureHeight, 0.0); - - float4 smp4x = {tex2D(_MainTex, input.uv_MainTex - delta.xz).a, - tex2D(_MainTex, input.uv_MainTex + delta.xz).a, - tex2D(_MainTex, input.uv_MainTex - delta.zy).a, - tex2D(_MainTex, input.uv_MainTex + delta.zy).a }; - - // Face Normal - float3 n = GetSurfaceNormal(smp4x, input.param.x); - - // Bumpmap - float3 bump = UnpackNormal(tex2D(_BumpMap, input.uv2_FaceTex.xy)).xyz; - bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); - bump = lerp(float3(0, 0, 1), bump, faceColor.a); - n = normalize(n - bump); - - // Cubemap reflection - fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDirEnv, mul((float3x3)unity_ObjectToWorld, n))); - float3 emission = reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; -#else - float3 n = float3(0, 0, -1); - float3 emission = float3(0, 0, 0); -#endif - -#if GLOW_ON - float4 glowColor = GetGlowColor(sd, scale); - glowColor.a *= input.color.a; - emission += glowColor.rgb*glowColor.a; - faceColor = BlendARGB(glowColor, faceColor); - faceColor.rgb /= max(faceColor.a, 0.0001); -#endif - - // Set Standard output structure - o.Albedo = faceColor.rgb; - o.Normal = -n; - o.Emission = emission; - o.Specular = lerp(_FaceShininess, _OutlineShininess, saturate(sd + outline * 0.5)); - o.Gloss = 1; - o.Alpha = faceColor.a; -} |