Skip to content

Instantly share code, notes, and snippets.

@mebens
Created December 6, 2012 23:54

Revisions

  1. Michael Ebens revised this gist Dec 7, 2012. 1 changed file with 6 additions and 3 deletions.
    9 changes: 6 additions & 3 deletions gistfile1.c
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,6 @@
    extern float factor = 1;
    extern float percentage = 0.15;
    extern float addPercent = 0.1;
    extern float clamp = 0.85;

    // from http://www.ozone3d.net/blogs/lab/20110427/glsl-random-generator/
    float rand(vec2 n)
    @@ -10,6 +11,8 @@ float rand(vec2 n)
    vec4 effect(vec4 color, Image tex, vec2 tc, vec2 sc)
    {
    float grey = 1 * rand(tc * factor);
    float clampedGrey = max(grey, clamp);
    vec4 noise = vec4(grey, grey, grey, 1);
    return (Texel(tex, tc) * noise * (1 - percentage) + noise * percentage) * color;
    }
    vec4 clampedNoise = vec4(clampedGrey, clampedGrey, clampedGrey, 1);
    return (Texel(tex, tc) * clampedNoise * (1 - addPercent) + noise * addPercent) * color;
    }
  2. Michael Ebens revised this gist Dec 6, 2012. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gistfile1.c
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,7 @@
    extern float factor = 1;
    extern float percentage = 0.15;

    // from http://www.ozone3d.net/blogs/lab/20110427/glsl-random-generator/
    float rand(vec2 n)
    {
    return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233))) * 43758.5453);
    @@ -11,4 +12,4 @@ 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;
    }
    }
  3. Michael Ebens created this gist Dec 6, 2012.
    14 changes: 14 additions & 0 deletions gistfile1.c
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    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;
    }