1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| Shader "Unlit/ProgramTexture" { Properties { _TileCount("TileCount",Float) = 8 _Color1("Color1",Color) = (1,1,1,1) _Color2("Color2",Color) = (0,0,0,1) } SubShader { Tags { "RenderType"="Opaque" } Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag
#include "UnityCG.cginc" float _TileCount; float4 _Color1; float4 _Color2; struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; };
v2f vert (appdata_base v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = v.texcoord; return o; }
fixed4 frag (v2f i) : SV_Target { float2 uv = i.uv * _TileCount; float2 posIndex = floor(uv); float value = (posIndex.x + posIndex.y) % 2; return lerp(_Color1,_Color2,value); } ENDCG } } }
|