Skip to content

Instantly share code, notes, and snippets.

@mebens
Created December 6, 2012 23:54
Show Gist options
  • Save mebens/4229527 to your computer and use it in GitHub Desktop.
Save mebens/4229527 to your computer and use it in GitHub Desktop.
Here's an interesting noise-based Love2D shader. Simply keep setting factor to a random number every frame (or some other interval).
extern float factor = 1;
extern float percentage = 0.15;
float rand(vec2 n)
{
return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233))) * 43758.5453);
}
vec4 effect(vec4 color, Image tex, vec2 tc, vec2 sc)
{
float grey = 1 * rand(tc * factor);
vec4 noise = vec4(grey, grey, grey, 1);
return (Texel(tex, tc) * noise * (1 - percentage) + noise * percentage) * color;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment