Shader "Oxysoft/RetroPixelMax" { Properties { _ColorCount ("Color Count", Int) = 8 _MainTex ("", 2D) = "white" {} } SubShader { Lighting Off ZTest Always Cull Off ZWrite Off Fog { Mode Off } Pass { CGPROGRAM // Upgrade NOTE: excluded shader from DX11, Xbox360, OpenGL ES 2.0 because it uses unsized arrays #pragma exclude_renderers flash #pragma vertex vert_img #pragma fragment frag #pragma fragmentoption ARB_precision_hint_fastest #include "UnityCG.cginc" uniform int _ColorCount; uniform fixed4 _Colors[256]; uniform sampler2D _MainTex; fixed4 frag (v2f_img i) : COLOR { fixed3 original = tex2D (_MainTex, i.uv).rgb; fixed4 col = fixed4 (0,0,0,0); fixed dist = 10000000.0; for (int i = 0; i < _ColorCount; i++) { fixed4 c = _Colors[i]; fixed d = distance(original, c); if (d < dist) { dist = d; col = c; } } return col; } ENDCG } } FallBack "Diffuse" }