UNPKG

@absulit/points

Version:

A Generative Art library made in WebGPU

31 lines (25 loc) 742 B
/* @ts-self-types="./random.d.ts" */ const random=` var<private> a:i32 = 1664525; var<private> c:i32 = 1013904223; var<private> m = pow(2, 32); var<private> seed:i32 = 958736; fn nextRand() -> i32 { seed = (a * seed + c) % i32(m); return seed; } fn random() -> f32 { return f32(nextRand()) / f32(m) / .5; } `;const rand=` var<private> rand_seed : vec2f; fn rand() -> f32 { rand_seed.x = fract(cos(dot(rand_seed, vec2f(23.14077926, 232.61690225))) * 136.8168); rand_seed.y = fract(cos(dot(rand_seed, vec2f(54.47856553, 345.84153136))) * 534.7645); return rand_seed.y; } `;const rand2=` fn rand2(co: vec2f) -> f32 { return fract(sin(dot(co, vec2(12.9898, 78.233))) * 43758.5453); } `;export{rand,rand2,random};