Add RetroSuite-3D shader components
This commit is contained in:
51
Assets/Shaders/RetroPixelMax.shader
Normal file
51
Assets/Shaders/RetroPixelMax.shader
Normal file
@@ -0,0 +1,51 @@
|
||||
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"
|
||||
}
|
||||
Reference in New Issue
Block a user