58 lines
999 B
Plaintext
58 lines
999 B
Plaintext
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"
|
|
}
|