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

86 lines
1.5 KiB
Plaintext
Raw Normal View History

2013-03-07 19:51:57 +01:00
uniform sampler2D samp9;
2010-07-06 00:31:03 +02:00
2013-03-07 19:51:57 +01:00
out vec4 ocol0;
in vec2 uv0;
uniform vec4 resolution;
2010-07-06 00:31:03 +02:00
2013-03-07 19:51:57 +01:00
void main()
{
2010-07-06 00:31:03 +02:00
//Change this number to increase the pixel size.
2013-03-07 19:51:57 +01:00
float pixelSize = 2;
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;
vec4 c0 = texture(samp9, pos);
if (c0.r < 0.06)
red = 0.06;
else if (c0.r < 0.13)
red = 0.13;
else if (c0.r < 0.26)
red = 0.26;
else if (c0.r < 0.33)
red = 0.33;
else if (c0.r < 0.46)
red = 0.46;
else if (c0.r < 0.60)
red = 0.60;
else if (c0.r < 0.73)
red = 0.73;
else if (c0.r < 0.80)
red = 0.80;
else if (c0.r < 0.93)
red = 0.93;
else
red = 1.0;
2010-07-06 00:31:03 +02:00
2013-03-07 19:51:57 +01:00
if (c0.b < 0.06)
blue = 0.06;
else if (c0.b < 0.13)
blue = 0.13;
else if (c0.b < 0.26)
blue = 0.26;
else if (c0.b < 0.33)
blue = 0.33;
else if (c0.b < 0.46)
blue = 0.46;
else if (c0.b < 0.60)
blue = 0.60;
else if (c0.b < 0.73)
blue = 0.73;
else if (c0.b < 0.80)
blue = 0.80;
else if( c0.b < 0.93)
blue = 0.93;
else
blue = 1.0;
2010-07-06 00:31:03 +02:00
2013-03-07 19:51:57 +01:00
if (c0.g < 0.06)
green = 0.06;
else if (c0.g < 0.13)
green = 0.13;
else if (c0.g < 0.26)
green = 0.26;
else if (c0.g < 0.33)
green = 0.33;
else if (c0.g < 0.46)
green = 0.46;
else if (c0.g < 0.60)
green = 0.60;
else if (c0.g < 0.73)
green = 0.73;
else if (c0.g < 0.80)
green = 0.80;
else if( c0.g < 0.93)
green = 0.93;
else
green = 1.0;
2010-07-06 00:31:03 +02:00
2013-03-07 19:51:57 +01:00
ocol0 = vec4(red, green, blue, c0.a);
2010-07-06 00:31:03 +02:00
}