summaryrefslogtreecommitdiff
path: root/Data/Sys/Shaders/32bit.glsl
blob: 859371171b42ea4de5fe6d288a49689c50704cc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
uniform sampler2D samp9;

out vec4 ocol0;
in vec2 uv0;

uniform vec4 resolution;

void main()
{
  //Change this number to increase the pixel size.
  float pixelSize = 2;

  float red   = 0.0;
  float green = 0.0;
  float blue  = 0.0;
  
  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;

  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;


  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;

  ocol0 = vec4(red, green, blue, c0.a);
}