Browse Source

core: port gradient shader to GL ES platforms.

legacy
Sam Hocevar sam 12 years ago
parent
commit
203ac1a404
1 changed files with 23 additions and 0 deletions
  1. +23
    -0
      src/gradient.lolfx

+ 23
- 0
src/gradient.lolfx View File

@@ -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;


Loading…
Cancel
Save