X-Git-Url: http://git.tdb.fi/?p=libs%2Fdemoscene.git;a=blobdiff_plain;f=data%2Ffilmgrain.glsl;fp=data%2Ffilmgrain.glsl;h=9ae3d8fdc1f4ef960fef70fade18296e36968170;hp=0000000000000000000000000000000000000000;hb=77d0c7ac9e3ebe1cecaf0c84e1501d3b6459055f;hpb=1e3954a988c6d6d946260019f25a4ad3262e01c4 diff --git a/data/filmgrain.glsl b/data/filmgrain.glsl new file mode 100644 index 0000000..9ae3d8f --- /dev/null +++ b/data/filmgrain.glsl @@ -0,0 +1,17 @@ +import postprocess; + +uniform sampler2DArray grain; +uniform GrainParams +{ + float coarseness; + float strength; +}; +uniform int grain_layer; + +#pragma MSP stage(fragment) +void main() +{ + vec3 gcoord = vec3(gl_FragCoord.xy/textureSize(grain, 0).xy/coarseness, grain_layer); + vec4 incoming = texture(source, texcoord); + frag_color = vec4(incoming.rgb*mix(1.0, texture(grain, gcoord).r, strength), incoming.a); +}