52 lines
1.0 KiB
Plaintext
52 lines
1.0 KiB
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"
|
|
}
|