@absulit/points
Version:
A Generative Art library made in WebGPU
32 lines (25 loc) • 996 B
JavaScript
import { texturePosition } from '../../image.js';
import { snoise } from '../../noise2d.js';
const frag = /*wgsl*/`
${texturePosition}
${snoise}
fn main(
color: vec4f,
uv: vec2f,
ratio: vec2f, // relation between params.screen.x and params.screen.y
uvr: vec2f, // uv with aspect ratio corrected
mouse: vec2f,
position: vec4f
) -> vec4f {
let scale = params.waves_scale;
let intensity = params.waves_intensity;
let n1 = (snoise(uv / scale + vec2(.03, .4) * params.time) * .5 + .5) * intensity;
let n2 = (snoise(uv / scale + vec2(.3, .02) * params.time) * .5 + .5) * intensity;
let n = n1 + n2;
let imageColor = texturePosition(renderpass_feedbackTexture, renderpass_feedbackSampler, vec2(0., 0), uvr + n2, true);
let finalColor:vec4f = imageColor;
return finalColor;
}
`;
export default frag;