| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 | Shader "Unlit/MoHu"{    Properties    {        _MainTex ("Texture", 2D) = "white" {}    }    SubShader    {        Tags        {            "RenderType"="Opaque"        }        LOD 100        Pass        {            CGPROGRAM            #pragma vertex vert            #pragma fragment frag            #include "UnityCG.cginc"            struct appdata            {                float4 vertex : POSITION;                float2 uv : TEXCOORD0;            };            struct v2f            {                float2 uv : TEXCOORD0;                UNITY_FOG_COORDS(1)                float4 vertex : SV_POSITION;            };            sampler2D _MainTex;            float4 _MainTex_ST;            float4 _MainTex_TexelSize;            v2f vert(appdata v)            {                v2f o;                o.vertex = UnityObjectToClipPos(v.vertex);                o.uv = TRANSFORM_TEX(v.uv, _MainTex);                return o;            }            fixed4 frag(v2f i) : SV_Target            {                fixed4 col = tex2D(_MainTex, i.uv);                fixed4 col2 = tex2D(_MainTex, i.uv + fixed2(-1, 0) * _MainTex_TexelSize.xy);                fixed4 col3 = tex2D(_MainTex, i.uv + fixed2(1, 0) * _MainTex_TexelSize.xy);                return (col + col2 + col3) / 3;            }            ENDCG        }                 Pass        {            CGPROGRAM            #pragma vertex vert            #pragma fragment frag            #include "UnityCG.cginc"            struct appdata            {                float4 vertex : POSITION;                float2 uv : TEXCOORD0;            };            struct v2f            {                float2 uv : TEXCOORD0;                UNITY_FOG_COORDS(1)                float4 vertex : SV_POSITION;            };            sampler2D _MainTex;            float4 _MainTex_ST;            float4 _MainTex_TexelSize;            v2f vert(appdata v)            {                v2f o;                o.vertex = UnityObjectToClipPos(v.vertex);                o.uv = TRANSFORM_TEX(v.uv, _MainTex);                return o;            }            fixed4 frag(v2f i) : SV_Target            {                fixed4 col = tex2D(_MainTex, i.uv);                fixed4 col2 = tex2D(_MainTex, i.uv + fixed2(0, 1) * _MainTex_TexelSize.xy);                fixed4 col3 = tex2D(_MainTex, i.uv + fixed2(0, -1) * _MainTex_TexelSize.xy);                return (col + col2 + col3) / 3;            }            ENDCG        }         Pass        {            CGPROGRAM            #pragma vertex vert            #pragma fragment frag            #include "UnityCG.cginc"            struct appdata            {                float4 vertex : POSITION;                float2 uv : TEXCOORD0;            };            struct v2f            {                float2 uv : TEXCOORD0;                UNITY_FOG_COORDS(1)                float4 vertex : SV_POSITION;            };            sampler2D _MainTex;            float4 _MainTex_ST;            float4 _MainTex_TexelSize;            v2f vert(appdata v)            {                v2f o;                o.vertex = UnityObjectToClipPos(v.vertex);                o.uv = TRANSFORM_TEX(v.uv, _MainTex);                return o;            }            fixed4 frag(v2f i) : SV_Target            {                fixed4 col = tex2D(_MainTex, i.uv)*float4(0.5,0.5,0.5,1);                return col;            }            ENDCG        }    }}
 |