// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Esfog/FilterBlack" { Properties{ _MainTex("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType" = "Opaque" } //LOD 200 Cull Off ZWrite Off Blend SrcAlpha OneMinusSrcAlpha Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" uniform sampler2D _MainTex; struct VertexOutput { float4 pos:SV_POSITION; float4 uv:TEXCOORD0; }; VertexOutput vert(float4 vertex:POSITION,float4 uv : TEXCOORD0) { VertexOutput o; o.pos = UnityObjectToClipPos(vertex); o.uv = uv; return o; } float4 frag(VertexOutput i) :COLOR { float4 col; col.rgba = tex2D(_MainTex,i.uv.xy); float r = col.r * 10; float g = col.g * 10; float b = col.b * 10; //col.a = 1; if (col.r <= 0.1&&col.g <= 0.1&&col.b <= 0.1 && (col.r + col.g + col.b) < 0.25) { col.a = (col.r + col.g + col.b); } else if (((r + g + b) < 3 && (col.r < 0.02 || col.g < 0.02 || col.b < 0.02)) && (((r - g) <= -0.15 || (r - g) >= 0.15) || ((r - b) >= 0.15 || (r - b) <= -0.15))) { col.a = (col.r + col.g + col.b); if (col.r * 10 > 0.1) { col.r = col.r * 3; } if (col.b * 10 > 0.1) { col.b = col.b * 3; } if (col.g * 10 > 0.1) { col.g = col.g * 3; } } return col; } ENDCG } } FallBack "Diffuse" }