dolphin/Data/Sys/Shaders/16bit.glsl

61 lines
1.0 KiB
Plaintext
Raw Normal View History

uniform sampler2D samp9;
2010-07-06 00:31:03 +02:00
out vec4 ocol0;
in vec2 uv0;
2013-03-07 19:51:57 +01:00
uniform vec4 resolution;
2010-07-06 00:31:03 +02:00
void main()
{
2010-07-06 00:31:03 +02:00
//Change this number to increase the pixel size.
float pixelSize = 3;
2010-07-06 00:31:03 +02:00
float red = 0.0;
float green = 0.0;
float blue = 0.0;
2013-03-07 19:51:57 +01:00
vec2 pos = floor(uv0 * resolution.xy / pixelSize) * pixelSize * resolution.zw;
2013-03-07 19:51:57 +01:00
vec4 c0 = texture(samp9, pos);
if (c0.r < 0.1)
red = 0.1;
else if (c0.r < 0.20)
red = 0.20;
else if (c0.r < 0.40)
red = 0.40;
else if (c0.r < 0.60)
red = 0.60;
else if (c0.r < 0.80)
red = 0.80;
else
red = 1.0;
if (c0.b < 0.1)
blue = 0.1;
else if (c0.b < 0.20)
blue = 0.20;
else if (c0.b < 0.40)
blue = 0.40;
else if (c0.b < 0.60)
blue = 0.60;
else if (c0.b < 0.80)
blue = 0.80;
else
blue = 1.0;
if (c0.g < 0.1)
green = 0.1;
else if (c0.g < 0.20)
green = 0.20;
else if (c0.g < 0.40)
green = 0.40;
else if (c0.g < 0.60)
green = 0.60;
else if (c0.g < 0.80)
green = 0.80;
else
green = 1.0;
ocol0 = vec4(red, green, blue, c0.a);
2010-07-06 00:31:03 +02:00
}