You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Returns a float for the monochromatic grain with the given options:
texCoord the UV coordinates of your scene
resolution the resolution of your scene in pixels, optionally scaled to adjust the grain size
frame the animation frame, which is an offset into the Z of the 3D noise
q is a coefficient for the offset calculation, and may evoke subtly different motion. Defaults to 2.5
blending tips
There are a lot of ways to blend the noise onto the 3D scene or image. The solution used in the demo uses glsl-blend-soft-light and glsl-luma.
vec3 g =vec3(grain(texCoord, p));
//blend the noise over the background, //i.e. overlay, soft light, additivevec3 color = blend(backgroundColor, g);
//get the luminance of the backgroundfloat luminance = luma(backgroundColor);
//reduce the noise based on some //threshold of the background luminancefloat response =smoothstep(0.05, 0.5, luminance);
color =mix(color, backgroundColor, pow(response, 2.0));
//final colorgl_FragColor=vec4(color, 1.0);