Cool pixelation effect
This commit is contained in:
parent
7d781be5cf
commit
dc72b50b5a
@ -22,24 +22,34 @@ vec4 boxFade(vec4 inputColor, float boxSize, float period) {
|
|||||||
uv.y = floor(uv.y / boxSize) * boxSize;
|
uv.y = floor(uv.y / boxSize) * boxSize;
|
||||||
|
|
||||||
float rand = random(uv);
|
float rand = random(uv);
|
||||||
float mask = mod(u_time / period, 1.4);
|
float mask = mod(u_time / period, 2.4);
|
||||||
|
|
||||||
return rand < mask ? inputColor : vec4(0.0, 0.0, 0.0, 1.0);
|
return rand < mask ? inputColor : vec4(0.0, 0.0, 0.0, 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vec2 pixellate(vec2 inputVec, float size) {
|
||||||
|
return vec2(
|
||||||
|
floor(inputVec.x / size) * size,
|
||||||
|
floor(inputVec.y / size) * size
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
float canvasSize = max(u_canvasWidth, u_canvasHeight);
|
vec2 uv = gl_FragCoord.xy/vec2(u_canvasWidth, u_canvasHeight);
|
||||||
vec2 uv = gl_FragCoord.xy/vec2(canvasSize, canvasSize);
|
|
||||||
|
|
||||||
vec3 red = vec3(1.0, 0.0, 0.0);
|
float amount = 1.0/(u_time * 5.0);
|
||||||
vec3 green = vec3(0.0, 1.0, 0.0);
|
|
||||||
vec3 blue = vec3(0.0, 0.0, 1.0);
|
uv = pixellate(uv, amount);
|
||||||
|
|
||||||
|
//vec4 outputColor = vec4(uv.x, 0., uv.y, 1.0);
|
||||||
|
float dist = distance(uv, vec2(0.5, 0.5));
|
||||||
|
float curve = sin(dist * 60.0);
|
||||||
|
vec4 outputColor = vec4(0.5, 0.1, curve, 1.0);
|
||||||
|
|
||||||
vec4 o = vec4(uv.x, 0., uv.y, 1.0);
|
|
||||||
float size = 0.01;
|
float size = 0.01;
|
||||||
float period = 5.0;
|
float period = 1.0;
|
||||||
|
|
||||||
fragColor = boxFade(o, size, period);
|
fragColor = boxFade(outputColor, size, period);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user