glsl-random

pseudo-random 2D noise for glslify

Usage no npm install needed!

<script type="module">
  import glslRandom from 'https://cdn.skypack.dev/glsl-random';
</script>

README

glsl-random experimental

The classic 'one-liner' for 2D pseudo-random values in GLSL. This uses a highp version for improved randomness and better stability across GPUs, see here:
http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/

However, the 'classic' lowp version (with no precision specified) is also included here. Some may find it useful for targeted mobile GPUs.

Noise

usage

#pragma glslify: random = require(glsl-random)

...
    float rnd = random(myVec.xy);

Typically you might use it like so:

gl_FragColor = vec4( vec3( random( gl_FragCoord.xy / resolution.xy ) ), 1.0 );

default precision

Requiring the following will give you a function that doesn't specify any precision:

#pragma glslify: random = require(glsl-random/lowp)

license

BSD-3-Clause