|
|
@@ -40,8 +40,31 @@ mat4 cluster = mat4(12.0, 5.0, 6.0, 13.0, |
|
|
|
void main() |
|
|
|
{ |
|
|
|
vec4 col = pass_Color; |
|
|
|
#if defined GL_ES |
|
|
|
int dx = int(mod(gl_FragCoord.x, 4.0)); |
|
|
|
int dy = int(mod(gl_FragCoord.y, 4.0)); |
|
|
|
/* Cluster */ |
|
|
|
float t; |
|
|
|
if (dx == 0) |
|
|
|
{ |
|
|
|
if (dy == 0) t = cluster[0][0]; else if (dy == 1) t = cluster[0][1]; else if (dy == 2) t = cluster[0][2]; else t = cluster[0][3]; |
|
|
|
} |
|
|
|
else if (dx == 1) |
|
|
|
{ |
|
|
|
if (dy == 0) t = cluster[1][0]; else if (dy == 1) t = cluster[1][1]; else if (dy == 2) t = cluster[1][2]; else t = cluster[1][3]; |
|
|
|
} |
|
|
|
else if (dx == 2) |
|
|
|
{ |
|
|
|
if (dy == 0) t = cluster[2][0]; else if (dy == 1) t = cluster[2][1]; else if (dy == 2) t = cluster[2][2]; else t = cluster[2][3]; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (dy == 0) t = cluster[3][0]; else if (dy == 1) t = cluster[3][1]; else if (dy == 2) t = cluster[3][2]; else t = cluster[3][3]; |
|
|
|
} |
|
|
|
#else |
|
|
|
float t = cluster[int(mod(gl_FragCoord.x, 4.0))] |
|
|
|
[int(mod(gl_FragCoord.y, 4.0))]; |
|
|
|
#endif |
|
|
|
t = (t + 0.5) / 17.0; |
|
|
|
col.x += fract(t - col.x) - t; |
|
|
|
col.y += fract(t - col.y) - t; |
|
|
|